[PATCH v1 0/3] Support wm_adsp hibernation for runtime suspend
From: Stefan Binding
Date: Mon Feb 23 2026 - 11:07:15 EST
When the CS35L41 driver suspends, it is put into hibernation, and
the regmap goes into cache_only, but the firmware is still running, and
wm_adsp is not stopped. If userspace attempts to read a firmware
control, it will perform a regmap_raw_read() and this will produce an
error in the kernel log.
To prevent these spurious errors, add an apis into cs_dsp and wm_adsp
to allow wm_adsp to hibernate. In this hibernation mode, reads or
writes to the dsp controls would be rejected with -EPERM rather than
-EBUSY, and no error will be printed to the kernel log.
Stefan Binding (3):
firmware: cs_dsp: Add API to hibernate the DSP
ASoC: codecs: wm_adsp: Allow wm_adsp to hibernate without stopping DSP
ASoC: cs35l41: Hibernate wm_adsp on runtime suspend
drivers/firmware/cirrus/cs_dsp.c | 49 +++++++++++++++++++++++---
include/linux/firmware/cirrus/cs_dsp.h | 3 ++
sound/soc/codecs/cs35l41.c | 5 +++
sound/soc/codecs/wm_adsp.c | 6 ++++
sound/soc/codecs/wm_adsp.h | 1 +
5 files changed, 60 insertions(+), 4 deletions(-)
--
2.43.0