aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAjay Kumar Gupta <ajay.gupta@ti.com>2009-11-17 15:22:55 +0530
committerGreg Kroah-Hartman <gregkh@suse.de>2009-11-30 16:43:16 -0800
commitdfeffa531ccf9c31f2f55df6d7ca86eec92142df (patch)
tree81dd260d9d219ebf55c48bbfddf2fc988e70d885
parentUSB: musb: Remove unwanted message in boot log (diff)
downloadlinux-dev-dfeffa531ccf9c31f2f55df6d7ca86eec92142df.tar.xz
linux-dev-dfeffa531ccf9c31f2f55df6d7ca86eec92142df.zip
USB: musb: fix ISOC Tx programming for CPPI DMAs
Isochronous Tx DMA is getting programmed but never getting started for CPPI and TUSB DMAs and thus Isochronous Tx doesn't work. Fixing it by starting DMAs using musb_h_tx_dma_start(). Signed-off-by: Swaminathan S <swami.iyer@ti.com> Signed-off-by: Babu Ravi <ravibabu@ti.com> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/musb/musb_host.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
index cf94511485f2..e3ab40a966eb 100644
--- a/drivers/usb/musb/musb_host.c
+++ b/drivers/usb/musb/musb_host.c
@@ -1301,8 +1301,11 @@ void musb_host_tx(struct musb *musb, u8 epnum)
return;
} else if (usb_pipeisoc(pipe) && dma) {
if (musb_tx_dma_program(musb->dma_controller, hw_ep, qh, urb,
- offset, length))
+ offset, length)) {
+ if (is_cppi_enabled() || tusb_dma_omap())
+ musb_h_tx_dma_start(hw_ep);
return;
+ }
} else if (tx_csr & MUSB_TXCSR_DMAENAB) {
DBG(1, "not complete, but DMA enabled?\n");
return;