Lines Matching refs:process
187 struct sof_ipc4_process *process;
193 /* For non-process modules, base module config format is used for all input pins */
197 process = swidget->private;
198 base_cfg_ext = process->base_config_ext;
868 * Add the process modules support. The process modules are defined as snd_soc_dapm_effect modules.
875 struct sof_ipc4_process *process;
879 process = kzalloc(sizeof(*process), GFP_KERNEL);
880 if (!process)
883 swidget->private = process;
885 ret = sof_ipc4_get_audio_fmt(scomp, swidget, &process->available_fmt,
886 &process->base_config);
890 ret = sof_ipc4_widget_setup_msg(swidget, &process->msg);
894 /* parse process init module payload config type from module info */
896 process->init_config = FIELD_GET(SOF_IPC4_MODULE_INIT_CONFIG_MASK,
899 process->ipc_config_size = sizeof(struct sof_ipc4_base_module_cfg);
902 if (process->init_config == SOF_IPC4_MODULE_INIT_CONFIG_TYPE_BASE_CFG_WITH_EXT) {
916 process->base_config_ext = base_cfg_ext;
917 process->base_config_ext_size = ext_size;
918 process->ipc_config_size += ext_size;
921 cfg = kzalloc(process->ipc_config_size, GFP_KERNEL);
927 process->ipc_config_data = cfg;
936 kfree(process->base_config_ext);
937 process->base_config_ext = NULL;
939 sof_ipc4_free_audio_fmt(&process->available_fmt);
941 kfree(process);
948 struct sof_ipc4_process *process = swidget->private;
950 if (!process)
953 kfree(process->ipc_config_data);
954 kfree(process->base_config_ext);
955 sof_ipc4_free_audio_fmt(&process->available_fmt);
1952 struct sof_ipc4_process *process = swidget->private;
1953 struct sof_ipc4_base_module_cfg_ext *base_cfg_ext = process->base_config_ext;
1954 struct sof_ipc4_available_audio_format *available_fmt = &process->available_fmt;
1979 pin_format->buffer_size = process->base_config.ibs;
1980 pin_format->audio_fmt = process->base_config.audio_fmt;
1982 pin_format->buffer_size = process->base_config.obs;
1983 pin_format->audio_fmt = process->output_format;
2034 struct sof_ipc4_process *process = swidget->private;
2035 struct sof_ipc4_available_audio_format *available_fmt = &process->available_fmt;
2038 void *cfg = process->ipc_config_data;
2042 ret = sof_ipc4_init_input_audio_fmt(sdev, swidget, &process->base_config,
2052 output_fmt_index = sof_ipc4_init_output_audio_fmt(sdev, &process->base_config,
2065 memcpy(&process->output_format,
2070 ret = sof_ipc4_update_hw_params(sdev, pipeline_params, &process->output_format);
2076 sof_ipc4_update_resource_usage(sdev, swidget, &process->base_config);
2079 memcpy(cfg, &process->base_config, sizeof(struct sof_ipc4_base_module_cfg));
2082 if (process->init_config == SOF_IPC4_MODULE_INIT_CONFIG_TYPE_BASE_CFG_WITH_EXT) {
2083 struct sof_ipc4_base_module_cfg_ext *base_cfg_ext = process->base_config_ext;
2089 memcpy(cfg, base_cfg_ext, process->base_config_ext_size);
2308 struct sof_ipc4_process *process = swidget->private;
2310 if (!process->ipc_config_size) {
2316 ipc_size = process->ipc_config_size;
2317 ipc_data = process->ipc_config_data;
2319 msg = &process->msg;