Re: [PATCH] dmaengine: rcar-dmac: read DMATCRB instead of DMATCR for residue

From: Geert Uytterhoeven
Date: Mon Oct 16 2017 - 03:14:57 EST


Hi Morimoto-san,

On Mon, Oct 16, 2017 at 9:12 AM, Kuninori Morimoto
<kuninori.morimoto.gx@xxxxxxxxxxx> wrote:
>> > SYS/RT/Audio DMAC have both TCR/TCRB register.
>> > Its difference is transfer counter value of read (= TCR)
>> > or write (= TCRB). The relationship is like below.
>> >
>> > TCR TCRB
>> > [SOURCE] -> [DMAC] -> [DESTINATION]
>> >
>> > Thus, we want to read TCRB instead of TCR for residue.
>> > Otherwise, Sound Capture has noise after PluseAudio support
>> > (= 07b7acb51d2 ("ASoC: rsnd: update pointer more accurate"))
>> >
>> > Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@xxxxxxxxxxx>
>> > [Kuninori: added detail information in log]
>> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> (snip)
>> However, shouldn't the register to use depend on the DMA direction?
>
> I think TCRB is OK for all direction,
> but yes, we can care its direction.
> I can post v2 patch, if you want.
> Geert do you want to care direction ?

Please do. I think in general the .get_residue() callback should return the
correct value for both reading and writing.

Thanks!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds