]> git.baikalelectronics.ru Git - kernel.git/commit
dmaengine: zx: fix residue calculation
authorShawn Guo <shawn.guo@linaro.org>
Thu, 15 Dec 2016 14:03:37 +0000 (22:03 +0800)
committerVinod Koul <vinod.koul@intel.com>
Mon, 2 Jan 2017 05:23:48 +0000 (10:53 +0530)
commit829c12b711364bbd5f14d4bc11d838fe1cd38da1
tree207ea5eb1dd71d8ddb2887cab1307127b133b871
parent628112b42c6be253cff97ad6a8b05f279f8aa3b4
dmaengine: zx: fix residue calculation

The dma residue is defined as the free space to end of transfer buffer,
which could be multiple segments chained together.  So the residue
calculation in zx_dma_tx_status() works for both slave_sg and cyclic
case.  But unfortunately, the 'index' is wrong.  It should plus one,
because the current segment is already occupied and shouldn't be counted
into free space.

This fixes the HDMI audio noise issue we see on ZX296718 with SPDIF
interface.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Jun Nie <jun.nie@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/zx_dma.c