]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ALSA: sscape: Add suspend and resume support
authorCássio Gabriel <cassiogabrielcontato@gmail.com>
Sat, 11 Apr 2026 18:14:41 +0000 (15:14 -0300)
committerTakashi Iwai <tiwai@suse.de>
Sun, 12 Apr 2026 08:00:34 +0000 (10:00 +0200)
commit713e0f011178a2896e46db3244093454708066e2
treefe9c6318b8d4146c2f70826159a66e61270b09d9
parentf312f8b5988003a10d662904c58c8c6bc036782b
ALSA: sscape: Add suspend and resume support

The SoundScape ISA driver has lacked suspend and resume callbacks since
commit 277e926c9b27 ("[ALSA] sscape - Use platform_device").

A plain snd_wss resume is not sufficient for SoundScape. Resume also
needs to restore the board-specific gate-array routing, and non-VIVO
boards need to reinitialize the probe-time MIDI firmware and MIDI
control state when the MPU-401 side was enabled during probe.

That firmware reload can be handled in-kernel because
commit acd47100914b ("ALSA: sscape: convert to firmware loader framework")
moved the driver to request_firmware().

Add ISA and ISA-PnP PM callbacks, reconfigure the board on resume,
reload the non-VIVO MIDI firmware, restore the MIDI state, and then
resume the WSS codec. If MIDI firmware reload fails, keep the WSS resume
path alive and leave MIDI unavailable instead of failing the whole
device resume.

Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260411-alsa-sscape-pm-v2-2-aeb5682e14b0@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/isa/sscape.c