]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: amd: acp: add DMI override for ACP70 flag
authorHasun Park <hasunpark@gmail.com>
Sun, 8 Mar 2026 15:16:52 +0000 (00:16 +0900)
committerMark Brown <broonie@kernel.org>
Mon, 16 Mar 2026 00:14:34 +0000 (00:14 +0000)
Some ASUS ProArt PX13 systems expose ACP ACPI config flags that can
select a non-working fallback path.

Add a DMI override in snd_amd_acp_find_config() for ACP70+ boards and
return 0 so ACP ACPI flag-based selection is skipped on this platform.

This keeps machine driver selection on the intended SoundWire path.

Signed-off-by: Hasun Park <hasunpark@gmail.com>
Link: https://patch.msgid.link/20260308151654.29059-2-hasunpark@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/amd/acp-config.c

index 365209ea53f36598d4c9b9c1041b818952c6666e..1604ed679224ba9fd8cc4dbd56a76a291f739697 100644 (file)
 
 static int acp_quirk_data;
 
+static const struct dmi_system_id acp70_acpi_flag_override_table[] = {
+       {
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC."),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "HN7306EA"),
+               },
+       },
+       {}
+};
+
 static const struct config_entry config_table[] = {
        {
                .flags = FLAG_AMD_SOF,
@@ -186,8 +196,11 @@ int snd_amd_acp_find_config(struct pci_dev *pci)
         */
        if (!pci->revision)
                return 0;
-       else if (pci->revision >= ACP_7_0_REV)
+       else if (pci->revision >= ACP_7_0_REV) {
+               if (dmi_check_system(acp70_acpi_flag_override_table))
+                       return 0;
                return snd_amd_acp_acpi_find_config(pci);
+       }
 
        for (i = 0; i < ARRAY_SIZE(config_table); i++, table++) {
                if (table->device != device)