Re: [PATCH] ALSA: hda: intel-dsp-config: Fix Huawei Matebook D14 NBLB-WAX9N quirk detection

From: Mauro Carvalho Chehab
Date: Thu Apr 18 2024 - 06:05:11 EST


Em Thu, 18 Apr 2024 09:48:27 +0100
Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> escreveu:

> Newer Matebook D14 model comes with essx8336 and supports SOF,
> but the initial models use the legacy driver, with a Realtek ALC 256
> AC97 chip on it.
>
> The BIOS seems to be prepared to be used by both models, so
> it contains an entry for ESSX8336 on its DSDT table.
>
> Add a quirk, as otherwise dspconfig driver will try to load
> SOF, causing audio probe to fail.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

Worth to mention that I opened an issue on Github about that:

https://github.com/thesofproject/linux/issues/4934

I added there the ACPI DSDT table as a reference.


> ---
> sound/hda/intel-dsp-config.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c
> index 6a384b922e4f..8e728f0585dd 100644
> --- a/sound/hda/intel-dsp-config.c
> +++ b/sound/hda/intel-dsp-config.c
> @@ -46,6 +46,22 @@ static const struct snd_soc_acpi_codecs __maybe_unused essx_83x6 = {
> * - the first successful match will win
> */
> static const struct config_entry config_table[] = {
> + /* Quirks */
> + {
> + .flags = 0, /* Model uses AC97 with Realtek ALC 256 */
> + .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP,
> + .dmi_table = (const struct dmi_system_id []) {
> + {
> + .ident = "Huawei NBLB-WAX9N",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "HUAWEI"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "NBLB-WAX9N"),
> + }
> + },
> + {}
> + }
> + },
> +
> /* Merrifield */
> #if IS_ENABLED(CONFIG_SND_SOC_SOF_MERRIFIELD)
> {