You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Related to #5720 (closed) — same hardware/subsystem (10280dba, Dell XPS 16
DA16260, SKU 0DBA), same root cause identified there
(CONFIG_SND_SOC_SDCA_CLASS missing), confirmed independently here on
Gentoo/OpenRC rather than Arch. However, after applying that fix I hit a
different, unresolved failure — #5720 ended in a fully working card, this
does not. Opening separately since it's a distinct symptom from a different
starting point in the boot sequence.
CONFIG_SND_SOC_SOF_HDA_LINK was disabled by default — enabling it was
required to get hdac_bus_eml_get_mutex() to return a real mutex instead
of the always-NULL stub in include/sound/hda-mlink.h, which caused an
immediate -ENODEV at hda_sdw_probe() before any SoundWire activity.
CONFIG_PINCTRL_INTEL_PLATFORM was not enabled — required for Panther
Lake GPIO/pinctrl. Without it, amp probing failed with Failed to add gpio mapping to AF01 (-ENXIO), matching the documented failure mode in Documentation/sound/codecs/cs35l56.rst.
Added a local DMI quirk table entry for SKU 0DBA (mirroring the existing
0DD6 entry in sof_sdw.c) — confirmed via A/B test this has no
effect on the timeout issue below (identical dmesg with/without it).
Updated to the latest available kernel point release (7.1.5) and latest
linux-firmware (20260622) — no change in behavior at that point.
This confirms the #5720 root cause is real and not distro-specific.
Current issue: bus-wide IO timeouts ~20s after enumeration
With item 5 applied, every active SoundWire link — CS42L45 on link 0 and
all four CS35L57 amps on links 2/3 — starts failing with IO/SCP timeouts
roughly 20 seconds after successful enumeration, each link failing within
~500ms of the others:
[ 21.092274] soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
[ 21.092289] soundwire sdw-master-0-0: trf on Slave 6 failed:-5 write addr 8088 count 0
[ 21.092302] snd_soc_sdca_class_function snd_soc_sdca.SmartMic.0: failed to restore register cache: -5
[ 21.596244] soundwire_intel soundwire_intel.link.0: IO transfer timed out, cmd 3 device 6 addr 5d len 1
[ 21.596300] sdca_class sdw:0:0:01fa:4245:01: Failed to sync masks in 5d
...
[ 26.131463] soundwire_intel soundwire_intel.link.2: IO transfer timed out, cmd 3 device 2 addr c1 len 1
[ 26.131500] soundwire_intel soundwire_intel.link.2: RX AVAIL 63 too long
...
[ 29.155608] soundwire_intel soundwire_intel.link.3: IO transfer timed out, cmd 3 device 2 addr c1 len 1
[ 29.155677] soundwire_intel soundwire_intel.link.3: RX AVAIL 63 too long
Result: no card registers.
$ cat /proc/asound/cards
--- no soundcards ---
$ aplay -l
aplay: device_list:279: no soundcards found...
The synchronized, sequential-by-link failure pattern (link 0 first, then 2,
then 3, each ~500ms apart) suggests a bus-wide event — possibly clock-stop
or power-state related — rather than a per-device problem. soundwire_intel
and snd_sof don't expose any module parameters I could use to test that on
this kernel (modinfo soundwire_intel | grep -i clock and modinfo snd_sof | grep -i quirk both return nothing).
Expected behavior
SoundWire bus transactions should succeed after enumeration, and a sof-soundwire card should register with working speakers/headphones/mic,
matching the result reported in #5720.
Additional notes
.config diffs and full DMI quirk patch available on request.
Happy to test patches or pull additional debug output (soundwire debugfs,
ACPI dump) — fully reproducible every boot.
Related to #5720 (closed) — same hardware/subsystem (10280dba, Dell XPS 16
DA16260, SKU 0DBA), same root cause identified there
(
CONFIG_SND_SOC_SDCA_CLASSmissing), confirmed independently here onGentoo/OpenRC rather than Arch. However, after applying that fix I hit a
different, unresolved failure — #5720 ended in a fully working card, this
does not. Opening separately since it's a distinct symptom from a different
starting point in the boot sequence.
System information
dmidecode -s system-sku-number)Logic CS35L57 Rev B2 OTP1 (amps, links 2/3)
Steps already taken
CONFIG_SND_SOC_SOF_HDA_LINKwas disabled by default — enabling it wasrequired to get
hdac_bus_eml_get_mutex()to return a real mutex insteadof the always-NULL stub in
include/sound/hda-mlink.h, which caused animmediate
-ENODEVathda_sdw_probe()before any SoundWire activity.CONFIG_PINCTRL_INTEL_PLATFORMwas not enabled — required for PantherLake GPIO/pinctrl. Without it, amp probing failed with
Failed to add gpio mapping to AF01(-ENXIO), matching the documented failure mode inDocumentation/sound/codecs/cs35l56.rst.0DD6 entry in
sof_sdw.c) — confirmed via A/B test this has noeffect on the timeout issue below (identical dmesg with/without it).
linux-firmware (20260622) — no change in behavior at that point.
CONFIG_SND_SOC_SDCA_CLASS=m(module, sinceSND_SOC/SOUNDWIREare also=mon this config — Kconfig won't allowit built-in when dependencies are modular). This was the missing piece
to get the CS42L45 driver binding and loading firmware correctly:
[ 17.563180] sdca_class sdw:0:0:01fa:4245:01: SWFT not available
[ 17.573463] Loading firmware: sdca/1fa/1028/dba/2.bin
[ 17.574342] snd_soc_sdca_class_function snd_soc_sdca.SmartMic.0: loading SWF: 1fa-2-1
[ 17.578944] Loading firmware: sdca/1fa/1028/dba/42450005.bin
[ 17.579372] snd_soc_sdca_class_function snd_soc_sdca.SmartMic.0: loading SWF: 1fa-42450005-1301
[ 18.148725] snd_soc_sdca_class_function snd_soc_sdca.UAJ.1: loading SWF: 1fa-3-1
[ 18.276777] input: HID sdw:0:0:01fa:4245:01 Consumer Control as ...
This confirms the #5720 root cause is real and not distro-specific.
Current issue: bus-wide IO timeouts ~20s after enumeration
With item 5 applied, every active SoundWire link — CS42L45 on link 0 and
all four CS35L57 amps on links 2/3 — starts failing with IO/SCP timeouts
roughly 20 seconds after successful enumeration, each link failing within
~500ms of the others:
[ 21.092274] soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
[ 21.092289] soundwire sdw-master-0-0: trf on Slave 6 failed:-5 write addr 8088 count 0
[ 21.092302] snd_soc_sdca_class_function snd_soc_sdca.SmartMic.0: failed to restore register cache: -5
[ 21.596244] soundwire_intel soundwire_intel.link.0: IO transfer timed out, cmd 3 device 6 addr 5d len 1
[ 21.596300] sdca_class sdw:0:0:01fa:4245:01: Failed to sync masks in 5d
...
[ 26.131463] soundwire_intel soundwire_intel.link.2: IO transfer timed out, cmd 3 device 2 addr c1 len 1
[ 26.131500] soundwire_intel soundwire_intel.link.2: RX AVAIL 63 too long
...
[ 29.155608] soundwire_intel soundwire_intel.link.3: IO transfer timed out, cmd 3 device 2 addr c1 len 1
[ 29.155677] soundwire_intel soundwire_intel.link.3: RX AVAIL 63 too long
Result: no card registers.
$ cat /proc/asound/cards
--- no soundcards ---
$ aplay -l
aplay: device_list:279: no soundcards found...
The synchronized, sequential-by-link failure pattern (link 0 first, then 2,
then 3, each ~500ms apart) suggests a bus-wide event — possibly clock-stop
or power-state related — rather than a per-device problem.
soundwire_inteland
snd_sofdon't expose any module parameters I could use to test that onthis kernel (
modinfo soundwire_intel | grep -i clockandmodinfo snd_sof | grep -i quirkboth return nothing).Expected behavior
SoundWire bus transactions should succeed after enumeration, and a
sof-soundwirecard should register with working speakers/headphones/mic,matching the result reported in #5720.
Additional notes
.configdiffs and full DMI quirk patch available on request.ACPI dump) — fully reproducible every boot.