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