Re: [PATCH] ASoC: sdw_utils: Add RT721 speaker component tag
From: Marco Griep
Date: Sun Jul 05 2026 - 12:50:20 EST
Hi Mark,
On my system it doesn't.
With the standalone RT721 ACP70 machine entry, |card->components|does not end up containing |spk:rt721|, so the RT721 speaker device is missing from the UCM component list. As a result, UCM doesn't include the speaker device and PipeWire only exposes the headset devices.
Appending |spk:rt721|from |asoc_sdw_rt_mf_sdca_spk_rtd_init()|fixes that on my ASUS Vivobook S16 M3607GA (ACP70 + RT721-SDCA). After the change, UCM exposes the expected Speaker, Headphones, Internal Mic and Headset devices.
If the token is expected to be added by |asoc_sdw_rtd_init()|, I'd be happy to investigate why that doesn't happen with this machine configuration.
Best Regards
Marco
Am 05.07.26 um 14:49 schrieb Liao, Bard:
-----Original Message-----.component_name = "rt721", is set in the rt721 codec info in
From: Marco Griep <mail@xxxxxxxxxxxxx>
Sent: Saturday, July 4, 2026 8:51 PM
To: Mark Brown <broonie@xxxxxxxxxx>; Liam Girdwood <lgirdwood@xxxxxxxxx>
Cc: Jaroslav Kysela <perex@xxxxxxxx>; Takashi Iwai <tiwai@xxxxxxxx>; Charles
Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>; Kuninori Morimoto
<kuninori.morimoto.gx@xxxxxxxxxxx>; linux-sound@xxxxxxxxxxxxxxx; linux-
kernel@xxxxxxxxxxxxxxx; Marco Griep <mail@xxxxxxxxxxxxx>
Subject: [PATCH] ASoC: sdw_utils: Add RT721 speaker component tag
The RT721 multifunction SDCA speaker helper adds the DAPM routes for
its internal speaker path, but it does not add the corresponding
spk:rt721 token to card->components.
codec_info_list[]. And the "spk" tag will be added in the
asoc_sdw_rtd_init() function. Doesn't it work on your device?
UCM uses that token to include the RT721 speaker device. Without it,
systems with standalone RT721 expose the ALSA SmartAmp PCM but PipeWire
only sees the headset devices.
Append the speaker codec token from the RT721 multifunction SDCA speaker
runtime init path so UCM can create the internal speaker route.
Tested on an ASUS Vivobook S16 M3607GA with ACP70 SoundWire RT721-SDCA.
With the standalone RT721 ACP70 machine entry, this makes the HiFi
profile expose Speaker, Headphones, internal Mic and Headset devices.
Signed-off-by: Marco Griep <mail@xxxxxxxxxxxxx>
---
sound/soc/sdw_utils/soc_sdw_rt_mf_sdca.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/sound/soc/sdw_utils/soc_sdw_rt_mf_sdca.c
b/sound/soc/sdw_utils/soc_sdw_rt_mf_sdca.c
index 5bf3627a97a0..e895397eefd6 100644
--- a/sound/soc/sdw_utils/soc_sdw_rt_mf_sdca.c
+++ b/sound/soc/sdw_utils/soc_sdw_rt_mf_sdca.c
@@ -74,6 +74,12 @@ int asoc_sdw_rt_mf_sdca_spk_rtd_init(struct
snd_soc_pcm_runtime *rtd, struct snd
return -EINVAL;
}
+ card->components = devm_kasprintf(card->dev, GFP_KERNEL,
+ "%s spk:%s",
+ card->components, codec_name);
+ if (!card->components)
+ return -ENOMEM;
+
/* Add routes */
ret = snd_soc_dapm_add_routes(dapm, route_map->route_map,
route_map->route_size);
if (ret)
base-commit: 1e9cdc2ea15adf4a821eefedabf6c0c8cf0b6a55
--
2.55.0