Unverified Commit d348b418 authored by Bard Liao's avatar Bard Liao Committed by Mark Brown
Browse files

ASoC: Intel: soc-acpi-intel-arl-match: set get_function_tplg_files ops



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: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: default avatarLiam Girdwood <liam.r.girdwood@intel.com>
Reviewed-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: default avatarPéter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://patch.msgid.link/20250414063239.85200-8-yung-chuan.liao@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 143b7a87
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -8,6 +8,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"

static const struct snd_soc_acpi_endpoint single_endpoint = {
	.num = 0,
@@ -436,42 +437,49 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_sdw_machines[] = {
		.links = arl_cs42l43_l0_cs35l56_l23,
		.drv_name = "sof_sdw",
		.sof_tplg_filename = "sof-arl-cs42l43-l0-cs35l56-l23.tplg",
		.get_function_tplg_files = sof_sdw_get_tplg_files,
	},
	{
		.link_mask = BIT(0) | BIT(2) | BIT(3),
		.links = arl_cs42l43_l0_cs35l56_2_l23,
		.drv_name = "sof_sdw",
		.sof_tplg_filename = "sof-arl-cs42l43-l0-cs35l56-l23.tplg",
		.get_function_tplg_files = sof_sdw_get_tplg_files,
	},
	{
		.link_mask = BIT(0) | BIT(2) | BIT(3),
		.links = arl_cs42l43_l0_cs35l56_3_l23,
		.drv_name = "sof_sdw",
		.sof_tplg_filename = "sof-arl-cs42l43-l0-cs35l56-l23.tplg",
		.get_function_tplg_files = sof_sdw_get_tplg_files,
	},
	{
		.link_mask = BIT(0) | BIT(2),
		.links = arl_cs42l43_l0_cs35l56_l2,
		.drv_name = "sof_sdw",
		.sof_tplg_filename = "sof-arl-cs42l43-l0-cs35l56-l2.tplg",
		.get_function_tplg_files = sof_sdw_get_tplg_files,
	},
	{
		.link_mask = BIT(0),
		.links = arl_cs42l43_l0,
		.drv_name = "sof_sdw",
		.sof_tplg_filename = "sof-arl-cs42l43-l0.tplg",
		.get_function_tplg_files = sof_sdw_get_tplg_files,
	},
	{
		.link_mask = BIT(2),
		.links = arl_cs42l43_l2,
		.drv_name = "sof_sdw",
		.sof_tplg_filename = "sof-arl-cs42l43-l2.tplg",
		.get_function_tplg_files = sof_sdw_get_tplg_files,
	},
	{
		.link_mask = BIT(2) | BIT(3),
		.links = arl_cs42l43_l2_cs35l56_l3,
		.drv_name = "sof_sdw",
		.sof_tplg_filename = "sof-arl-cs42l43-l2-cs35l56-l3.tplg",
		.get_function_tplg_files = sof_sdw_get_tplg_files,
	},
	{
		.link_mask = 0x1, /* link0 required */
@@ -490,6 +498,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_sdw_machines[] = {
		.links = arl_rt722_l0_rt1320_l2,
		.drv_name = "sof_sdw",
		.sof_tplg_filename = "sof-arl-rt722-l0_rt1320-l2.tplg",
		.get_function_tplg_files = sof_sdw_get_tplg_files,
	},
	{},
};