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

Cássio Gabriel posted 2 patches 2 months ago
There is a newer version of this series
sound/isa/sscape.c | 303 ++++++++++++++++++++++++++++++++++++++---------------
1 file changed, 218 insertions(+), 85 deletions(-)
[PATCH 0/2] ALSA: sscape: add suspend/resume support
Posted by Cássio Gabriel 2 months ago
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>