Re: [PATCH] ASoC: dmaengine_pcm: Consider DMA cache caused delay in pointer callback

From: Mark Brown
Date: Mon Feb 10 2020 - 09:37:21 EST


On Mon, Feb 10, 2020 at 04:28:44PM +0200, Peter Ujfalusi wrote:
> On 10/02/2020 16.21, Takashi Iwai wrote:

> >> delay += codec_delay;
> >>
> >> - runtime->delay = delay;
> >> + runtime->delay += delay;

> > Is it correct?
> > delay already takes runtime->delay as its basis, so it'll result in a
> > double.

> The delay here is coming from the DAI and the codec.
> The runtime->delay hold the PCM (DMA) caused delay.

I think Takashi's point here (and a query I have) is that we end up with

delay = runtime->delay;
delay += stuff;
runtime->delay += delay;

which is equivalent to

runtime->delay = (runtime->delay * 2) + stuff;

and that's a bit surprising.

Attachment: signature.asc
Description: PGP signature