android_kernel_xiaomi_sm8350/drivers/dma
Simon Guinot 863636828f dmaengine: fix interrupt clearing for mv_xor
When using simultaneously the two DMA channels on a same engine, some
transfers are never completed. For example, an endless lock can occur
while writing heavily on a RAID5 array (with async-tx offload support
enabled).

Note that this issue can also be reproduced by using the DMA test
client.

On a same engine, the interrupt cause register is shared between two
DMA channels. This patch make sure that the cause bit is only cleared
for the requested channel.

Signed-off-by: Simon Guinot <sguinot@lacie.com>
Tested-by: Luc Saillard <luc@saillard.org>
Acked-by: Saeed Bishara <saeed@marvell.com>
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
2010-09-19 22:43:41 -04:00
..
ioat ioat2: catch and recover from broken vtd configurations v6 2010-08-04 14:18:17 -07:00
ipu
ppc4xx of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
at_hdmac_regs.h
at_hdmac.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-08-09 21:00:07 -07:00
coh901318_lli.c
coh901318_lli.h
coh901318.c DMAENGINE: add runtime slave control to COH 901 318 v3 2010-08-04 14:15:44 -07:00
dmaengine.c
dmatest.c dma: dmatest: fix potential sign bug 2010-08-04 14:27:47 -07:00
dw_dmac_regs.h
dw_dmac.c
fsldma.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
fsldma.h
intel_mid_dma_regs.h intel_mid: Add Mrst & Mfld DMA Drivers 2010-07-27 23:32:57 -07:00
intel_mid_dma.c intel_mid: Add Mrst & Mfld DMA Drivers 2010-07-27 23:32:57 -07:00
iop-adma.c
iovlock.c
Kconfig Merge branches 'master' and 'devel' into for-linus 2010-08-10 23:17:52 +01:00
Makefile dmaengine: Driver for Topcliff PCH DMA controller 2010-08-04 14:12:05 -07:00
mpc512x_dma.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
mv_xor.c dmaengine: fix interrupt clearing for mv_xor 2010-09-19 22:43:41 -04:00
mv_xor.h
pch_dma.c DMAENGINE: pch_dma: kill another usage of __raw_{read|write}l 2010-08-04 22:08:45 -07:00
pl330.c DMA: PL330: Add dma api driver 2010-05-23 20:28:19 -07:00
shdma.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-05-31 13:14:26 +09:00
shdma.h
ste_dma40_ll.c DMAENGINE: ste_dma40: allocate LCLA dynamically 2010-06-22 18:01:55 -07:00
ste_dma40_ll.h DMAENGINE: ste_dma40: allocate LCLA dynamically 2010-06-22 18:01:55 -07:00
ste_dma40.c DMAENGINE: add runtime slave config to DMA40 v3 2010-08-04 14:14:05 -07:00
timb_dma.c drivers/dma: Eliminate a NULL pointer dereference 2010-07-01 02:27:35 -07:00
txx9dmac.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-05-21 17:05:46 -07:00
txx9dmac.h