]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: amd: acp: update DMI quirk and add ACP DMIC for Lenovo platforms
authorSyed Saba Kareem <Syed.SabaKareem@amd.com>
Wed, 8 Apr 2026 13:30:06 +0000 (19:00 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Apr 2026 11:30:42 +0000 (13:30 +0200)
[ Upstream commit 6b6f7263d626886a96fce6352f94dfab7a24c339 ]

Replace DMI_EXACT_MATCH with DMI_MATCH for Lenovo SKU entries (21YW,
21YX) so the quirk applies to all variants of these models, not just
exact SKU matches.

Add ASOC_SDW_ACP_DMIC flag alongside ASOC_SDW_CODEC_SPKR in driver_data
for these Lenovo platform entries, as these platforms use ACP PDM DMIC
instead of SoundWire DMIC for digital microphone support.

Fixes: 3acf517e1ae0 ("ASoC: amd: amd_sdw: add machine driver quirk for Lenovo models")
Tested-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://patch.msgid.link/20260408133029.1368317-1-syed.sabakareem@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/amd/acp/acp-sdw-legacy-mach.c

index 2e0f751afe2502ce1fc2d38c97a5390564bb9b45..9d674436727687b83a4a97c30ab0da21553f099f 100644 (file)
@@ -99,17 +99,17 @@ static const struct dmi_system_id soc_sdw_quirk_table[] = {
                .callback = soc_sdw_quirk_cb,
                .matches = {
                        DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
-                       DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "21YW"),
+                       DMI_MATCH(DMI_PRODUCT_SKU, "21YW"),
                },
-               .driver_data = (void *)(ASOC_SDW_CODEC_SPKR),
+               .driver_data = (void *)((ASOC_SDW_CODEC_SPKR) | (ASOC_SDW_ACP_DMIC)),
        },
        {
                .callback = soc_sdw_quirk_cb,
                .matches = {
                        DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
-                       DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "21YX"),
+                       DMI_MATCH(DMI_PRODUCT_SKU, "21YX"),
                },
-               .driver_data = (void *)(ASOC_SDW_CODEC_SPKR),
+               .driver_data = (void *)((ASOC_SDW_CODEC_SPKR) | (ASOC_SDW_ACP_DMIC)),
        },
        {
                .callback = soc_sdw_quirk_cb,