Bug 151811
Summary: | Updating from 4.6.4 to 4.6.5 breaks snd_hda_intel (Lenovo Thinkpad P50) | ||
---|---|---|---|
Product: | Drivers | Reporter: | Matthias Hensler (mails.bugzilla.kernel.org) |
Component: | Sound(ALSA) | Assignee: | Jaroslav Kysela (perex) |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | tiwai |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 4.6.5 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
dmesg for 3.6.4 (working kernel)
dmesg for 3.6.5 (non-working kernel) alsa-info for 3.6.4 alsa-info for 3.6.5 |
Description
Matthias Hensler
2016-08-09 14:51:55 UTC
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. |