Re: [PATCH 0/4] ALSA: isa/gus: add ISA PM support for GUS Classic, GUS Extreme and GUS MAX

From: Takashi Iwai

Date: Mon Apr 06 2026 - 05:11:33 EST


On Mon, 06 Apr 2026 05:20:02 +0200,
Cássio Gabriel wrote:
>
> 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@xxxxxxxxx>

Applied all four patches to for-next branch.


thanks,

Takashi