From: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
To: Takashi Iwai <tiwai@suse.com>, Jaroslav Kysela <perex@perex.cz>
Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
"Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Subject: [PATCH v2 0/2] ALSA: sscape: add suspend/resume support
Date: Sat, 11 Apr 2026 15:14:39 -0300 [thread overview]
Message-ID: <20260411-alsa-sscape-pm-v2-0-aeb5682e14b0@gmail.com> (raw)
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>
next reply other threads:[~2026-04-11 18:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-11 18:14 Cássio Gabriel [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260411-alsa-sscape-pm-v2-0-aeb5682e14b0@gmail.com \
--to=cassiogabrielcontato@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox