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

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Tue Sep 28 17:00:32 CEST 2021


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


More information about the Alsa-devel mailing list