-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG][TGL] failed to ready HDA controller gctl 0x0 (sof_probe_work failed) #2571
Comments
There are a couple of past bugs with similar fingerprint: Most have such low reproduce rates, that no exact patch could be pointed to for making the problem go away. One concrete thing to try is this: |
Findings today:
Yet to be tested:
|
Right, we faced this before and never reached a conclusion as to what cause the capability parsing to fail. I had a discussion with hardware folks and there was no smoking gun. A work-around was added in upstream commit f09e9c7 ('ASoC: SOF: Intel: hda-ctrl: add reset cycle before parsing capabilities') @sathya-nujella can you check if this was back-ported and try to revert it if yes? |
@plbossart I already suggested this last night and it didnt help |
More tests:
Ongoing:
|
@ranj063 if the unloading driver before reboot solves the issue, wouldn't this point to a .shutdown() callback that's not doing the same thing as a .remove()? |
@plbossart I'd think so. I'll work with @sathya-nujella this morning to try it out. |
Thank you @ranj063 . In today's debug with Ranjani's support tried, warm reboot tests. Patch reverted: thesofproject/sof@75561a9 SOF issue reported based on this: thesofproject/sof#3633 |
Let's track the issue in thesofproject/sof#3633 atm |
Invoke hda_dsp_shutdown() as the .shutdown() callback, this will help to perform needed operation on TGL platforms before shutting down or rebooting the system. Fixes: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Invoke hda_dsp_shutdown() as the .shutdown() callback, this will help to perform needed operation on TGL platforms before shutting down or rebooting the system. Fixes: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Invoke hda_dsp_shutdown() as the .shutdown() callback, this will help to perform needed operation on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Reopen since we also need fix in kernel driver |
We have a driver PR aim to address this: #2581 Unfortunately, it can't fix the issue thoroughly, there is still a tricky point to hit the issue: if we perform system reboot at the point that the WoV is switching the DSP from D0 to D0I3(e.g. at around 5 Seconds(+-0.5S) after the WoV is switched on), we can hit this within 10 iterations. |
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
@sathya-nujella PR merged, can you check if we can close this? |
Hi @keyonjie , For this, as you and @ranj063 suggested, we ran tests with including linux PR's (both of them included): #2600 and #2581. |
We have verified the speaker and headset playback too with the above PR's and seems the functionality is good. |
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: #2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: #2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Invoke hda_dsp_remove() as the .shutdown() callback. This will help to perform shutdown of the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Invoke hda_dsp_remove() as the .shutdown() callback. This will help to perform shutdown of the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject/linux#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20210113152617.4048541-4-kai.vehmanen@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Invoke hda_dsp_remove() as the .shutdown() callback, this will help to perform shutdown the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
…back Invoke hda_dsp_remove() as the .shutdown() callback. This will help to perform shutdown of the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject/linux#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20210113152617.4048541-4-kai.vehmanen@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org> (cherry picked from commit 44a4cfa git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next) BUG=b:175915544 TEST=verified the audio Signed-off-by: Jairaj Arava<jairaj.arava@intel.com> Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com> Change-Id: Ifb3a8dd1c8982dff7766063071020b9d826e0d95 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2628182 Reviewed-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Curtis Malainey <cujomalainey@chromium.org> Tested-by: Jairaj Arava <jairaj.arava@intel.corp-partner.google.com> Commit-Queue: Curtis Malainey <cujomalainey@chromium.org> (cherry picked from commit 3916179) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2643522 Tested-by: Curtis Malainey <cujomalainey@chromium.org>
BugLink: https://bugs.launchpad.net/bugs/1919930 Invoke hda_dsp_remove() as the .shutdown() callback. This will help to perform shutdown of the DSP safely on TGL platforms before shutting down or rebooting the system. BugLink: thesofproject#2571 Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20210113152617.4048541-4-kai.vehmanen@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org> (cherry picked from commit 44a4cfa) Signed-off-by: Hui Wang <hui.wang@canonical.com> Acked-by: Timo Aaltonen <tjaalton@ubuntu.com> Acked-by: Tim Gardner <tim.gardner@canonical.com> Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
DUT: TGL Chrome DUT with Max98373_RT5682 I2S
BIOS: Coreboot
Kernel: Google - Kernel 5.4
https://chromium.googlesource.com/chromiumos/third_party/kernel/+/refs/heads/chromeos-5.4
Issue:
Sound card creation failed.
TEST SCENARIO:
During reboot tests, randomly seeing this issue.
Able to reproduce the issue (no consistent method, just reboot some times catch this issue).
From logs:
1) error from dmesg:
[ 8.912119] sof-audio-pci 0000:00:1f.3: error: failed to ready HDA controller gctl 0x0
[ 8.922070] sof-audio-pci 0000:00:1f.3: error: get caps error
[ 8.929600] sof-audio-pci 0000:00:1f.3: display power disable
[ 8.929622] sof-audio-pci 0000:00:1f.3: error: failed to probe DSP -5
[ 8.937423] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -5
00:1f.3 Multimedia audio controller: Intel Corporation Device a0c8 (rev 20)
Subsystem: Intel Corporation Device 7270
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 16
Region 0: Memory at 7ff48000 (64-bit, non-prefetchable) [size=16K]
Region 4: Memory at 7fe00000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [80] Vendor Specific Information: Len=14 <?>
Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Kernel driver in use: sof-audio-pci
Kernel modules: snd_hda_intel, snd_sof_pci
The text was updated successfully, but these errors were encountered: