diff --git a/src/audio/mux/mux.c b/src/audio/mux/mux.c index 2b8f6c4710f5..d2445390527c 100644 --- a/src/audio/mux/mux.c +++ b/src/audio/mux/mux.c @@ -79,7 +79,7 @@ bool mux_mix_check(struct sof_mux_config *cfg) return false; } -static int mux_demux_common_init(struct processing_module *mod) +static int mux_demux_common_init(struct processing_module *mod, enum sof_comp_type type) { struct module_data *module_data = &mod->priv; struct comp_dev *dev = mod->dev; @@ -116,6 +116,7 @@ static int mux_demux_common_init(struct processing_module *mod) mod->verify_params_flags = BUFF_PARAMS_CHANNELS; mod->no_pause = true; + cd->comp_type = type; return 0; err_init: @@ -130,14 +131,14 @@ static int mux_init(struct processing_module *mod) { mod->max_sources = MUX_MAX_STREAMS; - return mux_demux_common_init(mod); + return mux_demux_common_init(mod, SOF_COMP_MUX); } static int demux_init(struct processing_module *mod) { mod->max_sinks = MUX_MAX_STREAMS; - return mux_demux_common_init(mod); + return mux_demux_common_init(mod, SOF_COMP_DEMUX); } static int mux_free(struct processing_module *mod) @@ -386,7 +387,7 @@ static int mux_prepare(struct processing_module *mod, if (ret < 0) return ret; - if (dev->ipc_config.type == SOF_COMP_MUX) + if (cd->comp_type == SOF_COMP_MUX) cd->mux = mux_get_processing_function(mod); else cd->demux = demux_get_processing_function(mod); diff --git a/src/audio/mux/mux.h b/src/audio/mux/mux.h index f3b2cbc50a89..526d70ecb870 100644 --- a/src/audio/mux/mux.h +++ b/src/audio/mux/mux.h @@ -174,6 +174,7 @@ struct comp_data { struct mux_look_up lookup[MUX_MAX_STREAMS]; struct mux_look_up active_lookup; struct comp_data_blob_handler *model_handler; + enum sof_comp_type comp_type; struct sof_mux_config config; /* Keep last due to flexible array member in end */ }; diff --git a/src/audio/mux/mux_ipc3.c b/src/audio/mux/mux_ipc3.c index e5f44c781da7..4c658d8e588d 100644 --- a/src/audio/mux/mux_ipc3.c +++ b/src/audio/mux/mux_ipc3.c @@ -68,7 +68,7 @@ static int mux_set_values(struct processing_module *mod) } } - if (dev->ipc_config.type == SOF_COMP_MUX) { + if (cd->comp_type == SOF_COMP_MUX) { if (mux_mix_check(cfg)) comp_err(dev, "mux_set_values(): mux component is not able to mix channels"); } @@ -81,13 +81,13 @@ static int mux_set_values(struct processing_module *mod) cd->config.num_streams = cfg->num_streams; - if (dev->ipc_config.type == SOF_COMP_MUX) + if (cd->comp_type == SOF_COMP_MUX) mux_prepare_look_up_table(mod); else demux_prepare_look_up_table(mod); if (dev->state > COMP_STATE_INIT) { - if (dev->ipc_config.type == SOF_COMP_MUX) + if (cd->comp_type == SOF_COMP_MUX) cd->mux = mux_get_processing_function(mod); else cd->demux = demux_get_processing_function(mod); diff --git a/src/audio/mux/mux_ipc4.c b/src/audio/mux/mux_ipc4.c index dd6315b3bcd0..446ad2f566ae 100644 --- a/src/audio/mux/mux_ipc4.c +++ b/src/audio/mux/mux_ipc4.c @@ -38,7 +38,6 @@ static int build_config(struct processing_module *mod) int mask = 1; int i; - dev->ipc_config.type = SOF_COMP_MUX; cd->config.num_streams = MUX_MAX_STREAMS; /* clear masks */ diff --git a/test/cmocka/src/audio/eq_fir/eq_fir_process.c b/test/cmocka/src/audio/eq_fir/eq_fir_process.c index f281a31603d4..ebfd02b2411f 100644 --- a/test/cmocka/src/audio/eq_fir/eq_fir_process.c +++ b/test/cmocka/src/audio/eq_fir/eq_fir_process.c @@ -81,7 +81,7 @@ static struct sof_ipc_comp_process *create_eq_fir_comp_ipc(struct test_data *td) memcpy_s(ipc + 1, SOF_UUID_SIZE, &uuid, SOF_UUID_SIZE); eq = (struct sof_eq_fir_config *)((char *)(ipc + 1) + SOF_UUID_SIZE); ipc->comp.hdr.size = ipc_size + SOF_UUID_SIZE; - ipc->comp.type = SOF_COMP_EQ_FIR; + ipc->comp.type = SOF_COMP_MODULE_ADAPTER; ipc->config.hdr.size = sizeof(struct sof_ipc_comp_config); ipc->size = blob->size; ipc->comp.ext_data_length = SOF_UUID_SIZE; diff --git a/test/cmocka/src/audio/eq_iir/eq_iir_process.c b/test/cmocka/src/audio/eq_iir/eq_iir_process.c index 44aabf2d5619..54716bcfd0f1 100644 --- a/test/cmocka/src/audio/eq_iir/eq_iir_process.c +++ b/test/cmocka/src/audio/eq_iir/eq_iir_process.c @@ -80,7 +80,7 @@ static struct sof_ipc_comp_process *create_eq_iir_comp_ipc(struct test_data *td) memcpy_s(ipc + 1, SOF_UUID_SIZE, &uuid, SOF_UUID_SIZE); eq = (struct sof_eq_iir_config *)((char *)(ipc + 1) + SOF_UUID_SIZE); ipc->comp.hdr.size = ipc_size + SOF_UUID_SIZE; - ipc->comp.type = SOF_COMP_EQ_IIR; + ipc->comp.type = SOF_COMP_MODULE_ADAPTER; ipc->config.hdr.size = sizeof(struct sof_ipc_comp_config); ipc->size = blob->size; ipc->comp.ext_data_length = SOF_UUID_SIZE; diff --git a/test/cmocka/src/audio/mux/demux_copy.c b/test/cmocka/src/audio/mux/demux_copy.c index 9ed45924dec0..40040023b6df 100644 --- a/test/cmocka/src/audio/mux/demux_copy.c +++ b/test/cmocka/src/audio/mux/demux_copy.c @@ -106,7 +106,7 @@ static struct sof_ipc_comp_process *create_demux_comp_ipc(struct test_data *td) memcpy_s(ipc + 1, SOF_UUID_SIZE, &uuid, SOF_UUID_SIZE); mux = (struct sof_mux_config *)((char *)(ipc + 1) + SOF_UUID_SIZE); ipc->comp.hdr.size = ipc_size + SOF_UUID_SIZE; - ipc->comp.type = SOF_COMP_DEMUX; + ipc->comp.type = SOF_COMP_MODULE_ADAPTER; ipc->config.hdr.size = sizeof(struct sof_ipc_comp_config); ipc->size = mux_size; ipc->comp.ext_data_length = SOF_UUID_SIZE; diff --git a/test/cmocka/src/audio/mux/mux_copy.c b/test/cmocka/src/audio/mux/mux_copy.c index 0f65030f0513..6e391269054a 100644 --- a/test/cmocka/src/audio/mux/mux_copy.c +++ b/test/cmocka/src/audio/mux/mux_copy.c @@ -124,7 +124,7 @@ static struct sof_ipc_comp_process *create_mux_comp_ipc(struct test_data *td) memcpy_s(ipc + 1, SOF_UUID_SIZE, &uuid, SOF_UUID_SIZE); mux = (struct sof_mux_config *)((char *)(ipc + 1) + SOF_UUID_SIZE); ipc->comp.hdr.size = ipc_size + SOF_UUID_SIZE; - ipc->comp.type = SOF_COMP_MUX; + ipc->comp.type = SOF_COMP_MODULE_ADAPTER; ipc->config.hdr.size = sizeof(struct sof_ipc_comp_config); ipc->size = mux_size; ipc->comp.ext_data_length = SOF_UUID_SIZE; diff --git a/test/cmocka/src/audio/mux/mux_get_processing_function.c b/test/cmocka/src/audio/mux/mux_get_processing_function.c index 3296de3a21bb..af9fd418ec56 100644 --- a/test/cmocka/src/audio/mux/mux_get_processing_function.c +++ b/test/cmocka/src/audio/mux/mux_get_processing_function.c @@ -50,7 +50,7 @@ static struct sof_ipc_comp_process *create_mux_comp_ipc(struct test_data *td) memcpy_s(ipc + 1, SOF_UUID_SIZE, &uuid, SOF_UUID_SIZE); mux = (struct sof_mux_config *)((char *)(ipc + 1) + SOF_UUID_SIZE); ipc->comp.hdr.size = ipc_size + SOF_UUID_SIZE; - ipc->comp.type = SOF_COMP_MUX; + ipc->comp.type = SOF_COMP_MODULE_ADAPTER; ipc->config.hdr.size = sizeof(struct sof_ipc_comp_config); ipc->size = mux_size; ipc->comp.ext_data_length = SOF_UUID_SIZE;