[PATCH 0/2] ALSA: sscape: add suspend/resume support

Cássio Gabriel
2026-04-11T04:54:38Z

The SoundScape driver does more during probe than a plain WSS bring-up.
It programs board-specific gate-array routing and, on non-VIVO boards,
loads MIDI firmware and restores MIDI state before the MPU-401 side is
usable. The driver still lacks suspend and resume callbacks, so that
probe-time state is not restored after a system sleep cycle.

Generic WSS power management is not sufficient here because it only
restores codec state. SoundScape resume also needs to restore the board
routing, and on non-VIVO boards it needs to reinitialize the MIDI side
when it was successfully enabled at probe time.

- Patch 1 stores the resolved per-card resources in struct soundscape,
factors the board reinitialization path into a helper, and reuses the
MIDI state programming sequence.
- Patch 2 adds ISA and ISA-PnP PM callbacks, reapplies the board
configuration on resume, restores the non-VIVO MIDI firmware and MIDI
state when applicable, and keeps the WSS side available even if MIDI
restoration fails.

The board restore path also replays the OPUS AD1845 activation step used
during detection so that resume matches the existing bring-up sequence
more closely.

Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
---
Cássio Gabriel (2):
ALSA: sscape: Cache per-card resources for board reinitialization
ALSA: sscape: Add suspend and resume support

sound/isa/sscape.c | 303 ++++++++++++++++++++++++++++++++++++++---------------
1 file changed, 218 insertions(+), 85 deletions(-)
---
base-commit: ddd3315ee2dab1d547f99fcd90a3f533d6688730
change-id: 20260407-alsa-sscape-pm-438816ccfece

Best regards,
--
Cássio Gabriel <cassiogabrielcontato@gmail.com>