aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
authorBard Liao <yung-chuan.liao@linux.intel.com>2026-05-15 16:30:43 +0800
committerMark Brown <broonie@kernel.org>2026-05-15 22:43:27 +0900
commitc84179a1d36bebe99d9694502737ae9f3a90d2bc (patch)
tree2c6a57dd62a6d0b632b76576c604d8e11c7be53b /sound
parentbf628fa4d403f32e51081fd62f1093c74961e0c7 (diff)
downloadlinux-next-history-c84179a1d36bebe99d9694502737ae9f3a90d2bc.tar.gz
ASoC: Intel: sof_sdw: append dai type to dai link name unconditionally
The dai_type is used to select function topologies. Since the topology stream name and DAI link name use partial matching, unconditionally appending the dai_type provides necessary selection metadata without breaking existing topologies. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com> Link: https://patch.msgid.link/20260515083043.1864426-1-yung-chuan.liao@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/intel/boards/sof_sdw.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/sound/soc/intel/boards/sof_sdw.c b/sound/soc/intel/boards/sof_sdw.c
index c18ec607e0296..5c4682f9f7c9b 100644
--- a/sound/soc/intel/boards/sof_sdw.c
+++ b/sound/soc/intel/boards/sof_sdw.c
@@ -901,10 +901,16 @@ static int create_sdw_dailink(struct snd_soc_card *card,
}
}
+ /*
+ * The dai_type is used to select function topologies. Since the topology stream name
+ * and DAI link name use partial matching, unconditionally appending the dai_type provides
+ * necessary selection metadata without breaking existing topologies. Although
+ * ctx->append_dai_type is not checked here, we overwrite it to ensure consistency in case
+ * it is referenced elsewhere.
+ */
+ ctx->append_dai_type = true;
for_each_pcm_streams(stream) {
static const char * const sdw_stream_name[] = {
- "SDW%d-Playback",
- "SDW%d-Capture",
"SDW%d-Playback-%s",
"SDW%d-Capture-%s",
};
@@ -932,15 +938,10 @@ static int create_sdw_dailink(struct snd_soc_card *card,
}
/* create stream name according to first link id */
- if (ctx->append_dai_type)
- name = devm_kasprintf(dev, GFP_KERNEL,
- sdw_stream_name[stream + 2],
- ffs(sof_end->link_mask) - 1,
- type_strings[sof_end->dai_info->dai_type]);
- else
- name = devm_kasprintf(dev, GFP_KERNEL,
- sdw_stream_name[stream],
- ffs(sof_end->link_mask) - 1);
+ name = devm_kasprintf(dev, GFP_KERNEL,
+ sdw_stream_name[stream],
+ ffs(sof_end->link_mask) - 1,
+ type_strings[sof_end->dai_info->dai_type]);
if (!name)
return -ENOMEM;