]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blobdiff - sound/soc/intel/skylake/skl-sst-ipc.h
Merge remote-tracking branches 'asoc/topic/tas571x', 'asoc/topic/tlv320aic31xx',...
[mirror_ubuntu-eoan-kernel.git] / sound / soc / intel / skylake / skl-sst-ipc.h
index d59d1ba62a430db7b7a2f3e44fc30ff7f8f85594..2e3d4e80ef97553fb0573b1d9f7d888fb41cb58c 100644 (file)
@@ -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;
@@ -60,6 +68,15 @@ struct skl_sst {
        void (*enable_miscbdcge)(struct device *dev, bool enable);
        /*Is CGCTL.MISCBDCGE disabled*/
        bool miscbdcg_disabled;
+
+       /* Populate module information */
+       struct list_head uuid_list;
+
+       /* Is firmware loaded */
+       bool fw_loaded;
+
+       /* multi-core */
+       struct skl_dsp_cores cores;
 };
 
 struct skl_ipc_init_instance_msg {
@@ -136,5 +153,6 @@ void skl_ipc_int_disable(struct sst_dsp *dsp);
 bool skl_ipc_int_status(struct sst_dsp *dsp);
 void skl_ipc_free(struct sst_generic_ipc *ipc);
 int skl_ipc_init(struct device *dev, struct skl_sst *skl);
+void skl_clear_module_cnt(struct sst_dsp *ctx);
 
 #endif /* __SKL_IPC_H */