From: Takashi Iwai <tiwai@suse.de>
To: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Takashi Iwai <tiwai@suse.com>, Jaroslav Kysela <perex@perex.cz>,
linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/4] ALSA: isa/gus: add ISA PM support for GUS Classic, GUS Extreme and GUS MAX
Date: Mon, 06 Apr 2026 11:11:27 +0200 [thread overview]
Message-ID: <87v7e4lagw.wl-tiwai@suse.de> (raw)
In-Reply-To: <20260406-b4-alsa-gus-isa-pm-v1-0-b6829a7457cd@gmail.com>
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@gmail.com>
Applied all four patches to for-next branch.
thanks,
Takashi
next prev parent reply other threads:[~2026-04-06 9:11 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
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 ` Takashi Iwai [this message]
2026-04-06 13:52 ` [PATCH 0/4] ALSA: isa/gus: add ISA PM support for GUS Classic, GUS Extreme and GUS MAX Cássio Gabriel Monteiro Pires
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=87v7e4lagw.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.