linux_dsm_epyc7002/drivers/dma
Xiang Wang 26a2dfdeb9 dma: mmp_pdma: clear DRCMR when free a phy channel
In mmp pdma, phy channels are allocated/freed dynamically.
The mapping from DMA request to DMA channel number in DRCMR
should be cleared when a phy channel is freed. Otherwise
conflicts will happen when:
1. A is using channel 2 and free it after finished, but A
still maps to channel 2 in DRCMR of A.
2. Now another one B gets channel 2. So B maps to channel 2
too in DRCMR of B.
In the datasheet, it is described that "Do not map two active
requests to the same channel since it produces unpredictable
results" and we can observe that during test.

Signed-off-by: Xiang Wang <wangx@marvell.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2013-08-05 09:32:27 +05:30
..
bestcomm Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-02-23 17:09:55 -08:00
dw dma: dw: return DMA_PAUSED only if cookie status is DMA_IN_PROGRESS 2013-08-05 09:32:26 +05:30
ioat drivers/dma: remove unused support for MEMSET operations 2013-07-03 16:07:42 -07:00
ipu ipu_idmac: re-use dma_cookie_status() 2013-08-05 09:32:25 +05:30
ppc4xx Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2013-07-07 11:11:43 -07:00
sh DMA: shdma: add DT support 2013-07-05 11:41:00 +05:30
acpi-dma.c acpi-dma: fix sparse warning 2013-08-05 09:32:25 +05:30
amba-pl08x.c dmaengine: PL08x: Avoid collisions with get_signal() macro 2013-07-05 11:40:47 +05:30
at_hdmac_regs.h DMA: AT91: Get residual bytes in dma buffer 2013-07-05 11:40:31 +05:30
at_hdmac.c dmaengine: at_hdmac: prepare clk before calling enable 2013-07-05 11:40:57 +05:30
coh901318_lli.c Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2013-02-26 09:24:48 -08:00
coh901318.c dma: coh901318: add devicetree support 2013-06-17 13:54:27 +02:00
coh901318.h dma: coh901318: merge header files 2013-01-07 17:36:37 +01:00
dma-jz4740.c MIPS: jz4740: Remove custom DMA API 2013-07-05 11:40:52 +05:30
dmaengine.c drivers/dma: remove unused support for MEMSET operations 2013-07-03 16:07:42 -07:00
dmaengine.h dmaengine: consolidate initialization of cookies 2012-03-13 11:37:22 +05:30
dmatest.c dmatest: do not allow to interrupt ongoing tests 2013-06-08 02:13:44 +05:30
edma.c edma: no need to assign residue to 0 explicitly 2013-08-05 09:32:24 +05:30
ep93xx_dma.c ep93xx_dma: remove useless use of lock 2013-08-05 09:32:24 +05:30
fsldma.c fsldma: remove useless use of lock 2013-08-05 09:32:24 +05:30
fsldma.h dmaengine: move last completed cookie into generic dma_chan structure 2012-03-13 11:36:06 +05:30
imx-dma.c DMA: imx-dma: imxdma->dev used uninitialized 2013-07-05 11:40:27 +05:30
imx-sdma.c imx-sdma: remove useless variable 2013-08-05 09:32:24 +05:30
intel_mid_dma_regs.h dma: fix comments 2012-09-01 08:57:12 -07:00
intel_mid_dma.c PM / Runtime: Rework the "runtime idle" helper routine 2013-06-03 21:49:52 +02:00
iop-adma.c drivers/dma/iop-adma.c: fix new warnings 2013-07-09 10:33:19 -07:00
iovlock.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Kconfig Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2013-07-07 11:11:43 -07:00
Makefile dma: Add a jz4740 dmaengine driver 2013-07-05 11:40:50 +05:30
mmp_pdma.c dma: mmp_pdma: clear DRCMR when free a phy channel 2013-08-05 09:32:27 +05:30
mmp_tdma.c mmp_tdma: set cookies as well when asked for tx status 2013-08-05 09:32:25 +05:30
mpc512x_dma.c mpc512x_dma: remove useless use of lock 2013-08-05 09:32:25 +05:30
mv_xor.c drivers/dma: remove unused support for MEMSET operations 2013-07-03 16:07:42 -07:00
mv_xor.h drivers/dma: remove unused support for MEMSET operations 2013-07-03 16:07:42 -07:00
mxs-dma.c mxs-dma: remove useless variable 2013-08-05 09:32:24 +05:30
of-dma.c dma: of: Remove check on always true condition 2013-06-12 07:49:19 +05:30
omap-dma.c dmaengine: OMAP: Register SDMA controller with Device Tree DMA driver 2013-04-15 09:51:19 +05:30
pch_dma.c pch_dma: remove useless use of lock 2013-08-05 09:32:25 +05:30
pl330.c dma: pl330: Fix cyclic transfers 2013-07-28 19:08:33 +05:30
sa11x0-dma.c Drivers: dma: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
sirf-dma.c dmaengine: sirf: set dma residue based on the current dma transfer position 2013-07-05 11:40:39 +05:30
ste_dma40_ll.c dmaengine: ste_dma40_ll: Replace meaningless register set with comment 2013-06-04 11:12:10 +02:00
ste_dma40_ll.h dmaengine: ste_dma40: Remove unnecessary call to d40_phy_cfg() 2013-05-23 21:13:19 +02:00
ste_dma40.c DMA40 fixes for earlier submitted driver patches: 2013-06-25 11:20:15 -07:00
tegra20-apb-dma.c tegra20-apb-dma: remove useless use of lock 2013-08-05 09:32:25 +05:30
timb_dma.c dma: timb_dma: remove unnecessary platform_set_drvdata() 2013-07-05 11:40:35 +05:30
TODO dmaengine: remove ste_dma40 from issue_pending TODO 2011-07-14 04:02:08 +05:30
txx9dmac.c txx9dmac: return DMA_SUCCESS immediately from device_tx_status() 2013-08-05 09:32:25 +05:30
txx9dmac.h dmaengine: move last completed cookie into generic dma_chan structure 2012-03-13 11:36:06 +05:30
virt-dma.c dmaengine: virt-dma: add support for cyclic DMA periodic callbacks 2012-07-01 14:15:23 +01:00
virt-dma.h dmaengine: virt-dma: add support for cyclic DMA periodic callbacks 2012-07-01 14:15:23 +01:00