diff options
author | Mark Brown <broonie@kernel.org> | 2022-06-10 18:28:20 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-06-10 18:28:20 +0100 |
commit | 55e1c007e1bd3b30efac683f6d7eba6d4a13928d (patch) | |
tree | c88329ded80fb262cbb7678b43e0d0bb08638619 /sound/soc/sof/sof-priv.h | |
parent | 25ebeeebcb5493b42b6d43e4f4c49823782b83af (diff) | |
parent | 63b9069653a710b08d5fd174ac05d43711356541 (diff) | |
download | linux-stable-55e1c007e1bd3b30efac683f6d7eba6d4a13928d.tar.gz linux-stable-55e1c007e1bd3b30efac683f6d7eba6d4a13928d.tar.bz2 linux-stable-55e1c007e1bd3b30efac683f6d7eba6d4a13928d.zip |
ASoC: SOF: Add support ctx_save with IPC4
Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:
The context save functionality with IPC4 is triggered by sending a message to
the firmware about the pending power down of the primary core by the host.
In order to have this functionality implemented in a clean way we need to
introduce a new IPC level PM ops for core state management and use that instead
of open coding IPC messages here and there.
The first patch updates the ctx store/ctx_restore documentation to clarify that
they are optional.
Diffstat (limited to 'sound/soc/sof/sof-priv.h')
-rw-r--r-- | sound/soc/sof/sof-priv.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h index 32c152528f1d..bd637153c08f 100644 --- a/sound/soc/sof/sof-priv.h +++ b/sound/soc/sof/sof-priv.h @@ -376,12 +376,14 @@ struct sof_ipc_fw_tracing_ops { /** * struct sof_ipc_pm_ops - IPC-specific PM ops - * @ctx_save: Function pointer for context save - * @ctx_restore: Function pointer for context restore + * @ctx_save: Optional function pointer for context save + * @ctx_restore: Optional function pointer for context restore + * @set_core_state: Optional function pointer for turning on/off a DSP core */ struct sof_ipc_pm_ops { int (*ctx_save)(struct snd_sof_dev *sdev); int (*ctx_restore)(struct snd_sof_dev *sdev); + int (*set_core_state)(struct snd_sof_dev *sdev, int core_idx, bool on); }; /** |