diff options
author | Jayachandran B <jayachandran.b@intel.com> | 2016-06-21 07:47:41 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-06-22 18:13:12 +0300 |
commit | 052f103c89aa8ff6a72a4cadc0a5471cc8bc4c93 (patch) | |
tree | ba87d20ce1e7d7bf43d2460a4c6f63c66992c7a5 /sound/soc/intel/skylake/skl-sst-ipc.h | |
parent | 957427d94a82459b080a99cc7e9f4d5b8c067410 (diff) | |
download | linux-052f103c89aa8ff6a72a4cadc0a5471cc8bc4c93.tar.xz |
ASoC: Intel: Skylake: Add DSP muti-core infrastructure
The DSP can have more than one cores. In that case the secondary
core has to be managed by the driver. This patch adds the changes
to driver infrastructure to support multiple core.
A new object skl_dsp_cores is introduced to support multiple
core. Helpers skl_dsp_get_core() skl_dsp_put_core() help to
managed the cores.
Many of the power_up/down and DSP APIs take additional argument
of core_id. The primary core, 0 is always powered up first and
then on demand second core.
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 | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/intel/skylake/skl-sst-ipc.h b/sound/soc/intel/skylake/skl-sst-ipc.h index 5102c7b415fe..2e3d4e80ef97 100644 --- a/sound/soc/intel/skylake/skl-sst-ipc.h +++ b/sound/soc/intel/skylake/skl-sst-ipc.h @@ -45,6 +45,14 @@ struct skl_ipc_header { u32 extension; }; +#define SKL_DSP_CORES_MAX 2 + +struct skl_dsp_cores { + unsigned int count; + enum skl_dsp_states state[SKL_DSP_CORES_MAX]; + int usage_count[SKL_DSP_CORES_MAX]; +}; + struct skl_sst { struct device *dev; struct sst_dsp *dsp; @@ -66,6 +74,9 @@ struct skl_sst { /* Is firmware loaded */ bool fw_loaded; + + /* multi-core */ + struct skl_dsp_cores cores; }; struct skl_ipc_init_instance_msg { |