Re: [PATCH] ALSA: wavefront: add suspend and resume support

From: Takashi Iwai

Date: Wed Apr 29 2026 - 01:52:55 EST


On Mon, 27 Apr 2026 17:36:49 +0200,
Cássio Gabriel wrote:
>
> The WaveFront driver still lacks support for suspend and resume
> in both the ISA and PnP driver tables.
>
> Wire the driver into ALSA PM by storing the WSS codec pointer in the card
> private data and adding shared suspend/resume callbacks. Resume cannot
> simply rerun snd_wavefront_start(), because with the default fx_raw=1
> setting that would reset the synth on every resume and discard uploaded
> WaveFront RAM contents.
>
> Cache wavefront.os for PM, probe the ICS2115 after resume and only run
> the full reset/bootstrap path when the board comes back raw. When the
> firmware is still running, refresh the software slot bookkeeping and
> restore the MIDI routing state without forcing a synth reset.
>
> Also quiesce and restart the WaveFront MIDI output timer across suspend
> and resume so active rawmidi output does not race the PM transition.
>
> This restores the card to a usable baseline after resume while preserving
> uploaded samples and programs when the hardware state survives suspend.
> If the board resumes raw, userspace still needs to reload custom synth
> contents.
>
> Signed-off-by: Cássio Gabriel <cassiogabrielcontato@xxxxxxxxx>

Applied to for-next branch now. Thanks.


Takashi