Re: [PATCH] ASoC: codecs: lpass-wsa-macro: Fix speaker quality distortion

From: Alexey Klimov

Date: Wed Sep 10 2025 - 21:29:04 EST


On Sun Aug 31, 2025 at 4:14 PM BST, Krzysztof Kozlowski wrote:
> Commit bb4a0f497bc1 ("ASoC: codecs: lpass: Drop unused
> AIF_INVALID first DAI identifier") removed first entry in enum with DAI
> identifiers, because it looked unused. Turns out that there is a
> relation between DAI ID and "WSA RX0 Mux"-like kcontrols (which use
> "rx_mux_text" array). That "rx_mux_text" array used first three entries
> of DAI IDs enum, with value '0' being invalid.
>
> The value passed tp "WSA RX0 Mux"-like kcontrols was used as DAI ID and
> set to configure active channel count and mask, which are arrays indexed
> by DAI ID.
>
> After removal of first AIF_INVALID DAI identifier, this kcontrol was
> updating wrong entries in active channel count and mask arrays which was
> visible in reduced quality (distortions) during speaker playback on
> several boards like Lenovo T14s laptop and Qualcomm SM8550-based boards.
>
> Reported-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx>
> Fixes: bb4a0f497bc1 ("ASoC: codecs: lpass: Drop unused AIF_INVALID first DAI identifier")
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
>
> ---
>
> Reported via IRC.
> Fix for current v6.17-RC cycle.
>
> I will be investigating rest of lpass macro codecs a bit later.

Any updates on other lpass macro codecs? Is something still broken there
or are they fine? So I guess the changes for wsa and rx macro were applied.
va, tx?

FWIW, I understand that I am late to the party but I tested this one anyway
on sm8550 and it seems to fix the distorted sound and unstable volume.
Sorry for delay. Just confirming.

Thank you,
Alexey