On 9/29/21 9:39 AM, Takashi Iwai wrote: > On Wed, 29 Sep 2021 16:15:44 +0200, > Pierre-Louis Bossart wrote: >> >> >>> @@ -874,11 +896,7 @@ static unsigned int azx_get_pos_skl(struct azx *chip, struct azx_dev *azx_dev) >>> if (azx_dev->core.substream->stream == SNDRV_PCM_STREAM_PLAYBACK) >>> return azx_skl_get_dpib_pos(chip, azx_dev); >>> >>> - /* For capture, we need to read posbuf, but it requires a delay >>> - * for the possible boundary overlap; the read of DPIB fetches the >>> - * actual posbuf >>> - */ >>> - udelay(20); >>> + /* read of DPIB fetches the actual posbuf */ >>> azx_skl_get_dpib_pos(chip, azx_dev); >> >> I don't think extra read has any effect, it could be removed.... >> >>> return azx_get_pos_posbuf(chip, azx_dev); >>> } >> >> The suggestion was to further simplify with >> >> static unsigned int azx_get_pos_skl(struct azx *chip, struct azx_dev >> *azx_dev) >> { >> return azx_get_pos_posbuf(chip, azx_dev); >> } >> >> i.e. same behavior on playback and capture. that's the recommendation >> from Intel hw folks. > > It's achieved in the second patch. Ah ok. the additional comment made me think it was there to stay.