linux/drivers/dma
Robert Jarzmik f16921275c dmaengine: pxa_dma: fix cyclic transfers
While testing audio with pxa2xx-ac97, underrun were happening while the
user application was correctly feeding the music. Debug proved that the
cyclic transfer is not cyclic, ie. the last descriptor did not loop on
the first.

Another issue is that the descriptor length was always set to 8192,
because of an trivial operator issue.

This was tested on a pxa27x platform.

Fixes: a57e16cf03 ("dmaengine: pxa: add pxa dmaengine driver")
Reported-by: Vasily Khoruzhick <anarsoul@gmail.com>
Tested-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2016-03-03 21:06:45 +05:30
..
bestcomm
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
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
Kconfig sound updates for 4.5-rc1 2016-01-17 12:05:31 -08:00
Makefile dmaengine: Add STM32 DMA driver 2015-11-16 08:56:10 +05:30
TODO
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 fixes for 4.5-rc1 2016-01-20 10:15:21 -08:00
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
dma-axi-dmac.c dmaengine: axi_dmac: Add synchronization support 2015-11-16 08:28:52 +05:30
dma-jz4740.c
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
edma.c dmaengine: edma: fix residue race for cyclic 2016-02-08 08:42:55 +05:30
ep93xx_dma.c
fsl-edma.c dmaengine: fsl-edma: add PM suspend/resume support 2015-12-05 15:52:13 +05:30
fsl_raid.c
fsl_raid.h
fsldma.c dmaengine: fsldma: Fix module autoload for OF platform driver 2015-10-01 07:34:31 +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
lpc18xx-dmamux.c dmaengine: add driver for lpc18xx dmamux 2015-08-18 22:12:14 +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
nbpfaxi.c
of-dma.c
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
s3c24xx-dma.c
sa11x0-dma.c
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
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