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

Takashi Iwai tiwai at suse.de
Mon Jun 13 10:28:24 CEST 2022


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.


Takashi


More information about the Alsa-devel mailing list