[PATCH 0/2] ALSA: msnd: add suspend/resume support

Cássio Gabriel posted 2 patches 2 months, 1 week ago
sound/isa/msnd/msnd.c                | 72 ++++++++++++++++++---------
sound/isa/msnd/msnd.h                |  3 ++
sound/isa/msnd/msnd_pinnacle.c       | 95 +++++++++++++++++++++++++++++++++++-
sound/isa/msnd/msnd_pinnacle_mixer.c |  4 ++
4 files changed, 149 insertions(+), 25 deletions(-)
[PATCH 0/2] ALSA: msnd: add suspend/resume support
Posted by Cássio Gabriel 2 months, 1 week ago
The msnd drivers still have no system-sleep callbacks, and the shared
driver file still carries a FIXME for suspend/resume. Probe already
depends on rebuilding volatile device state by resetting the DSP,
uploading firmware, reinitializing shared memory, restoring mixer
settings, and calibrating the ADC. Without matching PM callbacks, the
driver has no defined way to recover that state after suspend.

This small series adds the missing suspend/resume support with the
minimum scope needed for the current driver.

Patch 1 prepares the driver for PM by:
- accepting SNDRV_PCM_TRIGGER_SUSPEND in the PCM trigger callbacks
- factoring the IRQ enable/disable bodies and adding a helper that can
  quiesce or rearm the shared IRQ without disturbing irq_ref
- restoring cached master-volume values when mixer state is rebuilt
  after DSP reinitialization

Patch 2 adds the actual PM callbacks by:
- saving the current capture-source selection and msnd-side MIDI input
  state
- adding shared card suspend/resume helpers
- wiring those helpers into the ISA driver and the Pinnacle PnP card
  driver with the current callback signatures

The series intentionally does not add trigger-level PCM resume support.
The driver can rebuild hardware state on system resume, but it does not
preserve enough runtime queue state to justify advertising full
SNDRV_PCM_INFO_RESUME semantics in this change.

Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
---
Cássio Gabriel (2):
      ALSA: msnd: prepare system sleep support
      ALSA: msnd: add ISA and PnP system sleep callbacks

 sound/isa/msnd/msnd.c                | 72 ++++++++++++++++++---------
 sound/isa/msnd/msnd.h                |  3 ++
 sound/isa/msnd/msnd_pinnacle.c       | 95 +++++++++++++++++++++++++++++++++++-
 sound/isa/msnd/msnd_pinnacle_mixer.c |  4 ++
 4 files changed, 149 insertions(+), 25 deletions(-)
---
base-commit: 9f2a23bd5d30dc0968e56a2b6e5edb58aff1bc6d
change-id: 20260403-msnd-pm-support-e14d428ca426

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

Re: [PATCH 0/2] ALSA: msnd: add suspend/resume support
Posted by Takashi Iwai 2 months, 1 week ago
On Thu, 09 Apr 2026 07:07:44 +0200,
Cássio Gabriel wrote:
> 
> The msnd drivers still have no system-sleep callbacks, and the shared
> driver file still carries a FIXME for suspend/resume. Probe already
> depends on rebuilding volatile device state by resetting the DSP,
> uploading firmware, reinitializing shared memory, restoring mixer
> settings, and calibrating the ADC. Without matching PM callbacks, the
> driver has no defined way to recover that state after suspend.
> 
> This small series adds the missing suspend/resume support with the
> minimum scope needed for the current driver.
> 
> Patch 1 prepares the driver for PM by:
> - accepting SNDRV_PCM_TRIGGER_SUSPEND in the PCM trigger callbacks
> - factoring the IRQ enable/disable bodies and adding a helper that can
>   quiesce or rearm the shared IRQ without disturbing irq_ref
> - restoring cached master-volume values when mixer state is rebuilt
>   after DSP reinitialization
> 
> Patch 2 adds the actual PM callbacks by:
> - saving the current capture-source selection and msnd-side MIDI input
>   state
> - adding shared card suspend/resume helpers
> - wiring those helpers into the ISA driver and the Pinnacle PnP card
>   driver with the current callback signatures
> 
> The series intentionally does not add trigger-level PCM resume support.
> The driver can rebuild hardware state on system resume, but it does not
> preserve enough runtime queue state to justify advertising full
> SNDRV_PCM_INFO_RESUME semantics in this change.
> 
> Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
> ---
> Cássio Gabriel (2):
>       ALSA: msnd: prepare system sleep support
>       ALSA: msnd: add ISA and PnP system sleep callbacks

Applied both patches to for-next branch.  Thanks.


Takashi