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
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
fsl-edma.c
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
mic_x100_dma.h
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
nbpfaxi.c
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
TODO
txx9dmac.c
txx9dmac.h
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