** Description changed:

  [Impact]
  Audio shows "Dummy Output" in GNOME and no input devices are available on
  Dell systems with a Cirrus Logic cs42l43 codec (SoundWire part_id 0x2A3B).
  
  The regression was introduced by commit 87a3f5c8ac20 (merged in v7.1-rc1),
  which moved spk:cs42l43-spk string generation into the generic
  asoc_sdw_rtd_init() path. That commit added component_name to the 0x4243
  cs42l43 entry but missed the 0x2A3B entry.
  
  Without component_name on the 0x2A3B dp6 DAI, asoc_sdw_rtd_init() never
  appends "spk:cs35l56-bridge" to card->components. The sof-soundwire UCM
  regex then fails to match a speaker codec, all HiFi profiles are marked
  available=no, and WirePlumber falls back to the Off profile with no nodes.
  
  Hits 100% on affected hardware.
  
  [Fix]
  Add the missing .component_name = "cs42l43-spk" field to the 0x2A3B cs42l43
  entry's AMP DAI in codec_info_list. The existing SOC_SDW_SIDECAR_AMPS
  redirect in asoc_sdw_rtd_init() then correctly translates this to
  "cs35l56-bridge" in card->components, which matches the UCM regex and the
  existing cs35l56-bridge.conf UCM file.
  
  This is an original fix; the same bug exists in linux-next and will be
  submitted upstream.
+ https://lore.kernel.org/lkml/178127688584.48375.17454457885369484858.b4-ty@b4/
  
  Fixes: 87a3f5c8ac20 ("ASoC: sdw_utils: cs42l43: allow spk component names
  to be combined")
  
  [Test Plan]
  Boot on affected Dell hardware with cs42l43 0x2A3B codec.
  
  Without patch: GNOME shows "Dummy Output", no microphone listed.
  
  With patch:
  1. Check card->components includes spk: token:
     $ cat /sys/class/sound/card0/components | grep -o 'spk:[^ ]*'
     Expected: spk:cs35l56-bridge
  
  2. Check WirePlumber selected HiFi profile:
     $ pw-cli enum-params <sof-soundwire-device-id> EnumProfile | grep -E 
'index|available'
     Expected: active profile has available=yes
  
  3. Test speaker output:
     $ speaker-test -c 2 -l 1 -t wav
     Expected: audio plays without error
  
  [Where problems could occur]
  Could affect snd-soc-sdw-utils and any machine using the cs42l43 0x2A3B
  codec with sidecar amps.
  
  If the sidecar redirect logic in asoc_sdw_rtd_init() misidentifies the
  component, the wrong spk: string could end up in card->components, causing
  UCM to select the wrong speaker init config. Speaker output would fail or
  use an incorrect routing.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2156313

Title:
  Audio shows Dummy Output on systems with Cirrus Logic cs42l43 codec

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2156313/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to