Re: [PATCH resend] shdma: fixup sh_dmae_get_partial() calculationerror

From: Simon Horman
Date: Tue Jul 30 2013 - 20:52:24 EST


On Tue, Jul 30, 2013 at 11:22:31AM +0200, Guennadi Liakhovetski wrote:
> Hi Simon
>
> On Tue, 30 Jul 2013, Simon Horman wrote:
>
> > [ Cc Vinod ]
> >
> > On Tue, Jul 23, 2013 at 11:12:41PM -0700, Kuninori Morimoto wrote:
> > > 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.
> > >
> > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> >
> > Can I confirm that this was a regression introduced by
> > 4f46f8ac80416b0e8fd3aba6a0d842205fb29140
> > ("dmaengine: shdma: restore partial transfer calculation") ?
>
> No, don't think so. That patch only restores what was accidentally deleted
> from the driver before. So, you cannot say, that before that patch the
> calculation was correct. And even the way it restores it was already wrong
> before. The error goes back to the original implementation:
>
> commit c014906a870ce70e009def0c9d170ccabeb0be63
> Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
> Date: Thu Feb 18 16:30:02 2010 +0000
>
> dmaengine: shdma: extend .device_terminate_all() to record partial transfer

Thanks, I will add the following to the changelog:

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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/