From: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
To: lgirdwood@gmail.com, broonie@kernel.org
Cc: linux-sound@vger.kernel.org, kai.vehmanen@linux.intel.com,
ranjani.sridharan@linux.intel.com,
yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.dev,
liam.r.girdwood@intel.com
Subject: [PATCH 0/8] ASoC: SOF: Support for on-demand DSP boot
Date: Mon, 15 Dec 2025 15:29:38 +0200 [thread overview]
Message-ID: <20251215132946.2155-1-peter.ujfalusi@linux.intel.com> (raw)
Hi,
On system suspend / resume we always power up the DSP and boot the
firmware, which is not strictly needed as right after the firmware booted
up we power the DSP down again on suspend and we also power it down after
resume after some inactivity.
Similarly, on jack insert/removal we needlesly boot up the firmware to check
the jack status, which needs no DSP/firmware communication.
The on-demand DSP boot will make sure that we boot the DSP firmware up only
when it is needed - for audio activity, in other cases the firmware will be
not booted up, which saves time.
Out of caution, add a new platform descriptor flag to enable on-demand
DSP boot since this might not work without changes to platform code on
certain platforms.
With the on-demand dsp boot enabled we will not boot the DSP and firmware
up on system or rpm resume, just enable audio subsystem since audio IPs,
like HDA and SoundWire might be needed (codecs suspend/resume operation).
Only boot up the DSP during the first hw_params() call when the DSP is
really going to be needed.
In this way we can handle the audio related use cases:
normal audio use (rpm suspend/resume)
system suspend/resume without active audio
system suspend/resume with active audio
system suspend/resume without active audio, and audio start before the rpm
suspend timeout
Add module option to force the on-demand DSP boot to allow it to be
disabled or enabled without kernel change for testing.
The on-demand boot has been tested in our CI for more than half a year
and so far no issues have been seen on supported platforms since it's
introduction to our development tree (sof-dev).
Regards,
Peter
---
Peter Ujfalusi (8):
ASoC: SOF: ipc4-loader: Remove redundant rpm resume_and_get from
load_library
ASoC: SOF: control: skip rpm calls in ext_volatile_get if not
implemented
ASoC: SOF: Add support for on-demand DSP boot
ASoC: SOF: sof-client: Add support for on-demand DSP boot
ASoC: SOF: Intel: hda-sdw-bpt: Add support for on-demand DSP boot
ASoC: SOF: Intel: pci-lnl: Set on_demand_dsp_boot for LNL
ASoC: SOF: Intel: pci-ptl: Set on_demand_dsp_boot for PTL and WCL
ASoC: SOF: Intel: pci-nvl: Set on_demand_dsp_boot for NVL-S
include/sound/sof.h | 3 +
sound/soc/sof/compress.c | 8 +
sound/soc/sof/control.c | 13 +-
sound/soc/sof/core.c | 1 +
sound/soc/sof/debug.c | 7 +-
sound/soc/sof/intel/hda-sdw-bpt.c | 11 ++
sound/soc/sof/intel/pci-lnl.c | 1 +
sound/soc/sof/intel/pci-nvl.c | 1 +
sound/soc/sof/intel/pci-ptl.c | 2 +
sound/soc/sof/ipc3-dtrace.c | 7 +-
sound/soc/sof/ipc4-loader.c | 19 +--
sound/soc/sof/ipc4.c | 13 ++
sound/soc/sof/pcm.c | 10 ++
sound/soc/sof/pm.c | 149 +++++++++++-------
sound/soc/sof/sof-client-ipc-flood-test.c | 7 +-
.../soc/sof/sof-client-ipc-kernel-injector.c | 4 +-
sound/soc/sof/sof-client-ipc-msg-injector.c | 14 +-
sound/soc/sof/sof-client-probes.c | 26 ++-
sound/soc/sof/sof-client.c | 6 +
sound/soc/sof/sof-client.h | 3 +
sound/soc/sof/sof-priv.h | 3 +
21 files changed, 215 insertions(+), 93 deletions(-)
--
2.52.0
next reply other threads:[~2025-12-15 13:29 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-15 13:29 Peter Ujfalusi [this message]
2025-12-15 13:29 ` [PATCH 1/8] ASoC: SOF: ipc4-loader: Remove redundant rpm resume_and_get from load_library Peter Ujfalusi
2025-12-15 13:29 ` [PATCH 2/8] ASoC: SOF: control: skip rpm calls in ext_volatile_get if not implemented Peter Ujfalusi
2025-12-15 13:29 ` [PATCH 3/8] ASoC: SOF: Add support for on-demand DSP boot Peter Ujfalusi
2025-12-15 13:29 ` [PATCH 4/8] ASoC: SOF: sof-client: " Peter Ujfalusi
2025-12-15 13:29 ` [PATCH 5/8] ASoC: SOF: Intel: hda-sdw-bpt: " Peter Ujfalusi
2025-12-15 13:29 ` [PATCH 6/8] ASoC: SOF: Intel: pci-lnl: Set on_demand_dsp_boot for LNL Peter Ujfalusi
2025-12-15 13:29 ` [PATCH 7/8] ASoC: SOF: Intel: pci-ptl: Set on_demand_dsp_boot for PTL and WCL Peter Ujfalusi
2025-12-15 13:29 ` [PATCH 8/8] ASoC: SOF: Intel: pci-nvl: Set on_demand_dsp_boot for NVL-S Peter Ujfalusi
2025-12-16 19:55 ` [PATCH 0/8] ASoC: SOF: Support for on-demand DSP boot Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251215132946.2155-1-peter.ujfalusi@linux.intel.com \
--to=peter.ujfalusi@linux.intel.com \
--cc=broonie@kernel.org \
--cc=kai.vehmanen@linux.intel.com \
--cc=lgirdwood@gmail.com \
--cc=liam.r.girdwood@intel.com \
--cc=linux-sound@vger.kernel.org \
--cc=pierre-louis.bossart@linux.dev \
--cc=ranjani.sridharan@linux.intel.com \
--cc=yung-chuan.liao@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox