[PATCH v3 08/17] ASoC: Intel: avs: Add power management requests
Ranjani Sridharan
ranjani.sridharan at linux.intel.com
Fri Mar 4 17:24:45 CET 2022
On Fri, 2022-03-04 at 15:57 +0100, Cezary Rojewski wrote:
> Audio DSP supports low power states i.e.: transitions between D0 and
> D3
> and D0-substates in form of D0i0 and D0i3. That process is a
> combination
> of core and IPC operations. Here, Dx and D0ix IPC handlers are added.
>
> Signed-off-by: Amadeusz Sławiński <
> amadeuszx.slawinski at linux.intel.com>
> Signed-off-by: Cezary Rojewski <cezary.rojewski at intel.com>
> ---
> sound/soc/intel/avs/messages.c | 44
> ++++++++++++++++++++++++++++++++++
> sound/soc/intel/avs/messages.h | 15 ++++++++++++
> 2 files changed, 59 insertions(+)
>
> diff --git a/sound/soc/intel/avs/messages.c
> b/sound/soc/intel/avs/messages.c
> index 613c9452226d..e8f441b28d71 100644
> --- a/sound/soc/intel/avs/messages.c
> +++ b/sound/soc/intel/avs/messages.c
> @@ -401,3 +401,47 @@ int avs_ipc_get_large_config(struct avs_dev
> *adev, u16 module_id, u8 instance_id
>
> return 0;
> }
> +
> +int avs_ipc_set_dx(struct avs_dev *adev, u32 core_mask, bool
> powerup)
a description for this function would be helpful.
> +{
> + union avs_module_msg msg = AVS_MODULE_REQUEST(SET_DX);
> + struct avs_ipc_msg request;
> + struct avs_dxstate_info dx;
> + int ret;
> +
> + dx.core_mask = core_mask;
> + dx.dx_mask = powerup ? core_mask : 0;
> + request.header = msg.val;
> + request.data = &dx;
> + request.size = sizeof(dx);
> +
> + ret = avs_dsp_send_msg(adev, &request, NULL);
> + if (ret)
> + avs_ipc_err(adev, &request, "set dx", ret);
> +
> + return ret;
> +}
> +
> +/*
> + * avs_ipc_set_d0ix - Set power gating policy (entering D0IX
> substates)
> + *
> + * @enable_pg: Whether to enable or disable power gating
> + * @streaming: Whether a stream is running when transitioning
> + */
What do you mean why "whether a stream is running" does it mean any
stream? What is the difference between a D0ix transition with a stream
running compared to not running?
Thanks,Ranjani
More information about the Alsa-devel
mailing list