We have several Geminilake laptop and desktop machines, on these machines, the HW configs are same and are as shown below:
the HDA controller: 00:0e.0 Audio device [0403]: Intel Corporation Device [8086:3198] (rev 01) the HDMI codec: Vendor Id: 0x8086280d VGA controller: 00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:3184] (rev 01) (prog-if 00 [VGA controller])
The problem is if we boot the system without plugging the HDMI monitor, the Linux kernel can't find HDMI codec at all. If we plug the HDMI monitor before booting up, the kernel can find the HDMI codec, but there are many errors (as shown below) and the HDMI audio can't play any sound.
Codec: Intel Geminilake HDMI Address: 2 AFG Function Id: 0x1 (unsol 0) Vendor Id: 0x8086280d Subsystem Id: 0x80860101 Revision Id: 0x100000 No Modem Function Group found Default PCM: N/A Default Amp-In caps: N/A Default Amp-Out caps: N/A State of AFG node 0x01: Power: setting=UNKNOWN, actual=UNKNOWN, Error, Clock-stop-OK, Setting-reset Invalid AFG subtree --endcollapse--
[ 25.504069] snd_hda_intel 0000:00:0e.0: azx_get_response timeout, switching to polling mode: last cmd=0x20bf8100 [ 26.516125] snd_hda_intel 0000:00:0e.0: No response from codec, disabling MSI: last cmd=0x20bf8100 [ 27.528058] snd_hda_intel 0000:00:0e.0: azx_get_response timeout, switching to single_cmd mode: last cmd=0x20bf8100 [ 27.528259] azx_single_wait_for_response: 12 callbacks suppressed [ 27.547927] snd_hda_codec_hdmi hdaudioC0D2: Unable to sync register 0x2f0d00. -5
We have tested the latest mainline kernel, but the testing result is the same.
So does the existing kernel driver support the HDMI audio well for Geminilake? If it does, what is wrong with those machines, HW issue or BIOS issue?
Thanks in advance.