android_kernel_samsung_univ.../drivers/dma
Jiada Wang 3cd99a14aa dmaengine: imx-sdma: add 1ms delay to ensure SDMA channel is stopped
[ Upstream commit 7f3ff14b7eb1ffad132117f08a1973b48e653d43 ]

sdma_disable_channel() cannot ensure dma is stopped to access
module's FIFOs. There is chance SDMA core is running and accessing
BD when disable of corresponding channel, this may cause sometimes
even after call of .sdma_disable_channel(), SDMA core still be
running and accessing module's FIFOs.

According to NXP R&D team a delay of one BD SDMA cost time (maximum
is 1ms) should be added after disable of the channel bit, to ensure
SDMA core has really been stopped after SDMA clients call
.device_terminate_all.

This patch introduces adds a new function sdma_disable_channel_with_delay()
which simply adds 1ms delay after call sdma_disable_channel(),
and set it as .device_terminate_all.

Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-22 09:23:22 +01:00
..
bestcomm
dw dmaengine: dw: fix master selection 2016-05-04 14:48:42 -07:00
hsu dmaengine: hsu: correct use of channel status register 2016-05-04 14:48:42 -07:00
ioat dmaengine: ioat: Fix error handling path 2018-02-25 11:03:40 +01:00
ipu dmaengine: ipu: Make sure the interrupt routine checks all interrupts. 2017-03-12 06:37:30 +01:00
ppc4xx
sh dmaengine: usb-dmac: Fix DMAOR AE bit definition 2017-06-14 13:16:21 +02:00
xilinx
acpi-dma.c
amba-pl08x.c
at_hdmac_regs.h
at_hdmac.c dmaengine: at_hdmac: fix potential NULL pointer dereference in atc_prep_dma_interleaved 2018-02-25 11:03:41 +01:00
at_xdmac.c dmaengine: at_xdmac: fix spurious flag status for mem2mem transfers 2016-11-18 10:48:36 +01:00
bcm2835-dma.c
coh901318_lli.c
coh901318.c
coh901318.h
cppi41.c
dma-axi-dmac.c
dma-jz4740.c dmaengine: jz4740: disable/unprepare clk if probe fails 2018-02-25 11:03:41 +01:00
dma-jz4780.c
dmaengine.c dmaengine: Fix array index out of bounds warning in __get_unmap_pool() 2017-12-20 10:04:54 +01:00
dmaengine.h
dmatest.c dmaengine: dmatest: fix container_of member in dmatest_callback 2018-02-16 20:09:39 +01:00
edma.c dmaengine: edma: Align the memcpy acnt array size with the transfer 2017-10-18 09:20:41 +02:00
ep93xx_dma.c dmaengine: ep93xx: Always start from BASE0 2017-06-14 13:16:22 +02:00
fsl_raid.c
fsl_raid.h
fsl-edma.c
fsldma.c
fsldma.h
idma64.c
idma64.h
img-mdc-dma.c
imx-dma.c
imx-sdma.c dmaengine: imx-sdma: add 1ms delay to ensure SDMA channel is stopped 2018-03-22 09:23:22 +01:00
iop-adma.c
k3dma.c
Kconfig
lpc18xx-dmamux.c
Makefile
mic_x100_dma.c dmaengine: Revert "dmaengine: mic_x100: add missing spin_unlock" 2016-01-06 15:16:36 +05:30
mic_x100_dma.h
mmp_pdma.c
mmp_tdma.c
moxart-dma.c
mpc512x_dma.c
mv_xor.c
mv_xor.h
mxs-dma.c
nbpfaxi.c
of-dma.c
omap-dma.c
pch_dma.c
pl330.c dmaengine: pl330: fix double lock 2017-12-09 18:42:43 +01:00
pxa_dma.c dmaengine: pxa_dma: fix the maximum requestor line 2016-05-04 14:48:42 -07:00
qcom_bam_dma.c
s3c24xx-dma.c
sa11x0-dma.c
sirf-dma.c
ste_dma40_ll.c
ste_dma40_ll.h
ste_dma40.c
sun4i-dma.c
sun6i-dma.c
tegra20-apb-dma.c
ti-dma-crossbar.c dmaengine: ti-dma-crossbar: Correct am335x/am43xx mux value type 2017-12-20 10:04:58 +01:00
timb_dma.c
TODO
txx9dmac.c
txx9dmac.h
virt-dma.c
virt-dma.h
xgene-dma.c dmaengine: xgene-dma: Fix double IRQ issue by setting IRQ_DISABLE_UNLAZY flag 2016-01-07 11:09:36 +05:30
zx296702_dma.c dmaengine: zx: fix build warning 2018-02-25 11:03:50 +01:00