You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
failed to get afg sub nodes on ChromeOS devices #1642
Multiple sightings have been reported of failure to probe the HDMI codec in i915 at boot, specifically on ChromeOS devices and a recent 5.4/5.5 kernel.
Error logs:
[ 79.756783] snd_hda_codec_hdmi ehdaudio0D2: HDMI: failed to get afg sub nodes
[ 79.756800] snd_hda_codec_hdmi ehdaudio0D2: patch failed -22
[ 79.756862] snd_hda_codec_hdmi ehdaudio0D2: ASoC: failed to probe
component -22
[ 79.756930] bxt_da7219_max98357a glk_da7219_max98357a: ASoC: failed
to instantiate card -22
...
[ 79.769445] bxt_da7219_max98357a: probe of glk_da7219_max98357a failed with error -22
Fixes to #1001 , #1183 and #1374 do not help as e.g. 5.5-rc1 has all the fixes included and the error still happens.
FYI @yongzhi1 and @cujomalainey
I've still not been able to reproduce this myself on any device (including a GLK device running ChromeOS, but will continue to try ith this one). As it seems we have to gather sightings and data from a larger set of devices, filing a bug for tracking.
@yongzhi1 and @cujomalainey -- I've now reproduced the issue on a GLK Chromebook using a kernel module load-unload stress test.
Flow-wise there is nothing wrong in the sequence, but I did notice a slight difference between legacy-HDA and SOF drivers. If I add an extra GET_PARAMETERS HDA verb to the SOF flow (right after power-up) to imitate what happens with legacy HDA driver, the errors are gone. I'll continue investigating (why this flow change helps and how to turn it into a upstream-acceptable fix).
Activity
kv2019i commentedon Dec 19, 2019
FYI @yongzhi1 and @cujomalainey
I've still not been able to reproduce this myself on any device (including a GLK device running ChromeOS, but will continue to try ith this one). As it seems we have to gather sightings and data from a larger set of devices, filing a bug for tracking.
kv2019i commentedon Dec 30, 2019
@yongzhi1 and @cujomalainey -- I've now reproduced the issue on a GLK Chromebook using a kernel module load-unload stress test.
Flow-wise there is nothing wrong in the sequence, but I did notice a slight difference between legacy-HDA and SOF drivers. If I add an extra GET_PARAMETERS HDA verb to the SOF flow (right after power-up) to imitate what happens with legacy HDA driver, the errors are gone. I'll continue investigating (why this flow change helps and how to turn it into a upstream-acceptable fix).
ALSA: hda/hdmi - add retry logic to hdmi_parse_codec
kv2019i commentedon Jan 3, 2020
I uploaded a potential bugfix at:
kv2019i@4685d86
https://github.com/kv2019i/linux/tree/topic/cras/l5.4-glk-hdmi-afg-fix
cujomalainey commentedon Jan 7, 2020
Been trying to bisect this but failures go back pretty far. Your branch by itself is fine.
kv2019i commentedon Jan 10, 2020
It seems the above fix does not work on all Bobba devices. I posted a 2nd experimental patch to the above branch:
kv2019i@b3c8d21
https://github.com/kv2019i/linux/tree/topic/cras/l5.4-glk-hdmi-afg-fix
... waiting to gather more data whether this helps. Still no signs of this issue in CI or from other reporters.
cujomalainey commentedon Jan 10, 2020
@kv2019i probe works with that second patch and I get devices 😺
I cherry-picked over the top 2 commits to sof-dev and I have playback again. Thanks so much.
kv2019i commentedon Jan 13, 2020
@cujomalainey wrote
Excellent! 😎 I'll start working out an upstream-worthy patchset. 2nd patch should be easy, but first one may require some more effort to get through.
52 remaining items
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ASoC: SOF: Intel: do not disable i915 power during probe
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()