diff options
author | Ajay Kumar Gupta <[email protected]> | 2009-11-17 15:22:55 +0530 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2009-11-30 16:43:16 -0800 |
commit | dfeffa531ccf9c31f2f55df6d7ca86eec92142df (patch) | |
tree | 81dd260d9d219ebf55c48bbfddf2fc988e70d885 | |
parent | 1230435c258e34b47ab7adc3db572c88a284234a (diff) |
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 <[email protected]>
Signed-off-by: Babu Ravi <[email protected]>
Signed-off-by: Ajay Kumar Gupta <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
-rw-r--r-- | drivers/usb/musb/musb_host.c | 5 |
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; |