dmaengine: edma: Sanitize residue reporting
authorThomas Gleixner <tglx@linutronix.de>
Mon, 28 Apr 2014 19:18:45 +0000 (14:18 -0500)
committerVinod Koul <vinod.koul@intel.com>
Wed, 30 Apr 2014 05:01:56 +0000 (10:31 +0530)
commitb6205c39011e52e2f7983c3dba01ee51524ae29c
tree507cf4cec118f20f2a7b8004f2ed2bf7defbc5f4
parent9aac90960b079652c37e24b677d8086012bb8882
dmaengine: edma: Sanitize residue reporting

The residue reporting in edma_tx_status() is just broken. It blindly
walks the psets and recalculates the lenght of the transfer from the
hardware parameters. For cyclic transfers it adds the link pset, which
results in interestingly large residues. For non-cyclic it adds the
dummy pset, which is stupid as well.

Aside of that it's silly to walk through the pset params when the per
descriptor residue is known at the point of creating it.

Store the information in edma_desc and use it.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Joel Fernandes <joelf@ti.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/edma.c