[PATCH 0/2] ALSA: sc6000: fix board configuration state and resume handling
From: Cássio Gabriel
Date: Thu Apr 09 2026 - 23:54:53 EST
The SC-6000 driver has to program board-level DSP routing before the
WSS codec can operate correctly. Today that setup has two related
problems.
First, the probe path may auto-select IRQ and DMA resources, but the
SC-6000 soft configuration is still derived from the raw module
parameter arrays. When irq=auto or dma=auto is used, the WSS codec can
be created with the selected live resources while the board itself is
programmed with unresolved values.
Second, the driver still lacks suspend/resume support. The WSS layer can
save and restore codec registers, but the SC-6000-specific DSP routing
and MSS initialization are done only during probe and are not replayed
after resume.
This series fixes the probe-time resource mismatch first and then reuses
that cached board state to restore the hardware on resume. Keeping the
board programming in a shared helper also keeps the old/new DSP split in
one place so probe and resume cannot drift apart.
- Patch 1 stores the computed SC-6000 board state in card-private data and
builds it from the live resources selected at probe time.
- Patch 2 wires ISA suspend/resume callbacks and restores the cached
board setup before the WSS codec resume path runs.
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@xxxxxxxxx>
---
Cássio Gabriel (2):
ALSA: sc6000: Keep the programmed board state in card-private data
ALSA: sc6000: Restore board setup across suspend
sound/isa/sc6000.c | 193 ++++++++++++++++++++++++++++++++++++-----------------
1 file changed, 132 insertions(+), 61 deletions(-)
---
base-commit: 4c468a99786e2cf41bf7b2c95064472e99a6776f
change-id: 20260407-alsa-sc6000-pm-4fd109aaf04f
Best regards,
--
Cássio Gabriel <cassiogabrielcontato@xxxxxxxxx>