Ludovic Desroches
25c5e9626c
dmaengine: at_xdmac: fix residue computation
...
When computing the residue we need two pieces of information: the current
descriptor and the remaining data of the current descriptor. To get
that information, we need to read consecutively two registers but we
can't do it in an atomic way. For that reason, we have to check manually
that current descriptor has not changed.
Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Suggested-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
Reported-by: David Engraf <david.engraf@sysgo.com>
Tested-by: David Engraf <david.engraf@sysgo.com>
Fixes: e1f7c9eee7 ("dmaengine: at_xdmac: creation of the atmel
eXtended DMA Controller driver")
Cc: stable@vger.kernel.org #4.1 and later
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2016-03-10 16:32:36 +05:30
..
bestcomm
dmaengine: constify of_device_id array
2015-03-18 22:13:14 +05:30
dw
dmaengine: dw: disable BLOCK IRQs for non-cyclic xfer
2016-02-15 22:19:32 +05:30
hsu
dmaengine: hsu: speed up residue calculation
2015-12-05 14:00:34 +05:30
ioat
dmaengine: IOATDMA: fix timer code that continues to restart channels during idle
2016-01-30 22:29:03 +05:30
ipu
genirq: Remove irq argument from irq flow handlers
2015-09-16 15:47:51 +02:00
ppc4xx
dmaengine: Remove FSF mailing addresses
2015-03-16 22:28:15 +05:30
sh
dmaengine updates for 4.5-rc1
2016-01-13 10:59:52 -08:00
xilinx
dmaengine: xilinx: Fix module autoload for OF platform driver
2015-10-01 07:35:39 +05:30
acpi-dma.c
dmaengine: acpi-dma: check for 64-bit MMIO address
2015-12-05 14:00:34 +05:30
amba-pl08x.c
dmaengine: pl08x: support dt channel assignment
2015-08-18 22:12:14 +05:30
at_hdmac.c
dmaengine: at_hdmac: use %pad format string for dma_addr_t
2015-11-16 09:21:05 +05:30
at_hdmac_regs.h
dmaengine: at_hdmac: use %pad format string for dma_addr_t
2015-11-16 09:21:05 +05:30
at_xdmac.c
dmaengine: at_xdmac: fix residue computation
2016-03-10 16:32:36 +05:30
bcm2835-dma.c
dmaengine: bcm2835-dma: Convert to use DMA pool
2015-12-05 15:36:32 +05:30
coh901318.c
dmaengine: Add an enum for the dmaengine alignment constraints
2015-08-05 10:53:52 +05:30
coh901318.h
coh901318_lli.c
cppi41.c
dmaengine: cppi41: add missing bitfields
2015-04-11 21:12:58 +05:30
dma-axi-dmac.c
dmaengine: axi_dmac: Add synchronization support
2015-11-16 08:28:52 +05:30
dma-jz4740.c
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2015-04-24 09:49:37 -07:00
dma-jz4780.c
dmaengine: jz4780: Kill tasklets before unregistering the device
2015-08-18 22:28:50 +05:30
dmaengine.c
Merge branch 'topic/async' into for-linus
2016-01-06 15:17:47 +05:30
dmaengine.h
dmatest.c
kernel/params: constify struct kernel_param_ops uses
2015-05-28 11:32:10 +09:30
edma.c
dmaengine: edma: fix residue race for cyclic
2016-02-08 08:42:55 +05:30
ep93xx_dma.c
dmaengine: ep93xx: Constify platform_device_id
2015-05-04 16:38:55 +05:30
fsl-edma.c
dmaengine: fsl-edma: add PM suspend/resume support
2015-12-05 15:52:13 +05:30
fsl_raid.c
dmaengine: fsl_raid: statify fsl_re_chan_probe
2015-04-02 16:11:35 +05:30
fsl_raid.h
dmaengine: Driver support for FSL RaidEngine device.
2015-04-02 16:10:27 +05:30
fsldma.c
dmaengine: fsldma: fix memory leak
2016-03-09 12:15:22 +05:30
fsldma.h
idma64.c
dmaengine: idma64: use local variable to index descriptor
2015-12-05 13:54:28 +05:30
idma64.h
dmaengine: idma64: set maximum allowed segment size for DMA
2015-12-05 13:54:28 +05:30
img-mdc-dma.c
dmaengine: mdc: Correct terminate_all handling
2015-12-18 11:12:29 +05:30
imx-dma.c
dmaengine: Add an enum for the dmaengine alignment constraints
2015-08-05 10:53:52 +05:30
imx-sdma.c
dmaengine: imx-sdma: remove __init annotation on sdma_event_remap
2015-11-16 09:14:25 +05:30
iop-adma.c
drivers/dma/iop-adma: Use dma_alloc_writecombine() kernel-style
2015-08-25 09:59:46 +02:00
k3dma.c
dmaengine: Add an enum for the dmaengine alignment constraints
2015-08-05 10:53:52 +05:30
Kconfig
sound updates for 4.5-rc1
2016-01-17 12:05:31 -08:00
lpc18xx-dmamux.c
dmaengine: add driver for lpc18xx dmamux
2015-08-18 22:12:14 +05:30
Makefile
dmaengine: Add STM32 DMA driver
2015-11-16 08:56:10 +05:30
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
dmaengine: Add an enum for the dmaengine alignment constraints
2015-08-05 10:53:52 +05:30
mmp_pdma.c
dmaengine: Add an enum for the dmaengine alignment constraints
2015-08-05 10:53:52 +05:30
mmp_tdma.c
dmaengine: Add an enum for the dmaengine alignment constraints
2015-08-05 10:53:52 +05:30
moxart-dma.c
dmaengine: moxart-dma: Fix module autoload for OF platform driver
2015-10-01 07:34:31 +05:30
mpc512x_dma.c
dmaengine: mpc512x: Fix module autoload for OF platform driver
2015-10-01 07:34:31 +05:30
mv_xor.c
dmaengine: mv_xor: add suspend/resume support
2016-01-06 15:42:27 +05:30
mv_xor.h
dmaengine: mv_xor: add suspend/resume support
2016-01-06 15:42:27 +05:30
mxs-dma.c
dmaengine: mxs: Constify platform_device_id
2015-05-04 16:38:55 +05:30
nbpfaxi.c
dmaengine: nbpfaxi: Constify platform_device_id
2015-05-04 16:38:55 +05:30
of-dma.c
dmaengine: of_dma: Support for DMA routers
2015-05-09 17:11:25 +05:30
omap-dma.c
Merge branch 'topic/omap' into for-linus
2016-01-06 15:18:19 +05:30
pch_dma.c
dmaengine: Remove remaining FSF mailing addresses
2015-07-06 19:18:53 +05:30
pl330.c
dmaengine updates for 4.3-rc1
2015-09-04 11:10:18 -07:00
pxa_dma.c
dmaengine: pxa_dma: fix cyclic transfers
2016-03-03 21:06:45 +05:30
qcom_bam_dma.c
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2015-04-24 09:49:37 -07:00
s3c24xx-dma.c
dmaengine: s3c24xx: Constify platform_device_id
2015-05-04 16:38:55 +05:30
sa11x0-dma.c
dmaengine: sa11x0: report slave capabilities to upper layers
2015-04-17 23:24:35 +05:30
sirf-dma.c
dmaengine: sirf: Fix module autoload for OF platform driver
2015-10-01 07:34:31 +05:30
ste_dma40.c
ste_dma40: Delete an unnecessary variable initialisation in d40_probe()
2015-12-10 09:17:10 +05:30
ste_dma40_ll.c
ste_dma40_ll.h
stm32-dma.c
dmaengine: stm32-dma: Fix unchecked deference of chan->desc
2015-12-10 09:45:22 +05:30
sun4i-dma.c
dmaengine: sun4i: fix unsafe list iteration
2015-09-30 12:17:22 +05:30
sun6i-dma.c
dmaengine: sun6i: Fix module autoload for OF platform driver
2015-10-01 07:35:26 +05:30
tegra20-apb-dma.c
dmaengine: tegra-apb: Free interrupts before killing tasklets
2015-12-05 16:13:08 +05:30
ti-dma-crossbar.c
dmaengine: ti-dma-crossbar: dra7: Support for reserving DMA event ranges
2015-11-30 15:09:16 +05:30
timb_dma.c
dmaengine: Remove remaining FSF mailing addresses
2015-07-06 19:18:53 +05:30
TODO
txx9dmac.c
txx9dmac.h
virt-dma.c
dmaengine: virt-dma: don't always free descriptor upon completion
2015-11-16 08:32:16 +05:30
virt-dma.h
Merge branch 'topic/async' into for-linus
2016-01-06 15:17:47 +05:30
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 updates for 4.4-rc1
2015-11-10 10:05:17 -08:00