ASoC: Intel: soc-acpi-intel-mtl-match: add get_function_tplg_files ops
authorBard Liao <yung-chuan.liao@linux.intel.com>
Mon, 14 Apr 2025 06:32:37 +0000 (14:32 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 14 Apr 2025 10:22:24 +0000 (11:22 +0100)
The audio configs with multi-function SDCA codecs can use the
sof_sdw_get_tplg_files ops to get function topologies dynamically.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://patch.msgid.link/20250414063239.85200-10-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/common/soc-acpi-intel-mtl-match.c

index 9e611e3667adb95aacb13b3e112ee2b876240e18..af131d26bd33eacf1a8d55507cc1e34c4d6fc3fe 100644 (file)
@@ -11,6 +11,7 @@
 #include <sound/soc-acpi.h>
 #include <sound/soc-acpi-intel-match.h>
 #include <sound/soc-acpi-intel-ssp-common.h>
+#include "sof-function-topology-lib.h"
 #include "soc-acpi-intel-sdca-quirks.h"
 #include "soc-acpi-intel-sdw-mockup-match.h"
 
@@ -1083,12 +1084,14 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
                .drv_name = "sof_sdw",
                .machine_check = snd_soc_acpi_intel_sdca_is_device_rt712_vb,
                .sof_tplg_filename = "sof-mtl-rt712-vb-l0.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = BIT(0),
                .links = mtl_712_l0,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-mtl-rt712-l0.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = GENMASK(2, 0),
@@ -1101,30 +1104,35 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
                .links = cs42l43_link0_cs35l56_link2_link3,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-mtl-cs42l43-l0-cs35l56-l23.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = BIT(0) | BIT(1) | BIT(3),
                .links = cs42l43_link3_cs35l56_x4_link0_link1_spkagg,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-mtl-cs42l43-l3-cs35l56-l01-spkagg.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = GENMASK(2, 0),
                .links = mtl_cs42l43_cs35l56,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-mtl-cs42l43-l0-cs35l56-l12.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = BIT(0) | BIT(1),
                .links = mtl_cs35l56_x8_link0_link1_fb,
                .drv_name = "sof_sdw",
-               .sof_tplg_filename = "sof-mtl-cs35l56-l01-fb8.tplg"
+               .sof_tplg_filename = "sof-mtl-cs35l56-l01-fb8.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = BIT(0),
                .links = mtl_cs42l43_l0,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-mtl-cs42l43-l0.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = GENMASK(3, 0),
@@ -1143,6 +1151,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
                .links = mtl_rt722_only,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-mtl-rt722-l0.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = BIT(0),