Re: possible issue with ALSA: hda/realtek: Use codec SSID matching for Lenovo devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Wed, 22 Jan 2025 08:23:56 +0100,
Takashi Iwai wrote:
> 
> On Wed, 22 Jan 2025 08:21:26 +0100,
> Takashi Iwai wrote:
> > 
> > On Wed, 22 Jan 2025 01:58:16 +0100,
> > Samantha Glocker wrote:
> > > 
> > > Hi, I'm a kernel maintainer from nobara and ASUS-Linux.
> > > 
> > > I've bifurcated an issue with sound on Lenovo Legion laptop(s)
> > > starting from mainline 6.12.5, verified on Fedora proper, Nobara, and
> > > CachyOS.
> > > 
> > > From the changelog,
> > > https://patch.msgid.link/20241008120233.7154-4-tiwai@xxxxxxx looks
> > > like a likely candidate due to touching TAS2781 / TIA2781.
> > > 
> > > The issue will possibly affect sound on any or all Lenovo Legion Gen 8 and 9.
> > > 
> > > The obvious difference in dmesg on my Legion Pro 7 Gen 8 (16ARX8H) on
> > > 6.12.5, is the following line is completely missing:
> > > [    4.761665] snd_hda_codec_realtek hdaudioC1D0: bound
> > > i2c-TIAS2781:00 (ops tas2781_hda_comp_ops
> > > [snd_hda_scodec_tas2781_i2c])
> > > 
> > > This suggests the TI amplifier is never identified.
> > 
> > What's the exact problem?  Is it a regression?  Any original report on
> > the bug tracker or such?
> 
> ... and if it's a regression, please give alsa-info.sh outputs from
> both working and non-working cases.  Run the script with --no-upload
> option and attach the outputs.

If it's a device with PCI SSID 17aa:386f, the patch below might fix.
Let me know if it is.


thanks,

Takashi

-- 8< --
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -10918,7 +10918,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x17aa, 0x3869, "Lenovo Yoga7 14IAL7", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
 	HDA_CODEC_QUIRK(0x17aa, 0x386e, "Legion Y9000X 2022 IAH7", ALC287_FIXUP_CS35L41_I2C_2),
 	SND_PCI_QUIRK(0x17aa, 0x386e, "Yoga Pro 7 14ARP8", ALC285_FIXUP_SPEAKER2_TO_DAC1),
-	HDA_CODEC_QUIRK(0x17aa, 0x386f, "Legion Pro 7 16ARX8H", ALC287_FIXUP_TAS2781_I2C),
+	HDA_CODEC_QUIRK(0x17aa, 0x38a8, "Legion Pro 7 16ARX8H", ALC287_FIXUP_TAS2781_I2C), /* this must match before PCI SSID 17aa:386f below */
 	SND_PCI_QUIRK(0x17aa, 0x386f, "Legion Pro 7i 16IAX7", ALC287_FIXUP_CS35L41_I2C_2),
 	SND_PCI_QUIRK(0x17aa, 0x3870, "Lenovo Yoga 7 14ARB7", ALC287_FIXUP_YOGA7_14ARB7_I2C),
 	SND_PCI_QUIRK(0x17aa, 0x3877, "Lenovo Legion 7 Slim 16ARHA7", ALC287_FIXUP_CS35L41_I2C_2),





[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux