public inbox for linux-sound@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] ALSA: isa/gus: add ISA PM support for GUS Classic, GUS Extreme and GUS MAX
@ 2026-04-06  3:20 Cássio Gabriel
  2026-04-06  3:20 ` [PATCH 1/4] ALSA: gus: add shared GF1 suspend and resume helpers Cássio Gabriel
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Cássio Gabriel @ 2026-04-06  3:20 UTC (permalink / raw)
  To: Takashi Iwai, Jaroslav Kysela
  Cc: linux-sound, linux-kernel, Cássio Gabriel

gusclassic, gusextreme and gusmax still leave their ISA PM callbacks
disabled, so a suspend/resume cycle does not restore usable GF1 operation
on these cards.

A simple wrapper around the existing GF1 start/stop paths is not enough.
Those helpers are probe and shutdown paths: they reset software handlers
and tear down runtime state such as the DRAM allocator, timer state, DMA
queues, PCM state and UART setup. Resume instead needs a narrower recovery
path that rebuilds the GF1 hardware state without rerunning probe-only
detection or discarding the bookkeeping kept by the card instance.

gusextreme and gusmax also need board-specific resume glue around that
shared GF1 recovery path. GUS Extreme has to restore the ES1688-side GF1
routing before the GF1 is touched again. GUS MAX has to rewrite the MAX
control register and restore the attached WSS codec state before the full
card is brought back.

This series does that in four steps:

- add shared GF1 suspend/resume helpers that quiesce PCM, DMA and UART
  activity and restart the GF1 hardware without rerunning memory detection
  or allocator initialization
- wire gusclassic up to the shared helpers
- wire gusextreme up as well, restoring the ES1688-side GF1 routing
  before the shared resume path runs
- wire gusmax up too, restoring the MAX control register and the WSS codec
  state around the shared GF1 resume path

The scope is limited to restoring post-resume usability for these ISA
cards. It does not attempt transparent continuation of active GF1 PCM or
synth state across suspend, and userspace may still need to reprepare
streams or reload onboard sample data after resume. Open rawmidi
substreams are restored only to a usable post-resume state.

Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
---
Cássio Gabriel (4):
      ALSA: gus: add shared GF1 suspend and resume helpers
      ALSA: gusclassic: add ISA suspend and resume callbacks
      ALSA: gusextreme: add ISA suspend and resume callbacks
      ALSA: gusmax: add ISA suspend and resume callbacks

 include/sound/gus.h        |  8 ++++++
 sound/isa/gus/gus_dma.c    | 33 ++++++++++++++++++++++++
 sound/isa/gus/gus_main.c   | 36 +++++++++++++++++++++++++++
 sound/isa/gus/gus_pcm.c    |  7 +++---
 sound/isa/gus/gus_reset.c  | 62 ++++++++++++++++++++++++++++++++++++++--------
 sound/isa/gus/gus_timer.c  | 14 +++++++++++
 sound/isa/gus/gus_uart.c   | 47 +++++++++++++++++++++++++++++++++++
 sound/isa/gus/gusclassic.c | 21 +++++++++++++++-
 sound/isa/gus/gusextreme.c | 57 +++++++++++++++++++++++++++++++++++-------
 sound/isa/gus/gusmax.c     | 28 ++++++++++++++++++++-
 10 files changed, 289 insertions(+), 24 deletions(-)
---
base-commit: 9f2a23bd5d30dc0968e56a2b6e5edb58aff1bc6d
change-id: 20260405-b4-alsa-gus-isa-pm-34f42868428e

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


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

end of thread, other threads:[~2026-04-06 13:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-06  3:20 [PATCH 0/4] ALSA: isa/gus: add ISA PM support for GUS Classic, GUS Extreme and GUS MAX Cássio Gabriel
2026-04-06  3:20 ` [PATCH 1/4] ALSA: gus: add shared GF1 suspend and resume helpers Cássio Gabriel
2026-04-06  3:20 ` [PATCH 2/4] ALSA: gusclassic: add ISA suspend and resume callbacks Cássio Gabriel
2026-04-06  3:20 ` [PATCH 3/4] ALSA: gusextreme: " Cássio Gabriel
2026-04-06  3:20 ` [PATCH 4/4] ALSA: gusmax: " Cássio Gabriel
2026-04-06  9:11 ` [PATCH 0/4] ALSA: isa/gus: add ISA PM support for GUS Classic, GUS Extreme and GUS MAX Takashi Iwai
2026-04-06 13:52   ` Cássio Gabriel Monteiro Pires

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