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>
This commit is contained in:
Bard Liao 2026-05-15 16:30:43 +08:00 committed by Mark Brown
parent bf628fa4d4
commit c84179a1d3
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -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;