[PATCH 0/2] ALSA: sc6000: fix board configuration state and resume handling

Cássio Gabriel posted 2 patches 2 months, 1 week ago
sound/isa/sc6000.c | 193 ++++++++++++++++++++++++++++++++++++-----------------
1 file changed, 132 insertions(+), 61 deletions(-)
[PATCH 0/2] ALSA: sc6000: fix board configuration state and resume handling
Posted by Cássio Gabriel 2 months, 1 week ago
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@gmail.com>
---
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@gmail.com>

Re: [PATCH 0/2] ALSA: sc6000: fix board configuration state and resume handling
Posted by Takashi Iwai 2 months, 1 week ago
On Fri, 10 Apr 2026 05:54:31 +0200,
Cássio Gabriel wrote:
> 
> 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@gmail.com>
> ---
> Cássio Gabriel (2):
>       ALSA: sc6000: Keep the programmed board state in card-private data
>       ALSA: sc6000: Restore board setup across suspend

Applied both patches now.  Thanks.


Takashi