sof-soundwire: cs42l45 silent on boot when headphones already plugged in

GitHub issues - opened <[email protected]>
Newsgroups gmane.linux.alsa.devel
Message-ID <[email protected]>
alsa-project/alsa-ucm-conf issue #833 was opened from kafatekactual:

# sof-soundwire: cs42l45 silent on boot when headphones already plugged in

## Describe the bug

On Dell XPS 16 DA16260 (`sof-soundwire`, headset codec `cs42l45`), rebooting **with headphones already plugged in** yields no sound from headphones or speakers. The desktop correctly shows headphones as plugged in and selected. Unplugging and replugging the jack immediately restores headphone audio.

This matches the class of bug in https://github.com/alsa-project/alsa-ucm-conf/issues/804 (`cs42l43` missing Headphone Switch in UCM EnableSequence). The shipped `cs42l45` device section has **no EnableSequence / DisableSequence** at all — only jack + mixer element names — so a boot with the jack already inserted never runs a path-enable sequence.

Current `/usr/share/alsa/ucm2/sof-soundwire/cs42l45.conf` (alsa-ucm-conf 1.2.16.1):

```
SectionDevice."Headphones" {
	Comment "Headphones"

	Value {
		PlaybackPriority 200
		PlaybackPCM "hw:${CardId},0"
		PlaybackMixer "default:${CardId}"
		PlaybackMixerElem "cs42l45 Headphone"
		JackControl "cs42l45 OT 43 Headphone Jack"
	}
}
```

`alsa.components` on this machine:

```
HDA:80862822,80860101,00100000  cfg-amp:4 iec61937-pcm:7,6,5 hs:cs42l45 mic:cs42l45-dmic spk:cs35l56
```

PipeWire selects `HiFi__Headphones__sink` and the Headphones port is `available`. After a replug, `cs42l45 Headphone Playback Switch` is `on,on`. We did not capture mixer state during the silent boot (reporting after recovery).

## Steps to reproduce

1. Plug in 3.5 mm headphones.
2. Reboot.
3. Play audio. UI shows headphones selected; no sound on headphones or speakers.
4. Unplug and replug headphones → sound returns on headphones.

## Hardware / software

| Item | Value |
|------|--------|
| Machine | Dell Inc. XPS 16 DA16260 (board 0H2HX9) |
| Card | sof-soundwire / `snd_soc_sof_sdw` |
| Codec | cs42l45 + cs35l56 amps + cs42l45-dmic |
| Kernel | linux 7.1.8.arch1-3 |
| alsa-ucm-conf | 1.2.16.1-1 |
| PipeWire | 1.6.8 |
| WirePlumber | 0.5.15 |
| Distro | Omarchy 4.0.0-1 (Arch) |

## Expected

Boot with headphones inserted should enable the headphone analog path (same as a jack-insert event) so playback is audible without unplug/replug.

## Suggested direction

Add Enable/Disable sequences (and `PlaybackSwitch` if appropriate) for `cs42l45 Headphone Playback Switch` / related FU/OT controls, analogous to the `cs42l43` fix discussed in #804, so UCM applies the path when the Headphones device is enabled at session start — not only on a hotplug edge.

Issue URL     : https://github.com/alsa-project/alsa-ucm-conf/issues/833
Repository URL: https://github.com/alsa-project/alsa-ucm-conf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.