public inbox for linux-sound@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] ALSA: sscape: add suspend/resume support
@ 2026-04-11 18:14 Cássio Gabriel
  2026-04-11 18:14 ` [PATCH v2 1/2] ALSA: sscape: Cache per-card resources for board reinitialization Cássio Gabriel
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Cássio Gabriel @ 2026-04-11 18:14 UTC (permalink / raw)
  To: Takashi Iwai, Jaroslav Kysela
  Cc: linux-sound, linux-kernel, Cássio Gabriel

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>
---
Changes in v2:
- Change host_write_unsafe() and host_write_ctrl_unsafe() to return bool
- Document the helper return semantics in the function comments
- Rewrite sscape_restore_midi_state() to use the same chained-success
  style as sscape_midi_put()
- Link to v1: https://patch.msgid.link/20260411-alsa-sscape-pm-v1-0-3058d988783a@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 | 327 +++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 232 insertions(+), 95 deletions(-)
---
base-commit: c58742258cf31132b1cb7141acfcf6a49b4cffe3
change-id: 20260407-alsa-sscape-pm-438816ccfece

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


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-04-12  8:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-11 18:14 [PATCH v2 0/2] ALSA: sscape: add suspend/resume support Cássio Gabriel
2026-04-11 18:14 ` [PATCH v2 1/2] ALSA: sscape: Cache per-card resources for board reinitialization Cássio Gabriel
2026-04-11 18:14 ` [PATCH v2 2/2] ALSA: sscape: Add suspend and resume support Cássio Gabriel
2026-04-12  8:01 ` [PATCH v2 0/2] ALSA: sscape: add suspend/resume support Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox