Re: PCI SSID and Codec SSID collision?

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



On Fri, 23 Feb 2024 13:05:12 +0100,
Gergo Koteles wrote:
> 
> Hi,
> 
> The Lenovo Yoga Slim Pro 9 14IRP8 has tas2781 amplifiers, but it can
> only pickup its fixup with the hda_model=17aa:38be module parameter.
> 
> The 17aa:38be is the SSID of its Codec. The PCI SSID is 17aa:3802.
> 
> The patch_realtek.c has these fixup:
> SND_PCI_QUIRK(0x17aa, 0x3802, "Lenovo Yoga DuetITL 2021",
> ALC287_FIXUP_YOGA7_14ITL_SPEAKERS),
> SND_PCI_QUIRK(0x17aa, 0x38be, "Yoga S980-14.5 proX YC Dual",
> ALC287_FIXUP_TAS2781_I2C),
> 
> And the snd_hda_pick_fixup() picks the former fixup because of the same
> PCI SSID, but that is a Codec SSID?
> 
> At least it worked without that line.
> https://bugzilla.kernel.org/show_bug.cgi?id=208555#c839
> 
> It would be nice if it can be work without the module parameter.
> 
> What is the best way to add this strangeness to patch_realtek.c?

That's a bad collision that happens rarely but more than once...

In this case, we'd need to fix 17aa:3802 matching to be a special
function that checks the model more closely.  e.g. create a quirk
function that checks the codec SSID additionally and apply the
different quirks from there.


thanks,

Takashi




[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