From: Greg Kroah-Hartman <gre...@linuxfoundation.org>

From: Pierre-Louis Bossart <pierre-louis.boss...@linux.intel.com>

[ Upstream commit 3d09cf8d0d791a41a75123e135f604d59f4aa870 ]

The quirk table is a mess, let's reorganize it by generation before
making sure that the quirks are consistent for each generation.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.boss...@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovet...@intel.com>
Reviewed-by: Kai Vehmanen <kai.vehma...@linux.intel.com>
Link: 
https://lore.kernel.org/r/20210208233336.59449-2-pierre-louis.boss...@linux.intel.com
Signed-off-by: Mark Brown <broo...@kernel.org>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 sound/soc/intel/boards/sof_sdw.c | 73 +++++++++++++++++---------------
 1 file changed, 38 insertions(+), 35 deletions(-)

diff --git a/sound/soc/intel/boards/sof_sdw.c b/sound/soc/intel/boards/sof_sdw.c
index daca06dde99b..9e2e8f508ed4 100644
--- a/sound/soc/intel/boards/sof_sdw.c
+++ b/sound/soc/intel/boards/sof_sdw.c
@@ -48,37 +48,14 @@ static int sof_sdw_quirk_cb(const struct dmi_system_id *id)
 }
 
 static const struct dmi_system_id sof_sdw_quirk_table[] = {
+       /* CometLake devices */
        {
                .callback = sof_sdw_quirk_cb,
                .matches = {
-                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
-                       DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A32")
-               },
-               .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       SOF_RT711_JD_SRC_JD2 |
-                                       SOF_RT715_DAI_ID_FIX |
-                                       SOF_SDW_FOUR_SPK),
-       },
-       {
-               .callback = sof_sdw_quirk_cb,
-               .matches = {
-                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
-                       DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A3E")
-               },
-               .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       SOF_RT711_JD_SRC_JD2 |
-                                       SOF_RT715_DAI_ID_FIX),
-       },
-       {
-               .callback = sof_sdw_quirk_cb,
-               .matches = {
-                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
-                       DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A5E")
+                       DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "CometLake Client"),
                },
-               .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       SOF_RT711_JD_SRC_JD2 |
-                                       SOF_RT715_DAI_ID_FIX |
-                                       SOF_SDW_FOUR_SPK),
+               .driver_data = (void *)SOF_SDW_PCH_DMIC,
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -109,7 +86,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                                        SOF_RT715_DAI_ID_FIX |
                                        SOF_SDW_FOUR_SPK),
        },
-               {
+       {
                .callback = sof_sdw_quirk_cb,
                .matches = {
                        DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
@@ -119,6 +96,16 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                                        SOF_RT715_DAI_ID_FIX |
                                        SOF_SDW_FOUR_SPK),
        },
+       /* IceLake devices */
+       {
+               .callback = sof_sdw_quirk_cb,
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Ice Lake Client"),
+               },
+               .driver_data = (void *)SOF_SDW_PCH_DMIC,
+       },
+       /* TigerLake devices */
        {
                .callback = sof_sdw_quirk_cb,
                .matches = {
@@ -134,18 +121,23 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = 
{
        {
                .callback = sof_sdw_quirk_cb,
                .matches = {
-                       DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
-                       DMI_MATCH(DMI_PRODUCT_NAME, "Ice Lake Client"),
+                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
+                       DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A3E")
                },
-               .driver_data = (void *)SOF_SDW_PCH_DMIC,
+               .driver_data = (void *)(SOF_SDW_TGL_HDMI |
+                                       SOF_RT711_JD_SRC_JD2 |
+                                       SOF_RT715_DAI_ID_FIX),
        },
        {
                .callback = sof_sdw_quirk_cb,
                .matches = {
-                       DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
-                       DMI_MATCH(DMI_PRODUCT_NAME, "CometLake Client"),
+                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
+                       DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A5E")
                },
-               .driver_data = (void *)SOF_SDW_PCH_DMIC,
+               .driver_data = (void *)(SOF_SDW_TGL_HDMI |
+                                       SOF_RT711_JD_SRC_JD2 |
+                                       SOF_RT715_DAI_ID_FIX |
+                                       SOF_SDW_FOUR_SPK),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -167,7 +159,18 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                                        SOF_SDW_PCH_DMIC |
                                        SOF_SDW_FOUR_SPK),
        },
-
+       /* TigerLake-SDCA devices */
+       {
+               .callback = sof_sdw_quirk_cb,
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
+                       DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A32")
+               },
+               .driver_data = (void *)(SOF_SDW_TGL_HDMI |
+                                       SOF_RT711_JD_SRC_JD2 |
+                                       SOF_RT715_DAI_ID_FIX |
+                                       SOF_SDW_FOUR_SPK),
+       },
        {}
 };
 
-- 
2.30.1



Reply via email to