OSDN Git Service

dmaengine: tegra-apb: Support per-burst residue granularity
authorDmitry Osipenko <digetx@gmail.com>
Fri, 5 Jul 2019 15:05:19 +0000 (18:05 +0300)
committerVinod Koul <vkoul@kernel.org>
Thu, 25 Jul 2019 10:25:51 +0000 (15:55 +0530)
commit156a599b0716ab3ee3869ff26119e3b5d46d91c8
tree3b01d5263406195af69ad9a6afe7fcdb4c0fd01f
parent72503b25ee363827aafffc3e8d872e6a92a7e422
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>
drivers/dma/tegra20-apb-dma.c