Up to 4.6.4 (Fedora Kernel kernel-4.6.4-301.fc24.x86_64) everything is fine. After installing 4.6.5 (Fedora Kernel kernel-4.6.5-300.fc24.x86_64) sound is gone. Reverting back to 4.6.4 fixes the issue. The problem seems related to the snd_hda_codec_realtek module, which is not loaded any longer on 4.6.5. From the changelog I see a couple of changes to the snd_hda-driver related to Thinkpads. dmesg on 4.6.5 (broken): Aug 9 12:40:53 kobayashi-maru kernel: snd_hda_intel 0000:00:1f.3: HSW/BDW HD-audio HDMI/DP requires binding with gfx driver Aug 9 12:40:53 kobayashi-maru kernel: snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002) Aug 9 12:40:53 kobayashi-maru kernel: snd_hda_intel 0000:01:00.1: Disabling MSI Aug 9 12:40:53 kobayashi-maru kernel: snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client Aug 9 12:40:53 kobayashi-maru kernel: input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input10 Aug 9 12:40:53 kobayashi-maru kernel: input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input11 Aug 9 12:40:53 kobayashi-maru kernel: input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input12 dmesg on 4.6.4 (working): Aug 9 15:23:48 kobayashi-maru kernel: snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002) Aug 9 15:23:48 kobayashi-maru kernel: snd_hda_intel 0000:01:00.1: Disabling MSI Aug 9 15:23:48 kobayashi-maru kernel: snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client Aug 9 15:23:48 kobayashi-maru kernel: snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC298: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker Aug 9 15:23:48 kobayashi-maru kernel: snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) Aug 9 15:23:48 kobayashi-maru kernel: snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0) Aug 9 15:23:48 kobayashi-maru kernel: snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0 Aug 9 15:23:48 kobayashi-maru kernel: snd_hda_codec_realtek hdaudioC0D0: inputs: Aug 9 15:23:48 kobayashi-maru kernel: snd_hda_codec_realtek hdaudioC0D0: Mic=0x18 Aug 9 15:23:48 kobayashi-maru kernel: snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x12 Aug 9 15:23:48 kobayashi-maru kernel: input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input9 Aug 9 15:23:48 kobayashi-maru kernel: input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input10 Aug 9 15:23:48 kobayashi-maru kernel: input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input12 Aug 9 15:23:48 kobayashi-maru kernel: input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input13 Aug 9 15:23:48 kobayashi-maru kernel: input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input14 The PCI-devices in question are: 00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31) 01:00.0 VGA compatible controller: NVIDIA Corporation GM107GLM [Quadro M2000M] (rev a2) System is a Lenovo Thinkpad P50 (20EN0008GE) with latest BIOS (1.30). I am happy to provide any needed additional information.
Could you give the full dmesg outputs on both working and broken kernels? Also, run alsa-info.sh with --no-upload option on both kernels, and upload the outputs, too. A good test would be to simply copy sound/pci/hda/patch_realtek.c from 4.6.4 to 4.6.5 and check whether it works now.
Created attachment 228071 [details] dmesg for 3.6.4 (working kernel)
Created attachment 228081 [details] dmesg for 3.6.5 (non-working kernel)
Created attachment 228091 [details] alsa-info for 3.6.4
Created attachment 228101 [details] alsa-info for 3.6.5
Here you go for dmesg and alsa-info. Trying to copy patch_realtek.c might take some time unfortunately, as I have to build the kernel first. So far it just seems that the realtek_codec just gets not loaded and the kernel spews this message instead: HSW/BDW HD-audio HDMI/DP requires binding with gfx driver
There is no code change at all between 4.6.4 and 4.6.5 relevant with the "HSW/BDW" message. Something else must be broken. The message is only for HSW/BDW HDMI controller, and yours is SKL. That is, it must not appear on your machine. It's in an if block by the macro, defined in sound/pci/hda/hda_intel.c: #define CONTROLLER_IN_GPU(pci) (((pci)->device == 0x0a0c) || \ ((pci)->device == 0x0c0c) || \ ((pci)->device == 0x0d0c) || \ ((pci)->device == 0x160c)) Please check whether it's same on your 4.6.5 kernel code. And, if it's still correct, try to put a printk() before the "HSW/BDW" message, something like: --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2048,6 +2048,7 @@ static int azx_probe_continue(struct azx *chip) * codecs can be on the same link. */ if (CONTROLLER_IN_GPU(pci)) { + dev_err(chip->card->dev, "XXX %x\n", pci->devic\ e); dev_err(chip->card->dev, "HSW/BDW HD-audio HDMI/DP requires bind\ ing with gfx driver\n"); goto out_free;
What a mess. I figured the bug to be upstream, as the Changelog for the Fedorabuild was quite short and did not mention anything besides some CVEs. But looks like you are right, that macro was extended by two additional devices (0xa170 and 0x9d70). The Fedora-patch in question looks like a backport to me: From c0afc8df2c54301034e0ad8a537c7b817b72e06a Mon Sep 17 00:00:00 2001 From: Hans de Goede <hdegoede@redhat.com> Date: Tue, 12 Jul 2016 22:40:01 +0200 Subject: [PATCH] Revert "ALSA: hda - remove controller dependency on i915 power well for SKL" This reverts commit 03b135cebc47d75ea2dc346770374ab741966955. --- sound/pci/hda/hda_intel.c | 4 +++- sound/pci/hda/patch_hdmi.c | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) Just a quick googling reveals a lot to be going on there. I will now build a 4.6.5-version without that patch. If that solves the problem I will go downstream and report the problem against the Fedorakernel. Thanks so far for the help.
Hi Takashi, please excuse the noise. The problem was indeed caused by the mentioned downstream patch and is not a regression with the upstream kernel. Sound is working fine after removing the patch. I already filed a bug with the Fedoraguys at Redhat (https://bugzilla.redhat.com/show_bug.cgi?id=1365828). Therefore please close the bug here.
OK, thanks for checking. AFAIK, the revert was due to the issue of runtime PM on Skylake i915 HDMI/DP. A proper fix was already posted to intel-gfx ML instead of this broken revert.