On 8/15/23 08:52, Brady Norander wrote: > AlderLake and RaptorLake Chromebooks currently use the HDA driver by > default. Add a quirk to use the SOF driver on these platforms, which is > needed for functional internal audio. > > Signed-off-by: Brady Norander <bradynorander@xxxxxxxxx> Thanks for the patch Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> > --- > > v2: Removed quirk from SKUs not used in Chrome platforms > > sound/hda/intel-dsp-config.c | 60 +++++++++++++++++++++++++++++++++--- > 1 file changed, 56 insertions(+), 4 deletions(-) > > diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c > index dcf2453138a5..24a948baf1bc 100644 > --- a/sound/hda/intel-dsp-config.c > +++ b/sound/hda/intel-dsp-config.c > @@ -167,10 +167,10 @@ static const struct config_entry config_table[] = { > #endif > > /* > - * CoffeeLake, CannonLake, CometLake, IceLake, TigerLake use legacy > - * HDAudio driver except for Google Chromebooks and when DMICs are > - * present. Two cases are required since Coreboot does not expose NHLT > - * tables. > + * CoffeeLake, CannonLake, CometLake, IceLake, TigerLake, AlderLake, > + * RaptorLake use legacy HDAudio driver except for Google Chromebooks > + * and when DMICs are present. Two cases are required since Coreboot > + * does not expose NHLT tables. > * > * When the Chromebook quirk is not present, it's based on information > * that no such device exists. When the quirk is present, it could be > @@ -408,6 +408,19 @@ static const struct config_entry config_table[] = { > .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, > .device = PCI_DEVICE_ID_INTEL_HDA_RPL_S, > }, > + { > + .flags = FLAG_SOF, > + .device = PCI_DEVICE_ID_INTEL_HDA_ADL_P, > + .dmi_table = (const struct dmi_system_id []) { > + { > + .ident = "Google Chromebooks", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Google"), > + } > + }, > + {} > + } > + }, > { > .flags = FLAG_SOF, > .device = PCI_DEVICE_ID_INTEL_HDA_ADL_P, > @@ -434,14 +447,53 @@ static const struct config_entry config_table[] = { > .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, > .device = PCI_DEVICE_ID_INTEL_HDA_ADL_M, > }, > + { > + .flags = FLAG_SOF, > + .device = PCI_DEVICE_ID_INTEL_HDA_ADL_N, > + .dmi_table = (const struct dmi_system_id []) { > + { > + .ident = "Google Chromebooks", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Google"), > + } > + }, > + {} > + } > + }, > { > .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, > .device = PCI_DEVICE_ID_INTEL_HDA_ADL_N, > }, > + { > + .flags = FLAG_SOF, > + .device = PCI_DEVICE_ID_INTEL_HDA_RPL_P_0, > + .dmi_table = (const struct dmi_system_id []) { > + { > + .ident = "Google Chromebooks", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Google"), > + } > + }, > + {} > + } > + }, > { > .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, > .device = PCI_DEVICE_ID_INTEL_HDA_RPL_P_0, > }, > + { > + .flags = FLAG_SOF, > + .device = PCI_DEVICE_ID_INTEL_HDA_RPL_P_1, > + .dmi_table = (const struct dmi_system_id []) { > + { > + .ident = "Google Chromebooks", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Google"), > + } > + }, > + {} > + } > + }, > { > .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, > .device = PCI_DEVICE_ID_INTEL_HDA_RPL_P_1,