Messages in this thread | | | Date | Tue, 30 Jul 2013 17:49:58 +0900 | From | Simon Horman <> | Subject | Re: [PATCH resend] shdma: fixup sh_dmae_get_partial() calculation error |
| |
[ 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@renesas.com>
Can I confirm that this was a regression introduced by 4f46f8ac80416b0e8fd3aba6a0d842205fb29140 ("dmaengine: shdma: restore partial transfer calculation") ?
> --- > >> Guennadi > > Could you please check this patch, and give it your Acked-by ? > > drivers/dma/sh/shdma.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/dma/sh/shdma.c b/drivers/dma/sh/shdma.c > index b70709b..d670b8b 100644 > --- a/drivers/dma/sh/shdma.c > +++ b/drivers/dma/sh/shdma.c > @@ -388,8 +388,8 @@ static size_t sh_dmae_get_partial(struct shdma_chan *schan, > shdma_chan); > struct sh_dmae_desc *sh_desc = container_of(sdesc, > struct sh_dmae_desc, shdma_desc); > - return (sh_desc->hw.tcr - sh_dmae_readl(sh_chan, TCR)) << > - sh_chan->xmit_shift; > + return sh_desc->hw.tcr - > + (sh_dmae_readl(sh_chan, TCR) << sh_chan->xmit_shift); > } > > /* Called from error IRQ or NMI */ > -- > 1.7.9.5 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-sh" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
| |