]> exis.tech > repos - linux.git/commit
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)
commitc429fbea6174a7dd40c4215288589a50e8a33ff6
treedf5c5dd3225cc8b4dc4711609b4c1c27d8567c91
parentbebfc08c1b86f0b6a848e16fa4ccdf80fc21b01e
ASoC: sdw_utils: fix missing component_name for cs42l43 part_id 0x2A3B

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