diff options
author | Mark Brown <broonie@kernel.org> | 2017-04-30 16:15:41 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-04-30 16:15:41 +0300 |
commit | 0c2964cb38ef9dc44c11db7516bab00c1967e52e (patch) | |
tree | 242e884d5858f9d9f727c01455068f38293b6252 /sound/soc/intel/skylake/skl-sst-ipc.h | |
parent | d872f04606eec35de3bc4e409e186d01dacdd3d6 (diff) | |
parent | 081dc8ab46df85382658822e951ea79be87382b0 (diff) | |
download | linux-0c2964cb38ef9dc44c11db7516bab00c1967e52e.tar.xz |
Merge remote-tracking branch 'asoc/topic/intel' into asoc-next
Diffstat (limited to 'sound/soc/intel/skylake/skl-sst-ipc.h')
-rw-r--r-- | sound/soc/intel/skylake/skl-sst-ipc.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/sound/soc/intel/skylake/skl-sst-ipc.h b/sound/soc/intel/skylake/skl-sst-ipc.h index 9660ace379ab..e057da2713c6 100644 --- a/sound/soc/intel/skylake/skl-sst-ipc.h +++ b/sound/soc/intel/skylake/skl-sst-ipc.h @@ -69,6 +69,14 @@ struct skl_d0i3_data { struct delayed_work work; }; +#define SKL_LIB_NAME_LENGTH 128 +#define SKL_MAX_LIB 16 + +struct skl_lib_info { + char name[SKL_LIB_NAME_LENGTH]; + const struct firmware *fw; +}; + struct skl_sst { struct device *dev; struct sst_dsp *dsp; @@ -77,6 +85,11 @@ struct skl_sst { wait_queue_head_t boot_wait; bool boot_complete; + /* module load */ + wait_queue_head_t mod_load_wait; + bool mod_load_complete; + bool mod_load_status; + /* IPC messaging */ struct sst_generic_ipc ipc; @@ -105,6 +118,8 @@ struct skl_sst { void (*update_d0i3c)(struct device *dev, bool enable); struct skl_d0i3_data d0i3; + + const struct skl_dsp_ops *dsp_ops; }; struct skl_ipc_init_instance_msg { @@ -182,7 +197,7 @@ int skl_ipc_get_large_config(struct sst_generic_ipc *ipc, struct skl_ipc_large_config_msg *msg, u32 *param); int skl_sst_ipc_load_library(struct sst_generic_ipc *ipc, - u8 dma_id, u8 table_id); + u8 dma_id, u8 table_id, bool wait); int skl_ipc_set_d0ix(struct sst_generic_ipc *ipc, struct skl_ipc_d0ix_msg *msg); |