[PATCH] ALSA: hda: Reduce udelay() at SKL+ position reporting

Takashi Iwai tiwai at suse.de
Wed Sep 29 09:14:01 CEST 2021


On Tue, 28 Sep 2021 17:00:32 +0200,
Pierre-Louis Bossart wrote:
> 
> 
> >> I think what you need to use is use azx_get_pos_posbuf(chip, azx_dev);
> >> unconditionally, both for capture and playback, and remove the use of
> >> the skylake specific stuff and the delay.
> > 
> > When I measured, I saw a slight difference between values in DPIB and
> > posbuf, so I wonder which is actually more accurate.  The latter is
> > sometimes a bit behind the former.
> > 
> > If the posbuf is more correct in the sense for the PCM pointer, we can
> > simply move back to the posbuf like other platforms.
> 
> DPIB registers are known to be updated 'too early' in the case of VC1
> traffic, the recommendation is to use posbuf as a 'safer' alternative.
> And it's certainly 'more correct' that the current work-arounds which
> apply different solutions on capture and playback for no apparent reason.

OK, thanks for clarification.  I'll send a v2 patch set to reflect
that.


Takashi


More information about the Alsa-devel mailing list