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

From: Kuninori Morimoto
Date: Mon Oct 16 2017 - 03:24:53 EST



Hi Geert

> >> > 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.

OK, will post v2

Best regards
---
Kuninori Morimoto