mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
ALSA: hda: intel-dsp-cfg: Add Chromebook quirk to ADL/RPL
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@gmail.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Acked-by: Curtis Malainey <cujomalainey@chromium.org> Link: https://lore.kernel.org/r/ZNuDLk5hgmfKrZg6@arch Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
4098967943
commit
905240d169
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user