On 6/18/24 12:22, Thorsten Leemhuis wrote:
Hi, Thorsten here, the Linux kernel's regression tracker.
Pierre-Louis Bossart, I noticed a report about a regression in bugzilla.kernel.org that appears to be caused by the following change of yours: d5263dbbd8af02 ("ASoC: SOF: Intel: don't ignore IOC interrupts for non-audio transfers") [v6.10-rc1]
As many (most?) kernel developers don't keep an eye on the bug tracker, I decided to write this mail. To quote from https://bugzilla.kernel.org/show_bug.cgi?id=218961 :
Thanks for the heads-up. SOF driver bugs are tracked on https://github.com/thesofproject/linux, I filed an issue https://github.com/thesofproject/linux/issues/5072 with the information copied.
We have a Lenovo Thinkpad X1 Carbon Gen 10 in our lab and ever since 6.10.0-rc1 it has failed its first S2idle suspend, and has stopped getting S0iX on subsequent successful S2idle suspends. The issue in the first suspend fail is here in the audio driver (dmesg section shown):
sof-audio-pci-intel-tgl 0000:00:1f.3: Code loader DMA did not complete
The only thing the commit below added is a 500ms timeout, but the log below shows the DSP boot failed already?
sof-audio-pci-intel-tgl 0000:00:1f.3: ------------[ DSP dump start ]------------ sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware download failed sof-audio-pci-intel-tgl 0000:00:1f.3: fw_state: SOF_FW_BOOT_READY_OK (6) sof-audio-pci-intel-tgl 0000:00:1f.3: 0x00000005: module: ROM, state: FW_ENTERED, running sof-audio-pci-intel-tgl 0000:00:1f.3: extended rom status: 0x5 0x0 0x4000 0x0 0x0 0x0 0x2560521 0x0 sof-audio-pci-intel-tgl 0000:00:1f.3: ------------[ DSP dump end ]------------ sof-audio-pci-intel-tgl 0000:00:1f.3: Failed to start DSP sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to boot DSP firmware after resume -110 sof-audio-pci-intel-tgl 0000:00:1f.3: error: hda_dsp_core_reset_enter: timeout on HDA_DSP_REG_ADSPCS read sof-audio-pci-intel-tgl 0000:00:1f.3: error: dsp core reset failed: core_mask 1 sof-audio-pci-intel-tgl 0000:00:1f.3: failed to power down DSP during suspend sof-audio-pci-intel-tgl 0000:00:1f.3: error: suspending dsp sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to power down DSP during suspend -110 sof-audio-pci-intel-tgl 0000:00:1f.3: PM: pci_pm_suspend(): snd_sof_suspend [snd_sof] returns -110 sof-audio-pci-intel-tgl 0000:00:1f.3: PM: dpm_run_callback(): pci_pm_suspend returns -110 sof-audio-pci-intel-tgl 0000:00:1f.3: PM: failed to suspend async: error -110
This is the commit:
commit d5263dbbd8af026159b16a08a94bedfe51b5f67b Author: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com Date: Thu Apr 4 13:54:47 2024 -0500
ASoC: SOF: Intel: don't ignore IOC interrupts for non-audio transfers
Reverting the commit thusly fixes things in everything up to 6.10.0-rc3.
%> git diff 6cbf086143cf9674c7f029e1cf435c65a537066a d5263dbbd8af026159b16a08a94bedfe51b5f67b > ../revert.patch %> cat ../revert.patch | patch -1 -R
I've attached the sleepgraph timeline of the fail. The dmesg log is accesible by clicking the "dmesg" button in the upper right hand corner. They "log" button shows all the system details.
See the ticket for more details.
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 If I did something stupid, please tell me, as explained on that page.
P.S.: let me use this mail to also add the report to the list of tracked regressions to ensure it's doesn't fall through the cracks:
#regzbot introduced: d5263dbbd8af02 #regzbot title: ASoC: SOF: Intel: #regzbot from: Todd Brandt #regzbot duplicate: https://bugzilla.kernel.org/show_bug.cgi?id=218961 #regzbot ignore-activity