Bug 197785

Summary: The HDMI audio can't work on all Geminilake machines we have (Dell laptops or desktops)
Product: Drivers Reporter: Hui Wang (hui.wang)
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: RESOLVED PATCH_ALREADY_AVAILABLE    
Severity: blocking CC: subhransu.s.prusty
Priority: P1    
Hardware: Intel   
OS: Linux   
Kernel Version: 4.14.0-rc8 Subsystem:
Regression: No Bisected commit-id:
Attachments: The testing patch fromsubhransu which help collect infos
alsa-info.txt without connecting a monitor when booting up
dmesg without connecting a monitor when booting up
alsa-info.txt with a monitor connecting when booting up
dmesg with a monitor connecting when booting up
alsa-info.txt.boot-without-hdmi after applying the 3 patches of comment 8
dmesg-boot-without-hdmi after applying 3 patches of comment 8

Description Hui Wang 2017-11-06 07:32:21 UTC

    
Comment 1 Hui Wang 2017-11-06 07:35:00 UTC
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.
Comment 2 Hui Wang 2017-11-06 07:38:40 UTC
Created attachment 260509 [details]
The testing patch fromsubhransu which help collect infos
Comment 3 Hui Wang 2017-11-06 07:41:14 UTC
Created attachment 260511 [details]
alsa-info.txt without connecting a monitor when booting up

The kernel can't detect the HDMI codec at all.
Comment 4 Hui Wang 2017-11-06 07:42:18 UTC
Created attachment 260513 [details]
dmesg without connecting a monitor when booting up

The demsg
Comment 5 Hui Wang 2017-11-06 07:45:10 UTC
Created attachment 260515 [details]
alsa-info.txt with a monitor connecting when booting up

The kernel can find the HDMI audio codec now, but can't play sound via HDMI audio device.
Comment 6 Hui Wang 2017-11-06 07:45:56 UTC
Created attachment 260517 [details]
dmesg with a monitor connecting when booting up

the dmesg
Comment 7 Hui Wang 2017-11-06 07:46:44 UTC
If need me to do more tests or collect more logs, just let me know.

thx.
Comment 8 Subhransu 2017-11-06 08:03:49 UTC
Similar issue has been observed on other GLK platforms. Can you please check with these below changes?

https://patchwork.freedesktop.org/series/27078/ - Already accepted
https://patchwork.freedesktop.org/series/32657/ - In discussion
Comment 9 Hui Wang 2017-11-06 08:33:46 UTC
OK, we will test the comment 8.
Comment 10 Hui Wang 2017-11-07 05:09:09 UTC
After applying the 3 patches of comment 8, the problem is fixed.
Comment 11 Hui Wang 2017-11-07 05:11:52 UTC
Created attachment 260529 [details]
alsa-info.txt.boot-without-hdmi after applying the 3 patches of comment 8
Comment 12 Hui Wang 2017-11-07 05:13:52 UTC
Created attachment 260531 [details]
dmesg-boot-without-hdmi after applying 3 patches of comment 8