Re: [PATCH] ALSA: hda/ext: preserve PPLCCTL bits when clearing reset

Takashi Iwai <[email protected]>
Newsgroups org.kernel.vger.linux-sound,org.kernel.vger.linux-kernel,org.kernel.vger.stable
Message-ID <[email protected]>
On Thu, 13 Aug 2026 08:55:24 +0200,
raoxu wrote:
> 
> From: Xu Rao <[email protected]>
> 
> snd_hdac_ext_stream_reset() polls PPLCCTL for STRST by masking the
> register value with AZX_PPLCCTL_STRST:
> 
> 	val = readl(...) & AZX_PPLCCTL_STRST;
> 
> The same masked value is then used when clearing STRST. Since val
> contains no bits other than STRST, clearing STRST from it always
> produces zero. The subsequent writel() therefore writes zero to the
> entire PPLCCTL register instead of clearing only the reset bit.
> 
> PPLCCTL contains other stream control fields, including the stream tag
> in AZX_PPLCCTL_STRM_MASK. Those fields must not be modified as a side
> effect of clearing stream reset.
> 
> Use snd_hdac_updatel() to clear STRST, matching the existing set-reset
> path and preserving all unrelated PPLCCTL bits.
> 
> Fixes: df203a4e46f4 ("ALSA: hdac_ext: add extended stream capabilities")
> Cc: [email protected]
> Signed-off-by: Xu Rao <[email protected]>

Applied to for-next branch.  Thanks.


Takashi
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.