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]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux