How to add 2 different SND_PCI_QUIRKs for 2 models with the same PCI subsys vend + prod ids?

Hans de Goede hdegoede at redhat.com
Mon Jun 13 10:46:28 CEST 2022


Hi,

On 6/13/22 10:28, Takashi Iwai wrote:
> On Mon, 13 Jun 2022 09:54:47 +0200,
> Hans de Goede wrote:
>>
>> Hi All,
>>
>> There is a problem with the sound on the Lenovo Yoga Duet 7 13IML05, which
>> requires a SND_PCI_QUIRK to fix. But there already is an existing quirk
>> for another Lenovo laptop using the same  PCI subsys vend + prod ids.
>>
>> For more details see:
>> https://wiki.archlinux.org/title/Lenovo_Yoga_Duet_7_13IML05#Audio
>>
>> So I guess this means that we need to add a way to also include a DMI match
>> for SND_PCI_QUIRKs ?
>>
>> Maybe add a:
>>
>> const struct dmi_systemid *dmi_ids;
>>
>> member to struct snd_pci_quirk and a new
>> SND_PCI_QUIRK_DMI macro to set this?
> 
> Do both machines have the very same codec?  I couldn't find
> alsa-info.sh output for Duet 7, but at least, C940 seems with ALC298
> (0x10ec0298), judging from
>   https://bugzilla.kernel.org/show_bug.cgi?id=205755
> If Duet 7 has a different codec (e.g. ALC287 0x10ec0287), we can
> distinguish from that.

I've just asked the reporter of this for alsa-info.sh output.

So assuming the codec is indeed different how would I go about
fixing this ?

Regards,

Hans



More information about the Alsa-devel mailing list