linux/drivers/dma
Dmitry Osipenko 156a599b07 dmaengine: tegra-apb: Support per-burst residue granularity
Tegra's APB DMA engine updates words counter after each transferred burst
of data, hence it can report transfer's residual with more fidelity which
may be required in cases like audio playback. In particular this fixes
audio stuttering during playback in a chromium web browser. The patch is
based on the original work that was made by Ben Dooks and a patch from
downstream kernel. It was tested on Tegra20 and Tegra30 devices.

Link: https://lore.kernel.org/lkml/20190424162348.23692-1-ben.dooks@codethink.co.uk/
Link: https://nv-tegra.nvidia.com/gitweb/?p=linux-4.4.git;a=commit;h=c7bba40c6846fbf3eaad35c4472dcc7d8bbc02e5
Inspired-by: Ben Dooks <ben.dooks@codethink.co.uk>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Link: https://lore.kernel.org/r/20190705150519.18171-1-digetx@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2019-07-25 15:55:51 +05:30
..
bestcomm treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
dw dmaengine: dw: Enable iDMA 32-bit on Intel Elkhart Lake 2019-06-25 10:03:33 +05:30
dw-axi-dmac dmaengine fixes for v5.2-rc4 2019-06-08 12:46:31 -07:00
dw-edma dmaengine: dw-edma: fix semicolon.cocci warnings 2019-06-25 09:59:36 +05:30
hsu dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
ioat treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
ipu treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mediatek dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
ppc4xx treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 7 2019-05-21 11:28:40 +02:00
qcom dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
sh dmaengine: rcar-dmac: Reject zero-length slave DMA requests 2019-06-25 10:08:22 +05:30
ti dmaengine: edma: make edma_filter_fn private 2019-07-22 20:57:04 +05:30
xilinx dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
acpi-dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
altera-msgdma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
amba-pl08x.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
at_hdmac_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
at_hdmac.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
at_xdmac.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
bcm2835-dma.c dmaengine: bcm2835: Print error in case setting DMA mask fails 2019-07-22 20:57:15 +05:30
bcm-sba-raid.c dmaengine: bcm-sba-raid: no need to check return value of debugfs_create functions 2019-06-14 11:14:58 +05:30
coh901318_lli.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
coh901318.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
coh901318.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
dma-axi-dmac.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
dma-jz4740.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dma-jz4780.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
dmaengine.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
dmaengine.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dmatest.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
ep93xx_dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fsl_raid.c dmaengine: fsl_raid: make of_device_ids const. 2017-06-29 09:25:28 +05:30
fsl_raid.h dmaengine: Driver support for FSL RaidEngine device. 2015-04-02 16:10:27 +05:30
fsl-edma-common.c dmaengine: Revert "dmaengine: fsl-edma: add i.mx7ulp edma2 version support" 2019-07-08 09:44:45 +05:30
fsl-edma-common.h dmaengine: Revert "dmaengine: fsl-edma: add i.mx7ulp edma2 version support" 2019-07-08 09:44:45 +05:30
fsl-edma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
fsl-qdma.c dmaengine: fsl-qdma: Continue to clear register on error 2019-06-04 17:35:05 +05:30
fsldma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 40 2019-05-24 17:27:12 +02:00
fsldma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 40 2019-05-24 17:27:12 +02:00
idma64.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
idma64.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
img-mdc-dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
imx-dma.c dmaengine updates for v5.1-rc1 2019-03-14 09:11:54 -07:00
imx-sdma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
iop-adma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
k3dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Kconfig dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
lpc18xx-dmamux.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Makefile dmaengine: Add Synopsys eDMA IP core driver 2019-06-10 13:10:39 +05:30
mcf-edma.c dmaengine: fsl-edma: add drvdata for fsl-edma 2019-07-03 13:28:22 +05:30
mic_x100_dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
mic_x100_dma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 290 2019-06-05 17:36:38 +02:00
mmp_pdma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mmp_tdma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
moxart-dma.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
mpc512x_dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 7 2019-05-21 11:28:40 +02:00
mv_xor_v2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
mv_xor.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
mv_xor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
mxs-dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
nbpfaxi.c dmaengine: nbpfaxi: Use dev_get_drvdata() 2019-04-29 10:47:15 +05:30
of-dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
owl-dma.c dmaengine: owl: Fix warnings generated during build 2018-10-15 22:39:16 +05:30
pch_dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
pl330.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
pxa_dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
s3c24xx-dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sa11x0-dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sirf-dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 2019-05-21 11:28:40 +02:00
sprd-dma.c dmaengine: sprd: Add interrupt support for 2-stage transfer 2019-05-21 19:23:54 +05:30
st_fdma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
st_fdma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ste_dma40_ll.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
ste_dma40_ll.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
ste_dma40.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
stm32-dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
stm32-dmamux.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
stm32-mdma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
sun4i-dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sun6i-dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
tegra20-apb-dma.c dmaengine: tegra-apb: Support per-burst residue granularity 2019-07-25 15:55:51 +05:30
tegra210-adma.c dmaengine fixes for v5.2-rc4 2019-06-08 12:46:31 -07:00
timb_dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
TODO dmaengine: dw: don't perform DMA when dmaengine_submit is called 2014-07-15 22:14:30 +05:30
txx9dmac.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
txx9dmac.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
uniphier-mdmac.c dmaengine: uniphier-mdmac: add UniPhier MIO DMAC driver 2018-11-24 19:42:59 +05:30
virt-dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
virt-dma.h dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
xgene-dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
zx_dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00