Browse Source

usb: musb: host: move DMA engine check from musb_tx_dma_set_mode_cppi_tusb() to its caller

Commit 754fe4a92c07 ("usb: musb: Remove ifdefs for TX DMA for musb_host.c")
looks incomplete: the DMA engine checks are  done outside the Mentor/UX500
handler  but inside the CPPI/TUSB handler. Move the checks out of the CPPI/
TUSB handler into its caller, musb_tx_dma_program().

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
[b-liu@ti.com: revise subject prefix]
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sergei Shtylyov 9 years ago
parent
commit
858b9be7fd
1 changed files with 3 additions and 4 deletions
  1. 3 4
      drivers/usb/musb/musb_host.c

+ 3 - 4
drivers/usb/musb/musb_host.c

@@ -684,9 +684,6 @@ static int musb_tx_dma_set_mode_cppi_tusb(struct dma_controller *dma,
 {
 	struct dma_channel *channel = hw_ep->tx_channel;
 
-	if (!is_cppi_enabled(hw_ep->musb) && !tusb_dma_omap(hw_ep->musb))
-		return -ENODEV;
-
 	channel->actual_len = 0;
 
 	/*
@@ -710,9 +707,11 @@ static bool musb_tx_dma_program(struct dma_controller *dma,
 	if (musb_dma_inventra(hw_ep->musb) || musb_dma_ux500(hw_ep->musb))
 		res = musb_tx_dma_set_mode_mentor(dma, hw_ep, qh, urb,
 						 offset, &length, &mode);
-	else
+	else if (is_cppi_enabled(hw_ep->musb) || tusb_dma_omap(hw_ep->musb))
 		res = musb_tx_dma_set_mode_cppi_tusb(dma, hw_ep, qh, urb,
 						     offset, &length, &mode);
+	else
+		return false;
 	if (res)
 		return false;