On Mon, 30 Oct 2023 19:58:52 +0100, Brady Norander wrote: > > The legacy SKL driver no longer works properly on these Chromebook > platforms. Use the new AVS driver by default instead. > > Signed-off-by: Brady Norander <bradynorander@xxxxxxxxx> It's fine to switch to the new and more maintained AVS (once after the topology is ready), but I wonder how the breakage of SKL happened. Was it our intentional breakage in the past? If so, why can't we recover it? thanks, Takashi > --- > v2: Only use quirk if AVS is enabled > sound/hda/intel-dsp-config.c | 26 +++++++++++++++++--------- > 1 file changed, 17 insertions(+), 9 deletions(-) > > diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c > index 756fa0aa69bb..e056aca01900 100644 > --- a/sound/hda/intel-dsp-config.c > +++ b/sound/hda/intel-dsp-config.c > @@ -16,10 +16,11 @@ > static int dsp_driver; > > module_param(dsp_driver, int, 0444); > -MODULE_PARM_DESC(dsp_driver, "Force the DSP driver for Intel DSP > (0=auto, 1=legacy, 2=SST, 3=SOF)"); > +MODULE_PARM_DESC(dsp_driver, "Force the DSP driver for Intel DSP > (0=auto, 1=legacy, 2=SST, 3=SOF, 4=AVS)"); > > #define FLAG_SST BIT(0) > #define FLAG_SOF BIT(1) > +#define FLAG_AVS BIT(2) > #define FLAG_SST_ONLY_IF_DMIC BIT(15) > #define FLAG_SOF_ONLY_IF_DMIC BIT(16) > #define FLAG_SOF_ONLY_IF_SOUNDWIRE BIT(17) > @@ -56,7 +57,7 @@ static const struct config_entry config_table[] = { > /* > * Apollolake (Broxton-P) > * the legacy HDAudio driver is used except on Up Squared (SOF) and > - * Chromebooks (SST), as well as devices based on the ES8336 codec > + * Chromebooks (AVS), as well as devices based on the ES8336 codec > */ > #if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE) > { > @@ -79,9 +80,9 @@ static const struct config_entry config_table[] = { > .codec_hid = &essx_83x6, > }, > #endif > -#if IS_ENABLED(CONFIG_SND_SOC_INTEL_APL) > +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_AVS) > { > - .flags = FLAG_SST, > + .flags = FLAG_AVS, > .device = PCI_DEVICE_ID_INTEL_HDA_APL, > .dmi_table = (const struct dmi_system_id []) { > { > @@ -96,13 +97,13 @@ static const struct config_entry config_table[] = { > #endif > /* > * Skylake and Kabylake use legacy HDAudio driver except for Google > - * Chromebooks (SST) > + * Chromebooks (AVS) > */ > > /* Sunrise Point-LP */ > -#if IS_ENABLED(CONFIG_SND_SOC_INTEL_SKL) > +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_AVS) > { > - .flags = FLAG_SST, > + .flags = FLAG_AVS, > .device = PCI_DEVICE_ID_INTEL_HDA_SKL_LP, > .dmi_table = (const struct dmi_system_id []) { > { > @@ -114,15 +115,17 @@ static const struct config_entry config_table[] = { > {} > } > }, > +#endif > +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_SKL) > { > .flags = FLAG_SST | FLAG_SST_ONLY_IF_DMIC, > .device = PCI_DEVICE_ID_INTEL_HDA_SKL_LP, > }, > #endif > /* Kabylake-LP */ > -#if IS_ENABLED(CONFIG_SND_SOC_INTEL_KBL) > +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_AVS) > { > - .flags = FLAG_SST, > + .flags = FLAG_AVS, > .device = PCI_DEVICE_ID_INTEL_HDA_KBL_LP, > .dmi_table = (const struct dmi_system_id []) { > { > @@ -134,6 +137,8 @@ static const struct config_entry config_table[] = { > {} > } > }, > +#endif > +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_KBL) > { > .flags = FLAG_SST | FLAG_SST_ONLY_IF_DMIC, > .device = PCI_DEVICE_ID_INTEL_HDA_KBL_LP, > @@ -667,6 +672,9 @@ int snd_intel_dsp_driver_probe(struct pci_dev *pci) > } > } > > + if (cfg->flags & FLAG_AVS) > + return SND_INTEL_DSP_DRIVER_AVS; > + > return SND_INTEL_DSP_DRIVER_LEGACY; > } > EXPORT_SYMBOL_GPL(snd_intel_dsp_driver_probe); > -- > 2.42.0 >