]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: sdw_utils: fix missing component_name for cs42l43 part_id 0x2A3B
authorChia-Lin Kao (AceLan) <acelan.kao@canonical.com>
Wed, 10 Jun 2026 04:17:53 +0000 (12:17 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 12 Jun 2026 15:07:57 +0000 (16:07 +0100)
commit 87a3f5c8ac20 ("ASoC: sdw_utils: cs42l43: allow spk component names
to be combined") moved spk:cs42l43-spk generation from rtd_init() into
the asoc_sdw_rtd_init() generic path by adding component_name to
codec_info_list entries. However, only the 0x4243 cs42l43 entry was
updated; the 0x2A3B entry (vendor_id 0x01fa, Cirrus Logic cs42l43 with
sidecar bridge) was missed.

Without component_name on the 0x2A3B dp6 DAI, asoc_sdw_rtd_init() never
accumulates spk_components and never appends 'spk:cs42l43-spk' (or its
sidecar alias 'spk:cs35l56-bridge') to card->components. The sof-soundwire
UCM regex ' spk:([a-z0-9]+...)' then fails to match, causing WirePlumber
to mark all HiFi profiles as unavailable=no and fall back to the Off
profile — resulting in Dummy Output in GNOME.

The existing sidecar redirect in asoc_sdw_rtd_init() already handles the
SOC_SDW_SIDECAR_AMPS case: when component_name is 'cs42l43-spk' and
sidecar amps are active, it substitutes 'cs35l56-bridge' into
card->components, which matches the existing cs35l56-bridge.conf UCM file.

Fixes: 87a3f5c8ac20 ("ASoC: sdw_utils: cs42l43: allow spk component names to be combined")
Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao@canonical.com>
Link: https://patch.msgid.link/20260610041753.1151088-1-acelan.kao@canonical.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sdw_utils/soc_sdw_utils.c

index 2a0df14711aec7c218a1875595d7b27df5993e43..d8db8fc5313ee296375921f4e302abdf42d2d2f9 100644 (file)
@@ -979,6 +979,7 @@ struct asoc_sdw_codec_info codec_info_list[] = {
                        {
                                .direction = {true, false},
                                .codec_name = "cs42l43-codec",
+                               .component_name = "cs42l43-spk",
                                .dai_name = "cs42l43-dp6",
                                .dai_type = SOC_SDW_DAI_TYPE_AMP,
                                .dailink = {SOC_SDW_AMP_OUT_DAI_ID, SOC_SDW_UNUSED_DAI_ID},