diff options
author | Jayachandran B <jayachandran.b@intel.com> | 2016-11-03 12:37:17 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-11-03 18:14:22 +0100 |
commit | 5bb4cd46ace5f220fbc34370e7fe9ba515ead9f8 (patch) | |
tree | 4a604053780d18f5450c7d022559cafe9ff62c6a /sound/soc/intel/skylake/skl-sst-ipc.h | |
parent | ASoC: Intel: Skylake: Add support for programming D0i3C (diff) | |
download | linux-5bb4cd46ace5f220fbc34370e7fe9ba515ead9f8.tar.xz linux-5bb4cd46ace5f220fbc34370e7fe9ba515ead9f8.zip |
ASoC: Intel: Skylake: Add D0iX callbacks
The driver needs two DSP callback, one to set D0i0 (active) and D0i3
(low-power) states.
Add these callbacks in dsp ops and implement them for broxton platforms.
Signed-off-by: Jayachandran B <jayachandran.b@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel/skylake/skl-sst-ipc.h')
-rw-r--r-- | sound/soc/intel/skylake/skl-sst-ipc.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sound/soc/intel/skylake/skl-sst-ipc.h b/sound/soc/intel/skylake/skl-sst-ipc.h index ef2182d21934..a45c42046b64 100644 --- a/sound/soc/intel/skylake/skl-sst-ipc.h +++ b/sound/soc/intel/skylake/skl-sst-ipc.h @@ -53,6 +53,23 @@ struct skl_dsp_cores { int usage_count[SKL_DSP_CORES_MAX]; }; +/** + * skl_d0i3_data: skl D0i3 counters data struct + * + * @streaming: Count of usecases that can attempt streaming D0i3 + * @non_streaming: Count of usecases that can attempt non-streaming D0i3 + * @non_d0i3: Count of usecases that cannot attempt D0i3 + * @state: current state + * @work: D0i3 worker thread + */ +struct skl_d0i3_data { + int streaming; + int non_streaming; + int non_d0i3; + enum skl_dsp_d0i3_states state; + struct delayed_work work; +}; + struct skl_sst { struct device *dev; struct sst_dsp *dsp; @@ -86,6 +103,8 @@ struct skl_sst { /* Callback to update D0i3C register */ void (*update_d0i3c)(struct device *dev, bool enable); + + struct skl_d0i3_data d0i3; }; struct skl_ipc_init_instance_msg { |