Repository navigation
[BUG]Attempt of Core En/ROM load failed before booting DSP firmware on ICL_RVP_HDA and GLK_BOB_DA7219 #4873
Description
Describe the bug
When testing kmod load unload OR check runtime pm status,
ICL_RVP_HDA and GLK_BOB_DA7219 met error when downloading and booting DSP firmware because its first attempt of Core En/ROM load failed .
This did not block the dsp init because it retried and succeeded with the second attempt.
To Reproduce
TPLG=/lib/firmware/intel/sof-tplg/sof-hda-generic-4ch.tplg ~/sof-test/test-case/check-kmod-load-unload.sh -l 25
OR
TPLG=/lib/firmware/intel/sof-tplg/sof-glk-da7219.tplg ~/sof-test/test-case/check-runtime-pm-status.sh -l 15
Environment
Kernel Branch: topic/sof-dev
Kernel Commit: d1d33fa6
SOF Branch: main
SOF Commit: 1c1243b
Topology: /lib/firmware/intel/sof-tplg/sof-hda-generic-4ch.tplg
Platform: ICL_RVP_HDA
Screenshots or console output
[dmesg]
[ 4563.786987] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: booting DSP firmware
[ 4563.787089] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x160]=0x40000 successful
[ 4563.787144] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x160]=0x40000 successful
[ 4563.787161] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: hda_dsp_stream_setup_bdl: period_bytes:0x0
[ 4563.787164] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: hda_dsp_stream_setup_bdl: periods:1
[ 4563.787239] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: Attempting iteration 0 of Core En/ROM load...
[ 4563.787257] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: DSP core(s) enabled? 0 : core_mask 3
[ 4563.787776] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x4]=0x3030303 successful
[ 4563.787795] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x4]=0x3030300 successful
[ 4563.787810] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: unstall/run core: core_mask = 3
[ 4563.787826] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: DSP core(s) enabled? 1 : core_mask 3
[ 4563.787855] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x4]=0x3030000 successful
[ 4563.787859] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: unstall/run core: core_mask = 1
[ 4563.787864] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: DSP core(s) enabled? 1 : core_mask 1
[ 4564.288183] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x4c]=0x0 timedout
[ 4564.288196] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: ------------[ DSP dump start ]------------
[ 4564.288212] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: fw_state: SOF_FW_BOOT_IN_PROGRESS (2)
[ 4564.288231] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: unknown ROM status value 80000000
[ 4564.288257] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: extended rom status: 0x80000000 0xecc00301 0x0 0x0 0x0 0x0 0x0 0x0
[ 4564.288268] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: ------------[ DSP dump end ]------------
[ 4564.288280] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x4]=0x3030303 successful
[ 4564.288303] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x4]=0x303 successful
[ 4564.288319] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: DSP core(s) enabled? 0 : core_mask 3
[ 4564.288326] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: Attempting iteration 1 of Core En/ROM load...
[ 4564.288337] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: DSP core(s) enabled? 0 : core_mask 3
[ 4564.288825] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x4]=0x3030303 successful
[ 4564.288850] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x4]=0x3030300 successful
[ 4564.288870] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: unstall/run core: core_mask = 3
[ 4564.288890] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: DSP core(s) enabled? 1 : core_mask 3
[ 4564.288923] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x4]=0x3030000 successful
[ 4564.288943] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: unstall/run core: core_mask = 1
[ 4564.288963] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: DSP core(s) enabled? 1 : core_mask 1
[ 4564.291205] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x4c]=0x40000000 successful
[ 4564.291229] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x4]=0x3030202 successful
[ 4564.291237] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x4]=0x1010202 successful
[ 4564.291255] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: DSP core(s) enabled? 0 : core_mask 2
[ 4564.321676] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x80000]=0x5000001 successful
[ 4564.338175] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x80000]=0x5 successful
[ 4564.338187] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: FW Poll Status: reg[0x160]=0x140000 successful
[ 4564.338195] kernel: sof-audio-pci-intel-apl 0000:00:0e.0: Firmware download successful, booting...
Activity
plbossart commentedon Oct 14, 2021
Not a real error. IIRC in the past we had an error log only when the last iteration failed, was this modified @ujfalusi @ranj063 ?
ujfalusi commentedon Oct 14, 2021
I think we should drop the SOF_DBG_PRINT_ALL_DUMPS flag for sof_debug, that will filter this out.
XiaoyunWu6666 commentedon Oct 15, 2021
hi @plbossart @ujfalusi
thanks for advice , @1994lwz has removed the SOF_DBG_PRINT_ALL_DUMPS flag from /etc/modprobe.d on ICL and GLK platforms , manually tried it and found error had gone
Will observe daily test more and close this issue if it's good
lgirdwood commentedon Oct 15, 2021
@XiaoyunWu6666 this is the ROM reporting an ECC error IIUC. @mwasko ?
marc-hb commentedon Oct 25, 2021
Note this was already discussed one year ago in #3395 and other pages linked from there.
When filing a bug like please also share the sof-test output (copied below)
sof-test trusts the kernel log level. If this not an error but just a warning, why is it logged at the error level?
+1
Wouldn't we miss logs when there is actually an issue then?
aiChaoSONG commentedon Oct 26, 2021
potential fix: thesofproject/linux#3238
The concept here is to log warning at booting retry that are not fatal.
ujfalusi commentedon Oct 26, 2021
@marc-hb, yes, we will if the SOF_DBG_PRINT_ALL_DUMPS is not set, which was the whole point, to hide the non fatal debug prints from a normal user.
marc-hb commentedon Oct 26, 2021
SOF_DBG_PRINT_ALL_DUMPSseems to control how much gets printed. This issue is not about how much gets printed. This issue is about an incorrect log level where a retry warning is incorrectly reported as a final error. The verbosity of the logs should not affect their log level, these must be independent from each other.Moreover, BOTH warnings and errors should be kept after turning off debug logs.
ujfalusi commentedon Oct 27, 2021
Right, the panics and dumps level is determined from the fw pow, a DSP crash is fatal from the DSP pow, it is another thing that from Linux (in case of HDA) we will give it another run in hopes that this time it is going to make it.
Having said that, I agree that the levels for these should be refocused from the kernel's pow, so move it lower.
You have lost me here. Where do you want to keep never printed logs and how long?
marc-hb commentedon Oct 27, 2021
Is the kernel aware of FW log levels?
It's very confusing to use symbols with
DBGin their name to decide betweenWARNandERROR. Log level jam.marc-hb commentedon Oct 28, 2021
Observed again in unrelated thesofproject/sof-test#794 (comment)
Why are we observing this suddenly again? It's been months and months since #2890. @ujfalusi is this related to some recent change of yours?
keqiaozhang commentedon Nov 22, 2021
Closing... this issue is not reproducible.
marc-hb commentedon Dec 6, 2021
Important, November 2021 refactoring: thesofproject/linux#3250