Skip to content

[PTL/HURACAN] SoundWire bus clash/parity isolated to link 3 causes speaker dropout — Dell XPS 14 DA14260, 4x CS35L57 + CS42L45 #5914

Description

@vitillo

Environment

  • Laptop: Dell XPS 14 DA14260 ("HURACAN"), SKU 0DB9, board 0VRKYR, BIOS 1.8.2
  • CPU: Intel Core Ultra X7 358H (Panther Lake)
  • Audio PCI: 8086:e428 (subsys 1028:0db9), driver sof-audio-pci-intel-ptl
  • OS: Omarchy 4.0.2
  • Kernel: linux-ptl 7.1.8.arch1-2 (7.1.8-arch1-2-ptl)
  • Firmware: sof-firmware 2025.12.2-1 (ADSPFW + booted 2.14.1.1),
    linux-firmware(-cirrus) 20260810-2, alsa-ucm-conf 1.2.16.1-1
  • Userspace: pipewire 1:1.6.8-1, wireplumber 0.5.15-1

Topology: No SoundWire machine driver found for the ACPI-reported configuration → function-topology fallback:
sof-sdca-jack-id0 / sof-sdca-mic-id4 / sof-sdca-2amp-id2 /
sof-hdmi-pcm5-id5, all ABI 3:29:1 vs Kernel ABI 3:23:1.

Slaves (all Attached):

  • link 0: sdw:0:0:01fa:4245:01 (CS42L45, sdca_class, devnum 6)
  • link 2: sdw:0:2:01fa:3557:01:2 (devnum 2, tuning spkid1-l2u2) +
    sdw:0:2:01fa:3557:01:3 (devnum 1, tuning spkid0-l2u3)
  • link 3: sdw:0:3:01fa:3557:01:0 (devnum 2, tuning spkid0-l3u0) +
    sdw:0:3:01fa:3557:01:1 (devnum 1, tuning spkid0-l3u1)
  • All 4 amps: CS35L57 Rev B2 OTP1, fw:4.2.1, DSP v4.5.9,
    tuning Dell_Hurracan14.
  • Aux devices present: soundwire_intel.link.0/.2/.3 (no link.1).
  • Masters 0/2/3 report identical DisCo clocks: 4.8/9.6 MHz, row 50,
    col 4, 48 kHz, err_threshold 0, clk_stop_modes 0x3.

What's wrong?

Intermittent dropout of one speaker channel during normal desktop use.
PipeWire sink volumes/balance are unchanged (L/R 100%/0dB, balance 0.00,
no mute) before/during/after — this looks like a bus-level fault, not mixing.

Repro

No isolated trigger yet — happens roughly daily under normal desktop use.
Tighter dmesg -w ↔ audible-dropout correlation in progress
(journalctl -k -f | grep -iE "clash|parity" + speaker-test -c2 -D hw:0,2).

Log: 25/25 events on link.3 over 7 days, zero on link.2/link.0

12x control clash, 11x data clash, 2x parity:

Sep 02 21:20:47 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for data word
Sep 02 21:23:24 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for control word
Sep 02 21:23:24 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for data word
Sep 02 21:24:22 hyperion kernel: soundwire_intel soundwire_intel.link.3: Parity error
Sep 02 21:24:22 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for control word
Sep 02 21:24:22 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for data word
Sep 02 21:28:41 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for control word
Sep 02 21:28:41 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for data word
Sep 02 21:29:38 hyperion kernel: soundwire_intel soundwire_intel.link.3: Parity error
Sep 02 21:29:38 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for control word
Sep 02 21:30:31 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for control word
Sep 02 21:30:31 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for data word
Sep 02 21:34:00 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for control word
Sep 02 21:34:00 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for data word
Sep 03 12:59:58 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for control word
Sep 03 13:01:17 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for control word
Sep 03 13:04:54 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for data word
Sep 03 13:12:50 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for control word
Sep 03 16:21:35 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for control word
Sep 03 16:21:35 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for data word
Sep 03 16:26:12 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for data word
Sep 03 16:26:46 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for control word
Sep 03 16:26:46 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for data word
Sep 03 16:45:14 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for control word
Sep 03 16:45:14 hyperion kernel: soundwire_intel soundwire_intel.link.3: Bus clash for data word

Notes / asks

  • I checked drivers/soundwire/intel_auxdevice.c:sdw_master_read_intel_prop():
    SDW_MASTER_QUIRKS_CLEAR_INITIAL_{CLASH,PARITY} are already set
    unconditionally, so this is not the boot-time spurious-INT case from
    ~5.13 — these are runtime sdw_cdns_irq() reports, which only log.
  • How should I distinguish slave-bonkers vs SI vs Master-timing/PM on PTL?
    Useful next captures: per-slave SCP_INT1 at fault time, error counting +
    bus reset, debugfs intel-registers/cdns-registers for link 2 vs 3,
    PM/clock-stop isolation?
  • Happy to provide alsa-info (with dmesg), acpidump/DSDT, dyndbg
    (soundwire_bus, soundwire_cadence, soundwire_intel,
    snd_soc_sof_sdw), and dropout-correlated traces on request.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions