ASoC: Intel: sof_sdw: remove FOUR_SPEAKER quirks
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Thu, 11 Apr 2024 22:03:40 +0000 (17:03 -0500)
committerMark Brown <broonie@kernel.org>
Sun, 14 Apr 2024 07:54:26 +0000 (16:54 +0900)
This patch removes a confusion between speakers and amplifiers.

The existing code keeps track of the number of amplifiers and reports
it in the 'cfg-amp' component string.

The number of speakers is defined with quirks, but those quirks are
not consistently added: in the MeteorLake case, none of the supported
platforms used such a quirk, and UCM does not use the values reported
anyways. The notion of 'FOUR_SPEAKERS' is also obsolete now with some
platforms having more than four speakers.

Let's just remove all this and only report the number of amplifiers.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20240411220347.131267-6-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/sof_sdw.c
sound/soc/intel/boards/sof_sdw_common.h

index 6253fc4641981f5be45aded04b4012b4a520ae5b..d65c5da49000a6e69ff4154a90cd124612c208a0 100644 (file)
@@ -27,7 +27,7 @@ static void log_quirks(struct device *dev)
                dev_dbg(dev, "quirk realtek,jack-detect-source %ld\n",
                        SOF_JACK_JDSRC(sof_sdw_quirk));
        if (sof_sdw_quirk & SOF_SDW_FOUR_SPK)
-               dev_dbg(dev, "quirk SOF_SDW_FOUR_SPK enabled\n");
+               dev_err(dev, "quirk SOF_SDW_FOUR_SPK enabled but no longer supported\n");
        if (sof_sdw_quirk & SOF_SDW_TGL_HDMI)
                dev_dbg(dev, "quirk SOF_SDW_TGL_HDMI enabled\n");
        if (sof_sdw_quirk & SOF_SDW_PCH_DMIC)
@@ -80,8 +80,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "098F"),
                },
-               .driver_data = (void *)(RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+               .driver_data = (void *)(RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -89,8 +88,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0990"),
                },
-               .driver_data = (void *)(RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+               .driver_data = (void *)(RT711_JD2),
        },
        /* IceLake devices */
        {
@@ -141,8 +139,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A5D")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -151,8 +148,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A5E")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -162,7 +158,6 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
                                        SOF_SDW_PCH_DMIC |
-                                       SOF_SDW_FOUR_SPK |
                                        SOF_BT_OFFLOAD_SSP(2) |
                                        SOF_SSP_BT_OFFLOAD_PRESENT),
        },
@@ -173,8 +168,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_MATCH(DMI_PRODUCT_NAME, "Ripto"),
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       SOF_SDW_PCH_DMIC |
-                                       SOF_SDW_FOUR_SPK),
+                                       SOF_SDW_PCH_DMIC),
        },
        {
                /*
@@ -258,8 +252,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A32")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -290,7 +283,6 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
                                        SOF_SDW_PCH_DMIC |
-                                       SOF_SDW_FOUR_SPK |
                                        SOF_BT_OFFLOAD_SSP(2) |
                                        SOF_SSP_BT_OFFLOAD_PRESENT),
        },
@@ -301,8 +293,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AF0")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -311,8 +302,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AF3"),
                },
                /* No Jack */
-               .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       SOF_SDW_FOUR_SPK),
+               .driver_data = (void *)(SOF_SDW_TGL_HDMI),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -321,8 +311,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AFE")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -331,8 +320,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AFF")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -341,8 +329,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B00")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -351,8 +338,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B01")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -361,8 +347,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B11")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -371,8 +356,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B12")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -400,8 +384,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B29"),
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -429,8 +412,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0BDA")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -449,8 +431,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0C10"),
                },
                /* No Jack */
-               .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       SOF_SDW_FOUR_SPK),
+               .driver_data = (void *)(SOF_SDW_TGL_HDMI),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -459,8 +440,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0C11")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -469,8 +449,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0C40")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        {
                .callback = sof_sdw_quirk_cb,
@@ -479,8 +458,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0C4F")
                },
                .driver_data = (void *)(SOF_SDW_TGL_HDMI |
-                                       RT711_JD2 |
-                                       SOF_SDW_FOUR_SPK),
+                                       RT711_JD2),
        },
        /* MeteorLake devices */
        {
@@ -2010,9 +1988,7 @@ static int mc_probe(struct platform_device *pdev)
                amp_num += codec_info_list[i].amp_num;
 
        card->components = devm_kasprintf(card->dev, GFP_KERNEL,
-                                         "cfg-spk:%d cfg-amp:%d",
-                                         (sof_sdw_quirk & SOF_SDW_FOUR_SPK)
-                                         ? 4 : 2, amp_num);
+                                         "cfg-amp:%d", amp_num);
        if (!card->components)
                return -ENOMEM;
 
index 8468487a6bd6d9e7155a05ce352009c866ebb25b..89253938ebaaa280f73904be8158fe1b9e3f479d 100644 (file)
@@ -45,6 +45,7 @@ enum {
 };
 
 #define SOF_JACK_JDSRC(quirk)          ((quirk) & GENMASK(3, 0))
+/* Deprecated and no longer supported by the code */
 #define SOF_SDW_FOUR_SPK               BIT(4)
 #define SOF_SDW_TGL_HDMI               BIT(5)
 #define SOF_SDW_PCH_DMIC               BIT(6)