shdma: fixup sh_dmae_get_partial() calculation error
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Wed, 24 Jul 2013 06:12:41 +0000 (23:12 -0700)
committerSimon Horman <horms+renesas@verge.net.au>
Wed, 31 Jul 2013 01:10:17 +0000 (10:10 +0900)
commit3c4d9276626c93477af0b0b9d46b4dcb37e2eed2
tree2b0e90112bfc90870094b08cb460db443a0d2779
parent16b551dd22cc7edacb952f7a2e175f36c3aa4bdb
shdma: fixup sh_dmae_get_partial() calculation error

sh_desc->hw.tcr is controlling real data size,
and, register TCR is controlling data transfer count
which was xmit_shifted value of hw.tcr.
Current sh_dmae_get_partial() is calculating in different unit.
This patch fixes it.

This bug has been present since c014906a870ce70e009def0c9d170ccabeb0be63
("dmaengine: shdma: extend .device_terminate_all() to record partial
transfer"), which was added in 2.6.34-rc1.

Cc: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
drivers/dma/sh/shdma.c