On Thu, 27 Oct 2022 12:29:35 +0200, Amadeusz Sławiński wrote: > > On 10/27/2022 12:21 PM, Takashi Iwai wrote: > > On Thu, 27 Oct 2022 10:23:25 +0200, > > Cezary Rojewski wrote: > >> --- a/sound/hda/hdac_stream.c > >> +++ b/sound/hda/hdac_stream.c > >> @@ -821,6 +821,27 @@ void snd_hdac_stream_drsm_enable(struct hdac_bus *bus, > >> } > >> EXPORT_SYMBOL_GPL(snd_hdac_stream_drsm_enable); > >> +/* > >> + * snd_hdac_stream_wait_drsm - wait for HW to clear RSM for a stream > >> + * @azx_dev: HD-audio core stream to await RSM for > >> + * > >> + * Returns 0 on success and -ETIMEDOUT upon a timeout. > >> + */ > >> +int snd_hdac_stream_wait_drsm(struct hdac_stream *azx_dev) > >> +{ > >> + struct hdac_bus *bus = azx_dev->bus; > >> + u32 mask, reg; > >> + int ret; > >> + > >> + mask = 1 << azx_dev->index; > >> + > >> + ret = readb_poll_timeout(bus->drsmcap + AZX_REG_DRSM_CTL, reg, !(reg & mask), 250, 2000); > > > > Remember that HD-audio bus doesn't always allow readb(). Tegra > > requires the aligned access, for example. > > > > The readb_poll_timeout macro was updated to take care of that, > https://lore.kernel.org/all/20221007084856.1638302-1-amadeuszx.slawinski@xxxxxxxxxxxxxxx/ > so it should be fine? This patch doesn't use that macro... Takashi