Krzysztof Kozlowski
88d04643c6
dmaengine: Fix choppy sound because of unimplemented resume
...
Some drivers implement only pause operation (no resuming). Example is
pl330 where pause is needed for getting residuum. pl330 does not support
resume operation, transfer must be stopped after pause.
However for slaves this is exposed always as "pause and resume" which
introduces subtle errors on Odroid U3 board (Exynos4412 with pl330).
After adding pause function to pl330 driver the audio playback
(utilizing DMA) gets choppy after some time (approximately 24 hours).
Fix this by exposing "cmd_pause" if and only if pause and resume are
implemented.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reported-by: gabriel@unseen.is
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: <stable@vger.kernel.org>
Fixes: 88987d2c75 ("dmaengine: pl330: add DMA_PAUSE feature")
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2015-06-12 15:22:26 +05:30
..
bestcomm
dmaengine: constify of_device_id array
2015-03-18 22:13:14 +05:30
dw
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2015-04-24 09:49:37 -07:00
hsu
dmaengine: hsu: Fix memory leak when stopping a running transfer
2015-06-02 18:33:08 +05:30
ioat
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2015-04-24 09:49:37 -07:00
ipu
dmaengine: ipu-idmac: Split device_control
2014-12-22 12:28:59 +05:30
ppc4xx
dmaengine: Remove FSF mailing addresses
2015-03-16 22:28:15 +05:30
sh
dmaengine: usb-dmac: Protect PM-only functions to kill warning
2015-04-27 08:36:02 +05:30
xilinx
dmaengine: xilinx-dma: move header file to common location
2015-03-17 16:23:21 +05:30
acpi-dma.c
resources: Move struct resource_list_entry from ACPI into resource core
2015-02-05 15:09:25 +01:00
amba-pl08x.c
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2015-04-24 09:49:37 -07:00
at_hdmac.c
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2015-04-24 09:49:37 -07:00
at_hdmac_regs.h
dmaengine: at_hdmac: Fix calculation of the residual bytes
2015-03-13 14:58:31 +05:30
at_xdmac.c
dmaengine: at_xdmac: rework slave configuration part
2015-06-08 16:27:09 +05:30
bcm2835-dma.c
dmaengine: bcm2835-dma: Fix memory leak when stopping a running transfer
2015-03-30 23:17:08 +05:30
coh901318.c
dmaengine: coh901318: fix function return types build warnings
2015-01-18 20:01:36 +05:30
coh901318.h
coh901318_lli.c
cppi41.c
dmaengine: cppi41: add missing bitfields
2015-04-11 21:12:58 +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: add driver for the Ingenic JZ4780 DMA controller
2015-04-01 08:43:49 +05:30
dmaengine.c
dmaengine: Fix choppy sound because of unimplemented resume
2015-06-12 15:22:26 +05:30
dmaengine.h
dmatest.c
dmatest: move src_off, dst_off, len inside loop
2015-02-04 18:17:21 -08:00
edma.c
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2015-04-24 09:49:37 -07:00
ep93xx_dma.c
dmaengine: ep93xx: update the driver comments
2014-12-22 20:27:25 +05:30
fsl-edma.c
dmaengine: fsl-edma: Declare slave capabilities for the generic code
2014-12-22 12:33:23 +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: remove the unused variable
2015-01-13 23:58:08 +05:30
fsldma.h
dmaengine: fsldma: declare slave capabilities for the generic code
2015-01-13 23:58:08 +05:30
img-mdc-dma.c
dmaengine: img-mdc: remove device_alloc_chan_resources handler
2015-03-18 22:44:58 +05:30
imx-dma.c
Merge branch 'topic/slave_caps_device_control_fix_rebased' into for-linus
2015-02-02 16:55:35 -08:00
imx-sdma.c
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2015-04-24 09:49:37 -07:00
iop-adma.c
dmaengine: Remove FSF mailing addresses
2015-03-16 22:28:15 +05:30
k3dma.c
Merge branch 'topic/alloc_removal' into for-linus
2015-03-18 22:46:19 +05:30
Kconfig
dmaengine: xgene: Set hardware dependency
2015-04-27 08:36:02 +05:30
Makefile
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2015-04-24 09:49:37 -07:00
mic_x100_dma.c
dma: MIC X100 DMA Driver
2014-07-12 09:57:42 -07:00
mic_x100_dma.h
dma: MIC X100 DMA Driver
2014-07-12 09:57:42 -07:00
mmp_pdma.c
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2015-04-24 09:49:37 -07:00
mmp_tdma.c
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2015-04-24 09:49:37 -07:00
moxart-dma.c
dmaengine: moxart-dma: Fix memory leak when stopping a running transfer
2015-03-30 23:17:08 +05:30
mpc512x_dma.c
dmaengine: constify of_device_id array
2015-03-18 22:13:14 +05:30
mv_xor.c
dmaengine: constify of_device_id array
2015-03-18 22:13:14 +05:30
mv_xor.h
dmaengine: Remove FSF mailing addresses
2015-03-16 22:28:15 +05:30
mxs-dma.c
dmaengine: mxs-dma: Declare slave capabilities for the generic code
2015-01-13 23:48:40 +05:30
nbpfaxi.c
dmaengine: nbpfaxi: update the driver comments
2014-12-22 20:28:04 +05:30
of-dma.c
dmaengine: export symbol of of_dma_request_slave_channel()
2015-03-07 15:03:13 +00:00
omap-dma.c
dmaengine: omap-dma: Fix memory leak when terminating running transfer
2015-03-30 23:17:08 +05:30
pch_dma.c
dmaengine: pch_dma: fix memory leak on failure path in pch_dma_probe()
2015-04-17 23:41:46 +05:30
pl330.c
dmaengine: pl330: Fix hang on dmaengine_terminate_all on certain boards
2015-05-22 18:01:03 +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: remove device_alloc_chan_resources handler
2015-03-18 22:45:36 +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: constify of_device_id array
2015-03-18 22:13:14 +05:30
ste_dma40.c
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2015-04-24 09:49:37 -07:00
ste_dma40_ll.c
ste_dma40_ll.h
sun6i-dma.c
Merge branch 'topic/alloc_removal' into for-linus
2015-03-18 22:46:19 +05:30
tegra20-apb-dma.c
dmaengine: tegra: add slave capabilities reporting
2015-01-14 00:00:30 +05:30
timb_dma.c
dmaengine: td: Rename device_control
2014-12-22 12:33:22 +05:30
TODO
dmaengine: dw: don't perform DMA when dmaengine_submit is called
2014-07-15 22:14:30 +05:30
txx9dmac.c
dmaengine: txx9: Rename device_control
2014-12-22 12:33:22 +05:30
txx9dmac.h
MIPS: Replace MIPS-specific 64BIT_PHYS_ADDR with generic PHYS_ADDR_T_64BIT
2014-11-24 22:46:44 +01:00
virt-dma.c
virt-dma.h
xgene-dma.c
dmaengine: fix platform_no_drv_owner.cocci warnings
2015-04-17 23:43:18 +05:30