[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>