aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/sound/soc/sof/ipc4-topology.h
diff options
context:
space:
mode:
authorLibin Yang <libin.yang@intel.com>2023-03-16 17:11:33 +0200
committerMark Brown <broonie@kernel.org>2023-03-17 13:05:56 +0000
commit7711a2bbc8447dd7185c6da9e405d89ce3ec2f0f (patch)
tree126e291e44f2eb15b3e6da2d889b49c6c393a16b /sound/soc/sof/ipc4-topology.h
parentASoC: SOF: ipc4-topology: Move the kcontrol module_id update to helper (diff)
downloadwireguard-linux-7711a2bbc8447dd7185c6da9e405d89ce3ec2f0f.tar.xz
wireguard-linux-7711a2bbc8447dd7185c6da9e405d89ce3ec2f0f.zip
ASoC: SOF: ipc4-topology: add effect widget support
Add the general support of IPC4 effect widgets. IPC4 effect widgets, known as process modules, can be EQFIR, EQIIR, KEYWORD_DETECT, KPB, CHAN_SELECTOR, SMART_AMP and etc. Signed-off-by: Libin Yang <libin.yang@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20230316151137.7598-3-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/sof/ipc4-topology.h')
-rw-r--r--sound/soc/sof/ipc4-topology.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/sound/soc/sof/ipc4-topology.h b/sound/soc/sof/ipc4-topology.h
index fad7a628f782..9fcb978ebc63 100644
--- a/sound/soc/sof/ipc4-topology.h
+++ b/sound/soc/sof/ipc4-topology.h
@@ -347,4 +347,22 @@ struct sof_ipc4_src {
struct sof_ipc4_msg msg;
};
+/**
+ * struct sof_ipc4_process - process config data
+ * @base_config: IPC base config data
+ * @output_format: Output audio format
+ * @available_fmt: Available audio format
+ * @ipc_config_data: Process module config data
+ * @ipc_config_size: Size of process module config data
+ * @msg: IPC4 message struct containing header and data info
+ */
+struct sof_ipc4_process {
+ struct sof_ipc4_base_module_cfg base_config;
+ struct sof_ipc4_audio_format output_format;
+ struct sof_ipc4_available_audio_format available_fmt;
+ void *ipc_config_data;
+ uint32_t ipc_config_size;
+ struct sof_ipc4_msg msg;
+};
+
#endif