ASoC: intel: soc-acpi: Add missing cs42l43 endpoints
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Tue, 26 Mar 2024 16:04:12 +0000 (11:04 -0500)
committerMark Brown <broonie@kernel.org>
Tue, 26 Mar 2024 16:13:35 +0000 (16:13 +0000)
Currently the cs42l43 just specifies a single endpoint, as the current
machine driver only looks at the first endpoint specified. Future
refactoring will process all endpoints, as such proper specification
should be added for all the cs42l43 endpoints.

Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://msgid.link/r/20240326160429.13560-18-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/common/soc-acpi-intel-mtl-match.c
sound/soc/intel/common/soc-acpi-intel-tgl-match.c

index e9a5da0790890910273f49f7021db5efd1746284..e06efc5b1457a182d738bbf064578a7400bf76db 100644 (file)
@@ -338,11 +338,32 @@ static const struct snd_soc_acpi_link_adr mtl_712_only[] = {
        {}
 };
 
+static const struct snd_soc_acpi_endpoint cs42l43_endpoints[] = {
+       { /* Jack Playback Endpoint */
+               .num = 0,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+       { /* DMIC Capture Endpoint */
+               .num = 1,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+       { /* Jack Capture Endpoint */
+               .num = 2,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+};
+
 static const struct snd_soc_acpi_adr_device cs42l43_0_adr[] = {
        {
                .adr = 0x00003001FA424301ull,
-               .num_endpoints = 1,
-               .endpoints = &single_endpoint,
+               .num_endpoints = ARRAY_SIZE(cs42l43_endpoints),
+               .endpoints = cs42l43_endpoints,
                .name_prefix = "cs42l43"
        }
 };
index 0fba0a60d9c79361c5fb6856458224e21f5eb4c4..007f1ac2327aed3e54b3da57344e7c62f085c454 100644 (file)
@@ -414,11 +414,32 @@ static const struct snd_soc_acpi_link_adr tgl_712_only[] = {
        {}
 };
 
+static const struct snd_soc_acpi_endpoint cs42l43_endpoints[] = {
+       { /* Jack Playback Endpoint */
+               .num = 0,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+       { /* DMIC Capture Endpoint */
+               .num = 1,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+       { /* Jack Capture Endpoint */
+               .num = 2,
+               .aggregated = 0,
+               .group_position = 0,
+               .group_id = 0,
+       },
+};
+
 static const struct snd_soc_acpi_adr_device cs42l43_3_adr[] = {
        {
                .adr = 0x00033001FA424301ull,
-               .num_endpoints = 1,
-               .endpoints = &single_endpoint,
+               .num_endpoints = ARRAY_SIZE(cs42l43_endpoints),
+               .endpoints = cs42l43_endpoints,
                .name_prefix = "cs42l43"
        }
 };