]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: amd: amd_sdw: Add quirks for Dell SKU's
authorVijendar Mukunda <Vijendar.Mukunda@amd.com>
Fri, 7 Feb 2025 06:28:19 +0000 (11:58 +0530)
committerMark Brown <broonie@kernel.org>
Fri, 7 Feb 2025 13:34:00 +0000 (13:34 +0000)
This patch adds a quirk to include the codec amplifier function for Dell
SKU's listed in quirk table.

Note: In these SKU's, the RT722 codec amplifier is excluded, and an
external amplifier is used instead.

Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://patch.msgid.link/20250207062819.1527184-26-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/amd/acp/acp-sdw-legacy-mach.c
sound/soc/amd/acp/soc_amd_sdw_common.h

index 00aeea70f04e9bde3fc7f8ffc2a5b982b6d6eda9..2020c5cfb3d5d773349f5c0c4ca847c6cfe7202f 100644 (file)
@@ -28,6 +28,8 @@ static void log_quirks(struct device *dev)
                        SOC_JACK_JDSRC(soc_sdw_quirk));
        if (soc_sdw_quirk & ASOC_SDW_ACP_DMIC)
                dev_dbg(dev, "quirk SOC_SDW_ACP_DMIC enabled\n");
+       if (soc_sdw_quirk & ASOC_SDW_CODEC_SPKR)
+               dev_dbg(dev, "quirk ASOC_SDW_CODEC_SPKR enabled\n");
 }
 
 static int soc_sdw_quirk_cb(const struct dmi_system_id *id)
@@ -45,6 +47,38 @@ static const struct dmi_system_id soc_sdw_quirk_table[] = {
                },
                .driver_data = (void *)RT711_JD2,
        },
+       {
+               .callback = soc_sdw_quirk_cb,
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
+                       DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0D80"),
+               },
+               .driver_data = (void *)(ASOC_SDW_CODEC_SPKR),
+       },
+       {
+               .callback = soc_sdw_quirk_cb,
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
+                       DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0D81"),
+               },
+               .driver_data = (void *)(ASOC_SDW_CODEC_SPKR),
+       },
+       {
+               .callback = soc_sdw_quirk_cb,
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
+                       DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0D82"),
+               },
+               .driver_data = (void *)(ASOC_SDW_CODEC_SPKR),
+       },
+       {
+               .callback = soc_sdw_quirk_cb,
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
+                       DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0D83"),
+               },
+               .driver_data = (void *)(ASOC_SDW_CODEC_SPKR),
+       },
        {}
 };
 
index 9bedccfe25a9b80b4d1b764404c1f853708633a1..1f24e0e06487657bcb42544dc14f90ccd6894e3c 100644 (file)
@@ -24,6 +24,7 @@
 #define SOC_JACK_JDSRC(quirk)          ((quirk) & GENMASK(3, 0))
 #define ASOC_SDW_FOUR_SPK              BIT(4)
 #define ASOC_SDW_ACP_DMIC              BIT(5)
+#define ASOC_SDW_CODEC_SPKR            BIT(15)
 
 #define AMD_SDW0       0
 #define AMD_SDW1       1