Skip to contentSkip to conversation

6.7.0: ASoC: SOF: refactoring breaks sof-rt5682 audio on chromebook; successfully bisected

REGRESSION Mole Shang 2 participants 2 messages Feb 2, 2024 – Feb 11, 2024

Subsystems (2)
lore
Share & tools
lore

Mole Shang

author
#0 lore raw

I'm relatively new here, first time reporting a regression, so apologies in advance if I'm doing something wrong.

I'm using Arch Linux (linux-mainline kernel) on my chromebook Acer Spin 713-2W (Voxel), and after upgrading linux-mainline from 6.7-rc4 to 6.7-rc5 the audio setup isn't working anymore. Firstly I suspected its some changes in the sof- firmware, yet got no luck in upgrading sof-firmware (2023.09.2 -> 2023.12).

On certain chromebooks, audio setup needs custom ALSA ucm confs [1], but after contacting the chromebook-linux-audio developer [2], I think it's not a conf problem, but rather a kernel regression.

After hours of bisecting, the first bad commit 31ed8da (ASoC: SOF: sof-audio:
Modify logic for enabling/disabling topology cores) ensures the regression. demsg log pasted below:

// before 31ed8da, working

[   61.572587] sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx error for 
0x60010000 (msg/reply size: 108/20): -22
[   61.572593] sof-audio-pci-intel-tgl 0000:00:1f.3: HW params ipc failed for 
stream 1
[   61.572594] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_hw_params on 0000:00:1f.3: -22
[   61.573247] sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx error for 
0x60010000 (msg/reply size: 108/20): -22
[   61.573250] sof-audio-pci-intel-tgl 0000:00:1f.3: HW params ipc failed for 
stream 1
[   61.573251] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_hw_params on 0000:00:1f.3: -22
[   61.573888] sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx error for 
0x60010000 (msg/reply size: 108/20): -22
[   61.573892] sof-audio-pci-intel-tgl 0000:00:1f.3: HW params ipc failed for 
stream 1
[   61.573893] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_hw_params on 0000:00:1f.3: -22
[   61.574570] sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx error for 
0x60010000 (msg/reply size: 108/20): -22
[   61.574572] sof-audio-pci-intel-tgl 0000:00:1f.3: HW params ipc failed for 
stream 1
[   61.574573] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 

snd_soc_pcm_component_hw_params on 0000:00:1f.3: -22

// after 31ed8da, broken

[   48.930740] sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx error for 
0x30020000 (msg/reply size: 12/0): -13
[   48.930762] sof-audio-pci-intel-tgl 0000:00:1f.3: failed to free widget 
DMIC0.IN
[   57.235697] sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx error for 
0x30030000 (msg/reply size: 16/0): -22
[   57.235701] sof-audio-pci-intel-tgl 0000:00:1f.3: sof_ipc3_route_setup: 
route DMIC0.IN -> BUF4.0 failed
[   57.235703] sof-audio-pci-intel-tgl 0000:00:1f.3: 
sof_ipc3_set_up_all_pipelines: route set up failed
[   57.235704] sof-audio-pci-intel-tgl 0000:00:1f.3: Failed to restore 
pipeline after resume -22
[   57.235706] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_pm_runtime_get on 0000:00:1f.3: -22
[   57.235926] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_pm_runtime_get on 0000:00:1f.3: -22
[   57.235966] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_pm_runtime_get on 0000:00:1f.3: -22
[   57.236006] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_pm_runtime_get on 0000:00:1f.3: -22
[   57.236041] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_pm_runtime_get on 0000:00:1f.3: -22
[   57.236074] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_pm_runtime_get on 0000:00:1f.3: -22
[   57.236107] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_pm_runtime_get on 0000:00:1f.3: -22
[   57.236141] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_pm_runtime_get on 0000:00:1f.3: -22
[   57.236173] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_pm_runtime_get on 0000:00:1f.3: -22
[   57.236205] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 
snd_soc_pcm_component_pm_runtime_get on 0000:00:1f.3: -22
[   57.236239] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at 

snd_soc_pcm_component_pm_runtime_get on 0000:00:1f.3: -22

Steps to reproduce:

- Run chromebook-linux-audio script [2] (this would install custom sof-rt5682 ucm confs [1] into /usr/share/alsa/ucm2/conf.d/sof-rt5682 and write a line options snd-intel-dspcfg dsp_driver=3 to /etc/modprobe.d/snd-sof.conf)
- Reboot, gets audio working on kernels before 31ed8da
- Install latest stable kernel (6.7.3), audio broken
- Install latest git kernel (6.8-rc2), audio broken
- Revert 31ed8da, build upon latest linux-git (6.8-rc2), audio working

Apologies for my busyiness that I should have reported it long before the regression enters stable and lts, but sadly linux-lts (6.6.13) seems to be affected too [3].

Please let me know if there's any other thing that I can help debugging.

-- Mole Shang

[1]: https://github.com/WeirdTreeThing/chromebook-ucm-conf/tree/main/sof-rt5682
[2]: https://github.com/WeirdTreeThing/chromebook-linux-audio/issues/70
[3]: https://github.com/WeirdTreeThing/chromebook-linux-audio/issues/
70#issuecomment-1911048309

#regzbot introduced: 31ed8da1c8e5e504710bb36863700e3389f8fc81

#1 lore raw
Quoted 8 lines · Mole Shang

I'm relatively new here, first time reporting a regression, so apologies in advance if I'm doing something wrong.

I'm using Arch Linux (linux-mainline kernel) on my chromebook Acer Spin 713-2W (Voxel), and after upgrading linux-mainline from 6.7-rc4 to 6.7-rc5 the audio setup isn't working anymore. Firstly I suspected its some changes in the sof- firmware, yet got no luck in upgrading sof-firmware (2023.09.2 -> 2023.12).

Quoted 7 lines

On certain chromebooks, audio setup needs custom ALSA ucm confs [1], but after contacting the chromebook-linux-audio developer [2], I think it's not a conf problem, but rather a kernel regression.

After hours of bisecting, the first bad commit 31ed8da (ASoC: SOF: sof-audio:
Modify logic for enabling/disabling topology cores) ensures the regression. demsg log pasted below:

Thx for reporting this.

For the record, in case anyone lands here and wonders if nothing happened. The discussion moved elsewhere and a fix is heading towards mainline currently:

#regzbot link: https://github.com/thesofproject/linux/issues/4807
#regzbot monitor:
https://lore.kernel.org/all/[email protected]/
#regzbot fix: ASoC: SOF: ipc3-topology: Fix pipeline tear down logic #regzbot ignore-activity

Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat) --
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
That page also explains what to do if mails like this annoy you.