mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
USB: musb: Enable the maximum supported burst mode for DMA
Setting MUSB Burst Mode 3 automatically enables support for lower burst modes (BURST4, BURST8, BURST16 or bursts of unspecified length). There is no need to set these burst modes based on the packet size. Also enable the burst mode for both mode1 and mode0. This is a fix for buggy hardware - having the lower burst modes enabled can potentially cause lockups of the DMA engine used in OMAP2/3/4 chips. Signed-off-by: Hema HK <[email protected]> Signed-off-by: Anand Gadiyar <[email protected]> Signed-off-by: Ajay Kumar Gupta <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
parent
f2263db74a
commit
c0f1f8e38f
1 changed files with 2 additions and 11 deletions
|
|
@ -132,18 +132,9 @@ static void configure_channel(struct dma_channel *channel,
|
|||
if (mode) {
|
||||
csr |= 1 << MUSB_HSDMA_MODE1_SHIFT;
|
||||
BUG_ON(len < packet_sz);
|
||||
|
||||
if (packet_sz >= 64) {
|
||||
csr |= MUSB_HSDMA_BURSTMODE_INCR16
|
||||
<< MUSB_HSDMA_BURSTMODE_SHIFT;
|
||||
} else if (packet_sz >= 32) {
|
||||
csr |= MUSB_HSDMA_BURSTMODE_INCR8
|
||||
<< MUSB_HSDMA_BURSTMODE_SHIFT;
|
||||
} else if (packet_sz >= 16) {
|
||||
csr |= MUSB_HSDMA_BURSTMODE_INCR4
|
||||
<< MUSB_HSDMA_BURSTMODE_SHIFT;
|
||||
}
|
||||
}
|
||||
csr |= MUSB_HSDMA_BURSTMODE_INCR16
|
||||
<< MUSB_HSDMA_BURSTMODE_SHIFT;
|
||||
|
||||
csr |= (musb_channel->epnum << MUSB_HSDMA_ENDPOINT_SHIFT)
|
||||
| (1 << MUSB_HSDMA_ENABLE_SHIFT)
|
||||
|
|
|
|||
Loading…
Reference in a new issue