Describe the bug
On a Lenovo Yoga Slim 7 14ILL11 (83R0, PCI subsystem 17aa:383c), the SOF SoundWire driver fails to register any ALSA sound card.
The system has no 3.5 mm headset jack. Its internal audio hardware consists of a CS42L43 SoundWire codec connected to two CS35L56 smart amplifiers. The machine driver correctly detects the sidecar amplifier configuration and the system's four-channel DMIC array, but function-topology selection falls back to the legacy monolithic CS42L43 topology.
That topology contains Playback-SimpleJack endpoints that are not present on this hardware. As a result, topology loading fails with -22, and the sof_sdw card is not instantiated.
The failure occurs before any ALSA card is registered:
$ aplay -l
aplay: device_list:279: no soundcards found...
$ cat /proc/asound/cards
--- no soundcards ---
What I have tried to diagnose or workaround this issue
- Verified the SoundWire and DMIC topology selection path in the kernel logs.
- Confirmed that the machine driver detects the expected CS42L43/CS35L56 sidecar configuration.
- Confirmed that no
Playback-SimpleJack DAI is created for this model.
- Applied a local SSID-gated patch to skip
cs42l43-cs35l56 and SSP2-BT during function-topology selection. With that patch, the system successfully registers sof-soundwire, speaker and HDMI playback, and a four-channel DMIC device.
To Reproduce
- Boot Fedora 44 KDE on a Lenovo Yoga Slim 7 14ILL11 (
83R0).
- Allow the default kernel and SOF drivers to load.
- Run
aplay -l or cat /proc/asound/cards.
- Observe that no soundcards are listed.
- Inspect the kernel log for topology load failures involving
Playback-SimpleJack.
Reproduction Rate
All the time — 100% on every boot.
Expected behavior
The driver should select the proper function-topology fragment for this no-jack SmartAmp system instead of falling back to the legacy monolithic sof-lnl-cs42l43-l0-4ch.tplg topology.
The system should register a sof-soundwire ALSA card with:
- Internal speaker playback
- Four-channel DMIC capture
- HDMI playback
- No nonexistent headset-jack endpoints
Impact
Showstopper for internal audio. Internal speakers and microphones are unavailable, and the machine provides no usable ALSA card from SOF SoundWire.
Environment
- Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
- Kernel: 7.2.5-200.fc44.x86_64
- SOF: 2025.12.2-1.fc44
- Name of the topology file
- Topology:
sof-lnl-cs42l43-l0-4ch.tplg (incorrect fallback) / sof-sdca-1amp-id2.tplg (expected function topology)
- Name of the platform(s) on which the bug is observed.
- Platform: Lenovo Yoga Slim 7 14ILL11 (83R0), Intel Core Ultra 200V, subsystem
17aa:383c
Screenshots or console output
Relevant kernel log:
sof-audio-pci-intel-lnl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
sof-audio-pci-intel-lnl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
sof-audio-pci-intel-lnl 0000:00:1f.3: DMICs detected in NHLT tables: 4
sof-audio-pci-intel-lnl 0000:00:1f.3: loading topology: intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-4ch.tplg
sof-audio-pci-intel-lnl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
sof-audio-pci-intel-lnl 0000:00:1f.3: error: can't connect DAI alh-copier.Playback-SimpleJack.0 stream Playback-SimpleJack
sof-audio-pci-intel-lnl 0000:00:1f.3: failed to add widget type 28 name : alh-copier.Playback-SimpleJack.0 stream Playback-SimpleJack
sof_sdw sof_sdw: ASoC: failed to load widget alh-copier.Playback-SimpleJack.0
sof_sdw sof_sdw: ASoC: topology: could not load header: -22
sof-audio-pci-intel-lnl 0000:00:1f.3: tplg intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-4ch.tplg component load failed -22
sof-audio-pci-intel-lnl 0000:00:1f.3: error: failed to load DSP topology -22
sof_sdw sof_sdw: ASoC: failed to instantiate card -22
Dynamic-debug output confirms the expected sidecar configuration is detected:
sof_sdw sof_sdw: Entry
sof_sdw sof_sdw: quirk SOC_SDW_SIDECAR_AMPS enabled
sof_sdw sof_sdw: DAI link numbers: sdw 2, ssp 0, dmic 2, hdmi 3, bt: 1
sof_sdw sof_sdw: Added echo reference DAI link
The system does not expose a 3.5 mm jack, and no Playback-SimpleJack DAI is created. This is consistent with the model's no-jack SmartAmp configuration.
The issue appears to be in the function-topology selection path rather than in firmware loading itself. Relevant kernel code paths are:
sound/soc/intel/common/sof-function-topology-lib.c
sound/soc/intel/boards/sof_sdw.c
sound/soc/sdw_utils/soc_sdw_bridge_cs35l56.c
sound/soc/sof/topology.c
The likely root cause is that sof_sdw_get_tplg_files() does not recognize the machine-created cs42l43-cs35l56 sidecar bridge and the NHLT SSP2-BT link as best-effort entries, so it falls back to the incompatible monolithic Jack topology instead of the correct no-jack SmartAmp function topology.
An SSID-gated local patch that skips cs42l43-cs35l56 and SSP2-BT during function-topology fragment selection allows the correct topology to be loaded successfully. With the patch applied, the system registers sof-soundwire and exposes internal speaker playback plus DMIC capture.
Describe the bug
On a Lenovo Yoga Slim 7 14ILL11 (
83R0, PCI subsystem17aa:383c), the SOF SoundWire driver fails to register any ALSA sound card.The system has no 3.5 mm headset jack. Its internal audio hardware consists of a CS42L43 SoundWire codec connected to two CS35L56 smart amplifiers. The machine driver correctly detects the sidecar amplifier configuration and the system's four-channel DMIC array, but function-topology selection falls back to the legacy monolithic CS42L43 topology.
That topology contains
Playback-SimpleJackendpoints that are not present on this hardware. As a result, topology loading fails with-22, and thesof_sdwcard is not instantiated.The failure occurs before any ALSA card is registered:
What I have tried to diagnose or workaround this issue
Playback-SimpleJackDAI is created for this model.cs42l43-cs35l56andSSP2-BTduring function-topology selection. With that patch, the system successfully registerssof-soundwire, speaker and HDMI playback, and a four-channel DMIC device.To Reproduce
83R0).aplay -lorcat /proc/asound/cards.Playback-SimpleJack.Reproduction Rate
All the time — 100% on every boot.
Expected behavior
The driver should select the proper function-topology fragment for this no-jack SmartAmp system instead of falling back to the legacy monolithic
sof-lnl-cs42l43-l0-4ch.tplgtopology.The system should register a
sof-soundwireALSA card with:Impact
Showstopper for internal audio. Internal speakers and microphones are unavailable, and the machine provides no usable ALSA card from SOF SoundWire.
Environment
sof-lnl-cs42l43-l0-4ch.tplg(incorrect fallback) /sof-sdca-1amp-id2.tplg(expected function topology)17aa:383cScreenshots or console output
Relevant kernel log:
Dynamic-debug output confirms the expected sidecar configuration is detected:
The system does not expose a 3.5 mm jack, and no
Playback-SimpleJackDAI is created. This is consistent with the model's no-jack SmartAmp configuration.The issue appears to be in the function-topology selection path rather than in firmware loading itself. Relevant kernel code paths are:
sound/soc/intel/common/sof-function-topology-lib.csound/soc/intel/boards/sof_sdw.csound/soc/sdw_utils/soc_sdw_bridge_cs35l56.csound/soc/sof/topology.cThe likely root cause is that
sof_sdw_get_tplg_files()does not recognize the machine-createdcs42l43-cs35l56sidecar bridge and the NHLTSSP2-BTlink as best-effort entries, so it falls back to the incompatible monolithic Jack topology instead of the correct no-jack SmartAmp function topology.An SSID-gated local patch that skips
cs42l43-cs35l56andSSP2-BTduring function-topology fragment selection allows the correct topology to be loaded successfully. With the patch applied, the system registerssof-soundwireand exposes internal speaker playback plus DMIC capture.