Messages in this thread Patch in this message | | | Date | Fri, 28 Dec 2018 13:43:03 +0100 | From | Ingo Molnar <> | Subject | Re: [GIT PULL] sound updates for 4.21 |
| |
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Thu, Dec 20, 2018 at 7:38 AM Takashi Iwai <tiwai@suse.de> wrote: > > > > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-4.21-rc1 > > Hmm. > > It turns out that commit c337104b1a16 ("ALSA: HD-Audio: SKL+: abort > probe if DSP is present and Skylake driver selected") causes my laptop > (XPS13 9350) to no longer suspend.
Just a wild guess, I can see two ways in which that commit could make a difference on your setup:
1)
If any of these is not set in your .config:
+ select SND_HDA_INTEL_DSP_DETECTION_SKL if SND_SOC_INTEL_SKL + select SND_HDA_INTEL_DSP_DETECTION_APL if SND_SOC_INTEL_APL + select SND_HDA_INTEL_DSP_DETECTION_KBL if SND_SOC_INTEL_KBL + select SND_HDA_INTEL_DSP_DETECTION_GLK if SND_SOC_INTEL_GLK + select SND_HDA_INTEL_DSP_DETECTION_CNL if SND_SOC_INTEL_CNL + select SND_HDA_INTEL_DSP_DETECTION_CFL if SND_SOC_INTEL_CFL
I.e. I'd enable all of the SND_SOC_INTEL_* options to cover this angle.
2)
There's the added logic of checking whether the DSP is enabled:
+ /* check if this driver can be used on SKL+ Intel platforms */ + if ((pci_id->driver_data & AZX_DCAPS_INTEL_SHARED) && + pci->class != 0x040300) + return -ENODEV; +
if pci->class is not 0x040300 the driver could end up not detecting the device while previously it would.
That code goes through several transformations later on - but the hack below should make the commit an invariant. I think. Totally untested though.
Thanks,
Ingo
==============>
sound/pci/hda/hda_intel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index e42cc2230977..f9e9c87f6d15 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2056,7 +2056,7 @@ static int azx_probe(struct pci_dev *pci, if (pci_id->driver_data & AZX_DCAPS_INTEL_SHARED) { switch (skl_pci_binding) { case SND_SKL_PCI_BIND_AUTO: - if (pci->class != 0x040300) { + if (0 && pci->class != 0x040300) { dev_info(&pci->dev, "The DSP is enabled on this platform, aborting probe\n"); return -ENODEV; }
| |