diff --git a/src/audio/CMakeLists.txt b/src/audio/CMakeLists.txt index 446363ea1212..a7b91617f502 100644 --- a/src/audio/CMakeLists.txt +++ b/src/audio/CMakeLists.txt @@ -104,8 +104,8 @@ if(NOT CONFIG_LIBRARY) if(CONFIG_COMP_ASRC) add_subdirectory(asrc) endif() - if(CONFIG_COMP_CODEC_ADAPTER) - add_subdirectory(codec_adapter) + if(CONFIG_COMP_MODULE_ADAPTER) + add_subdirectory(module_adapter) endif() if(CONFIG_COMP_IGO_NR) add_subdirectory(igo_nr) diff --git a/src/audio/Kconfig b/src/audio/Kconfig index 110417f3e9e8..44be9bb94e24 100644 --- a/src/audio/Kconfig +++ b/src/audio/Kconfig @@ -438,18 +438,18 @@ config COMP_TDFB for channels selection, channel filter coefficients, and output streams mixing. -config COMP_CODEC_ADAPTER - bool "Codec adapter" +config COMP_MODULE_ADAPTER + bool "Module adapter" default n help This component is an adapter between SoF components and any external third party codecs/libraries. In order to make use of it the library itself should be statically linked with the SoF FW binary image and the codec details, such as its ID or specific methods provided in generic interface object located under - "src\include\sof\audio\codec_adapter\interfaces.h". It is possible to link several + "src\include\sof\audio\module_adapter\interfaces.h". It is possible to link several different codecs and use them in parallel. -rsource "codec_adapter/Kconfig" +rsource "module_adapter/Kconfig" config COMP_IGO_NR bool "IGO NR component" diff --git a/src/audio/codec_adapter/CMakeLists.txt b/src/audio/module_adapter/CMakeLists.txt similarity index 88% rename from src/audio/codec_adapter/CMakeLists.txt rename to src/audio/module_adapter/CMakeLists.txt index 34c3f3a14f8e..cb0509d4a344 100644 --- a/src/audio/codec_adapter/CMakeLists.txt +++ b/src/audio/module_adapter/CMakeLists.txt @@ -1,9 +1,9 @@ # SPDX-License-Identifier: BSD-3-Clause -add_local_sources(sof codec_adapter.c codec/generic.c) +add_local_sources(sof module_adapter.c module/generic.c) if(CONFIG_CADENCE_CODEC) -add_local_sources(sof codec/cadence.c) +add_local_sources(sof module/cadence.c) if(CONFIG_CADENCE_CODEC_WRAPPER) sof_add_static_library(codec_wrapper_lib ${CONFIG_CADENCE_CODEC_WRAPPER_LIB}) @@ -48,18 +48,18 @@ endif() endif() if(CONFIG_PASSTHROUGH_CODEC) -add_local_sources(sof codec/passthrough.c) +add_local_sources(sof module/passthrough.c) endif() if(CONFIG_WAVES_CODEC) -add_local_sources(sof codec/waves.c) +add_local_sources(sof module/waves.c) sof_add_static_library(MaxxChrome ${CMAKE_CURRENT_LIST_DIR}/lib/release/libMaxxChrome.a) # folder with Waves API must be among include directories target_include_directories(sof PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../../include/sof/audio/) endif() if(CONFIG_DTS_CODEC) -add_local_sources(sof codec/dts.c) +add_local_sources(sof module/dts.c) target_compile_definitions(sof PRIVATE -DDTS_MATH_INT32 -DDTS_XTENSA) target_include_directories(sof PRIVATE ${CMAKE_CURRENT_LIST_DIR}/../../include/sof/audio/dts/) sof_add_static_library(DtsCodec ${CMAKE_CURRENT_LIST_DIR}/lib/release/libdts-sof-interface-i32.a) diff --git a/src/audio/codec_adapter/Kconfig b/src/audio/module_adapter/Kconfig similarity index 98% rename from src/audio/codec_adapter/Kconfig rename to src/audio/module_adapter/Kconfig index 86f97c6765d5..4e7af28b15f5 100644 --- a/src/audio/codec_adapter/Kconfig +++ b/src/audio/module_adapter/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause -menu "Codec Adapter codecs" - visible if COMP_CODEC_ADAPTER +menu "Module Adapter codecs" + visible if COMP_MODULE_ADAPTER config CADENCE_CODEC bool "Cadence codec" diff --git a/src/audio/codec_adapter/codec/cadence.c b/src/audio/module_adapter/module/cadence.c similarity index 99% rename from src/audio/codec_adapter/codec/cadence.c rename to src/audio/module_adapter/module/cadence.c index bb723167c3a5..02a99ea182c8 100644 --- a/src/audio/codec_adapter/codec/cadence.c +++ b/src/audio/module_adapter/module/cadence.c @@ -11,8 +11,8 @@ * */ -#include -#include +#include +#include #include /* d8218443-5ff3-4a4c-b388-6cfe07b956aa */ @@ -738,4 +738,4 @@ static struct module_interface cadence_interface = { .free = cadence_codec_free }; -DECLARE_CODEC_ADAPTER(cadence_interface, cadence_uuid, cadence_tr); +DECLARE_MODULE_ADAPTER(cadence_interface, cadence_uuid, cadence_tr); diff --git a/src/audio/codec_adapter/codec/dts.c b/src/audio/module_adapter/module/dts.c similarity index 99% rename from src/audio/codec_adapter/codec/dts.c rename to src/audio/module_adapter/module/dts.c index d2f1dd414119..0e314a8e9bca 100644 --- a/src/audio/codec_adapter/codec/dts.c +++ b/src/audio/module_adapter/module/dts.c @@ -4,7 +4,7 @@ // // Author: Mark Barton -#include "sof/audio/codec_adapter/codec/generic.h" +#include "sof/audio/module_adapter/module/generic.h" #include "DtsSofInterface.h" @@ -426,4 +426,4 @@ static struct module_interface dts_interface = { .free = dts_codec_free }; -DECLARE_CODEC_ADAPTER(dts_interface, dts_uuid, dts_tr); +DECLARE_MODULE_ADAPTER(dts_interface, dts_uuid, dts_tr); diff --git a/src/audio/codec_adapter/codec/generic.c b/src/audio/module_adapter/module/generic.c similarity index 99% rename from src/audio/codec_adapter/codec/generic.c rename to src/audio/module_adapter/module/generic.c index 491db414a8d8..cde8cdac5628 100644 --- a/src/audio/codec_adapter/codec/generic.c +++ b/src/audio/module_adapter/module/generic.c @@ -11,7 +11,7 @@ * */ -#include +#include /*****************************************************************************/ /* Local helper functions */ @@ -313,7 +313,7 @@ int module_free(struct processing_module *mod) /* Free all memory requested by module */ module_free_all_memory(mod); - /* Free all memory shared by codec_adapter & module */ + /* Free all memory shared by module_adapter & module */ md->cfg.avail = false; md->cfg.size = 0; rfree(md->cfg.data); diff --git a/src/audio/codec_adapter/codec/passthrough.c b/src/audio/module_adapter/module/passthrough.c similarity index 96% rename from src/audio/codec_adapter/codec/passthrough.c rename to src/audio/module_adapter/module/passthrough.c index 031224ba277c..593ca9b943ef 100644 --- a/src/audio/codec_adapter/codec/passthrough.c +++ b/src/audio/module_adapter/module/passthrough.c @@ -6,7 +6,7 @@ // // Passthrough codec implementation to demonstrate Codec Adapter API -#include +#include /* 376b5e44-9c82-4ec2-bc83-10ea101afa8f */ DECLARE_SOF_RT_UUID("passthrough_codec", passthrough_uuid, 0x376b5e44, 0x9c82, 0x4ec2, @@ -122,4 +122,4 @@ static struct module_interface passthrough_interface = { .free = passthrough_codec_free }; -DECLARE_CODEC_ADAPTER(passthrough_interface, passthrough_uuid, passthrough_tr); +DECLARE_MODULE_ADAPTER(passthrough_interface, passthrough_uuid, passthrough_tr); diff --git a/src/audio/codec_adapter/codec/waves.c b/src/audio/module_adapter/module/waves.c similarity index 99% rename from src/audio/codec_adapter/codec/waves.c rename to src/audio/module_adapter/module/waves.c index 29e1744e874e..ca4809356850 100644 --- a/src/audio/codec_adapter/codec/waves.c +++ b/src/audio/module_adapter/module/waves.c @@ -4,7 +4,7 @@ // // Author: Oleksandr Strelchenko // -#include +#include #include #include @@ -865,4 +865,4 @@ static struct module_interface waves_interface = { .free = waves_codec_free }; -DECLARE_CODEC_ADAPTER(waves_interface, waves_uuid, waves_tr); +DECLARE_MODULE_ADAPTER(waves_interface, waves_uuid, waves_tr); diff --git a/src/audio/codec_adapter/codec_adapter.c b/src/audio/module_adapter/module_adapter.c similarity index 80% rename from src/audio/codec_adapter/codec_adapter.c rename to src/audio/module_adapter/module_adapter.c index 80b83b535b94..45462b65890e 100644 --- a/src/audio/codec_adapter/codec_adapter.c +++ b/src/audio/module_adapter/module_adapter.c @@ -4,19 +4,16 @@ // // Author: Marcin Rajwa -/* - * A codec adapter component. - */ - /** * \file - * \brief Processing component aimed to work with external codec libraries + * \brief Module Adapter: Processing component aimed to work with external module libraries * \author Marcin Rajwa */ + #include #include #include -#include +#include #include #include #include @@ -25,33 +22,32 @@ #include /** - * \brief Create a codec adapter component. + * \brief Create a module adapter component. * \param[in] drv - component driver pointer. * \param[in] config - component ipc descriptor pointer. * - * \return: a pointer to newly created codec adapter component. + * \return: a pointer to newly created module adapter component on success. NULL on error. */ -struct comp_dev *codec_adapter_new(const struct comp_driver *drv, - struct comp_ipc_config *config, - struct module_interface *interface, - void *spec) +struct comp_dev *module_adapter_new(const struct comp_driver *drv, + struct comp_ipc_config *config, + struct module_interface *interface, void *spec) { int ret; struct comp_dev *dev; struct processing_module *mod; - struct ipc_config_process *ipc_codec_adapter = spec; + struct ipc_config_process *ipc_module_adapter = spec; - comp_cl_dbg(drv, "codec_adapter_new() start"); + comp_cl_dbg(drv, "module_adapter_new() start"); if (!config) { - comp_cl_err(drv, "codec_adapter_new(), wrong input params! drv = %x config = %x", + comp_cl_err(drv, "module_adapter_new(), wrong input params! drv = %x config = %x", (uint32_t)drv, (uint32_t)config); return NULL; } dev = comp_alloc(drv, sizeof(*dev)); if (!dev) { - comp_cl_err(drv, "codec_adapter_new(), failed to allocate memory for comp_dev"); + comp_cl_err(drv, "module_adapter_new(), failed to allocate memory for comp_dev"); return NULL; } dev->ipc_config = *config; @@ -59,7 +55,7 @@ struct comp_dev *codec_adapter_new(const struct comp_driver *drv, mod = rzalloc(SOF_MEM_ZONE_RUNTIME, 0, SOF_MEM_CAPS_RAM, sizeof(*mod)); if (!mod) { - comp_err(dev, "codec_adapter_new(), failed to allocate memory for module"); + comp_err(dev, "module_adapter_new(), failed to allocate memory for module"); rfree(dev); return NULL; } @@ -70,26 +66,26 @@ struct comp_dev *codec_adapter_new(const struct comp_driver *drv, list_init(&mod->sink_buffer_list); /* Copy initial config */ - if (ipc_codec_adapter->size) { - ret = module_load_config(dev, ipc_codec_adapter->data, ipc_codec_adapter->size); + if (ipc_module_adapter->size) { + ret = module_load_config(dev, ipc_module_adapter->data, ipc_module_adapter->size); if (ret) { - comp_err(dev, "codec_adapter_new() error %d: config loading has failed.", + comp_err(dev, "module_adapter_new() error %d: config loading has failed.", ret); goto err; } } - /* Init processing codec */ + /* Init processing module */ ret = module_init(mod, interface); if (ret) { - comp_err(dev, "codec_adapter_new() %d: codec initialization failed", + comp_err(dev, "module_adapter_new() %d: module initialization failed", ret); goto err; } dev->state = COMP_STATE_READY; - comp_dbg(dev, "codec_adapter_new() done"); + comp_dbg(dev, "module_adapter_new() done"); return dev; err: rfree(mod); @@ -98,14 +94,14 @@ struct comp_dev *codec_adapter_new(const struct comp_driver *drv, } /* - * \brief Prepare a codec adapter component. + * \brief Prepare the module * \param[in] dev - component device pointer. * * \return integer representing either: * 0 - success * value < 0 - failure. */ -int codec_adapter_prepare(struct comp_dev *dev) +int module_adapter_prepare(struct comp_dev *dev) { int ret; struct processing_module *mod = comp_get_drvdata(dev); @@ -115,7 +111,7 @@ int codec_adapter_prepare(struct comp_dev *dev) uint32_t buff_size; /* size of local buffer */ int i = 0; - comp_dbg(dev, "codec_adapter_prepare() start"); + comp_dbg(dev, "module_adapter_prepare() start"); /* Are we already prepared? */ ret = comp_set_state(dev, COMP_TRIGGER_PREPARE); @@ -123,14 +119,14 @@ int codec_adapter_prepare(struct comp_dev *dev) return ret; if (ret == COMP_STATUS_STATE_ALREADY_SET) { - comp_warn(dev, "codec_adapter_prepare(): codec_adapter has already been prepared"); + comp_warn(dev, "module_adapter_prepare(): module has already been prepared"); return PPL_STATUS_PATH_STOP; } - /* Prepare codec */ + /* Prepare module */ ret = module_prepare(mod); if (ret) { - comp_err(dev, "codec_adapter_prepare() error %x: codec prepare failed", + comp_err(dev, "module_adapter_prepare() error %x: module prepare failed", ret); return -EIO; @@ -138,9 +134,9 @@ int codec_adapter_prepare(struct comp_dev *dev) mod->deep_buff_bytes = 0; - /* Codec is prepared, now we need to configure processing settings. - * If codec internal buffer is not equal to natural multiple of pipeline - * buffer we have a situation where CA have to deep buffer certain amount + /* Module is prepared, now we need to configure processing settings. + * If module internal buffer is not equal to natural multiple of pipeline + * buffer we have a situation where module adapter have to deep buffer certain amount * of samples on its start (typically few periods) in order to regularly * generate output once started (same situation happens for compress streams * as well). @@ -192,7 +188,7 @@ int codec_adapter_prepare(struct comp_dev *dev) mod->num_output_buffers++; if (!mod->num_input_buffers || !mod->num_output_buffers) { - comp_err(dev, "codec_adapter_prepare(): invalid number of source/sink buffers"); + comp_err(dev, "module_adapter_prepare(): invalid number of source/sink buffers"); return -EINVAL; } @@ -200,7 +196,7 @@ int codec_adapter_prepare(struct comp_dev *dev) mod->input_buffers = rzalloc(SOF_MEM_ZONE_RUNTIME, 0, SOF_MEM_CAPS_RAM, sizeof(*mod->input_buffers) * mod->num_input_buffers); if (!mod->input_buffers) { - comp_err(dev, "codec_adapter_prepare(): failed to allocate input buffers"); + comp_err(dev, "module_adapter_prepare(): failed to allocate input buffers"); return -ENOMEM; } @@ -210,7 +206,7 @@ int codec_adapter_prepare(struct comp_dev *dev) mod->input_buffers[i].data = rballoc(0, SOF_MEM_CAPS_RAM, size); if (!mod->input_buffers[i].data) { - comp_err(mod->dev, "codec_adapter_prepare(): Failed to alloc input buffer data"); + comp_err(mod->dev, "module_adapter_prepare(): Failed to alloc input buffer data"); ret = -ENOMEM; goto in_free; } @@ -221,7 +217,7 @@ int codec_adapter_prepare(struct comp_dev *dev) mod->output_buffers = rzalloc(SOF_MEM_ZONE_RUNTIME, 0, SOF_MEM_CAPS_RAM, sizeof(*mod->output_buffers) * mod->num_output_buffers); if (!mod->output_buffers) { - comp_err(dev, "codec_adapter_prepare(): failed to allocate output buffers"); + comp_err(dev, "module_adapter_prepare(): failed to allocate output buffers"); ret = -ENOMEM; goto in_free; } @@ -231,7 +227,7 @@ int codec_adapter_prepare(struct comp_dev *dev) list_for_item(blist, &dev->bsink_list) { mod->output_buffers[i].data = rballoc(0, SOF_MEM_CAPS_RAM, md->mpd.out_buff_size); if (!mod->output_buffers[i].data) { - comp_err(mod->dev, "codec_adapter_prepare(): Failed to alloc output buffer data"); + comp_err(mod->dev, "module_adapter_prepare(): Failed to alloc output buffer data"); ret = -ENOMEM; goto out_free; } @@ -244,7 +240,7 @@ int codec_adapter_prepare(struct comp_dev *dev) struct comp_buffer *buffer = buffer_alloc(buff_size, SOF_MEM_CAPS_RAM, PLATFORM_DCACHE_ALIGN); if (!buffer) { - comp_err(dev, "codec_adapter_prepare(): failed to allocate local buffer"); + comp_err(dev, "module_adapter_prepare(): failed to allocate local buffer"); ret = -ENOMEM; goto free; } @@ -259,7 +255,7 @@ int codec_adapter_prepare(struct comp_dev *dev) ret = buffer_set_size(buffer, buff_size); if (ret < 0) { - comp_err(dev, "codec_adapter_prepare(): buffer_set_size() failed, buff_size = %u", + comp_err(dev, "module_adapter_prepare(): buffer_set_size() failed, buff_size = %u", buff_size); goto free; } @@ -268,7 +264,7 @@ int codec_adapter_prepare(struct comp_dev *dev) } } - comp_dbg(dev, "codec_adapter_prepare() done"); + comp_dbg(dev, "module_adapter_prepare() done"); return 0; @@ -294,15 +290,14 @@ int codec_adapter_prepare(struct comp_dev *dev) return ret; } -int codec_adapter_params(struct comp_dev *dev, - struct sof_ipc_stream_params *params) +int module_adapter_params(struct comp_dev *dev, struct sof_ipc_stream_params *params) { int ret; struct processing_module *mod = comp_get_drvdata(dev); ret = comp_verify_params(dev, 0, params); if (ret < 0) { - comp_err(dev, "codec_adapter_params(): comp_verify_params() failed."); + comp_err(dev, "module_adapter_params(): comp_verify_params() failed."); return ret; } @@ -454,7 +449,7 @@ static void module_copy_samples(struct comp_dev *dev, struct comp_buffer *src_bu comp_update_buffer_consume(src_buffer, copy_bytes); } -int codec_adapter_copy(struct comp_dev *dev) +int module_adapter_copy(struct comp_dev *dev) { struct comp_buffer *source; struct comp_buffer *sink; @@ -500,7 +495,7 @@ int codec_adapter_copy(struct comp_dev *dev) ret = 0; goto consume; } - comp_err(dev, "codec_adapter_copy() error %x: module processing failed", ret); + comp_err(dev, "module_adapter_copy() error %x: module processing failed", ret); goto out; } @@ -558,7 +553,7 @@ int codec_adapter_copy(struct comp_dev *dev) return ret; } -static int codec_adapter_set_params(struct comp_dev *dev, struct sof_ipc_ctrl_data *cdata) +static int module_adapter_set_params(struct comp_dev *dev, struct sof_ipc_ctrl_data *cdata) { struct processing_module *mod = comp_get_drvdata(dev); struct module_data *md = &mod->priv; @@ -566,7 +561,7 @@ static int codec_adapter_set_params(struct comp_dev *dev, struct sof_ipc_ctrl_da uint32_t data_offset_size; static uint32_t size; - comp_dbg(dev, "codec_adapter_set_params(): num_of_elem %d, elem remain %d msg_index %u", + comp_dbg(dev, "module_adapter_set_params(): num_of_elem %d, elem remain %d msg_index %u", cdata->num_elems, cdata->elems_remaining, cdata->msg_index); /* set the fragment position, data offset and config data size */ @@ -591,36 +586,35 @@ static int codec_adapter_set_params(struct comp_dev *dev, struct sof_ipc_ctrl_da (const uint8_t *)cdata->data->data, cdata->num_elems, NULL, 0); - comp_warn(dev, "codec_adapter_set_params(): no set_configuration op set for %d", + comp_warn(dev, "module_adapter_set_params(): no set_configuration op set for %d", dev_comp_id(dev)); return 0; } -static int codec_adapter_ctrl_set_data(struct comp_dev *dev, - struct sof_ipc_ctrl_data *cdata) +static int module_adapter_ctrl_set_data(struct comp_dev *dev, struct sof_ipc_ctrl_data *cdata) { int ret; struct processing_module *mod = comp_get_drvdata(dev); - comp_dbg(dev, "codec_adapter_ctrl_set_data() start, state %d, cmd %d", + comp_dbg(dev, "module_adapter_ctrl_set_data() start, state %d, cmd %d", mod->priv.state, cdata->cmd); /* Check version from ABI header */ if (SOF_ABI_VERSION_INCOMPATIBLE(SOF_ABI_VERSION, cdata->data->abi)) { - comp_err(dev, "codec_adapter_ctrl_set_data(): ABI mismatch!"); + comp_err(dev, "module_adapter_ctrl_set_data(): ABI mismatch!"); return -EINVAL; } switch (cdata->cmd) { case SOF_CTRL_CMD_ENUM: - comp_err(dev, "codec_adapter_ctrl_set_data() set enum is not implemented for codec_adapter."); + comp_err(dev, "module_adapter_ctrl_set_data(): set enum is not implemented"); ret = -EIO; break; case SOF_CTRL_CMD_BINARY: - ret = codec_adapter_set_params(dev, cdata); + ret = module_adapter_set_params(dev, cdata); break; default: - comp_err(dev, "codec_adapter_ctrl_set_data error: unknown set data command"); + comp_err(dev, "module_adapter_ctrl_set_data error: unknown set data command"); ret = -EINVAL; break; } @@ -629,51 +623,49 @@ static int codec_adapter_ctrl_set_data(struct comp_dev *dev, } /* Used to pass standard and bespoke commands (with data) to component */ -int codec_adapter_cmd(struct comp_dev *dev, int cmd, void *data, - int max_data_size) +int module_adapter_cmd(struct comp_dev *dev, int cmd, void *data, int max_data_size) { int ret; struct sof_ipc_ctrl_data *cdata = ASSUME_ALIGNED(data, 4); - comp_dbg(dev, "codec_adapter_cmd() %d start", cmd); + comp_dbg(dev, "module_adapter_cmd() %d start", cmd); switch (cmd) { case COMP_CMD_SET_DATA: - ret = codec_adapter_ctrl_set_data(dev, cdata); + ret = module_adapter_ctrl_set_data(dev, cdata); break; case COMP_CMD_GET_DATA: - comp_err(dev, "codec_adapter_cmd() get_data not implemented yet."); + comp_err(dev, "module_adapter_cmd() get_data not implemented yet."); ret = -ENODATA; break; default: - comp_err(dev, "codec_adapter_cmd() error: unknown command"); + comp_err(dev, "module_adapter_cmd() error: unknown command"); ret = -EINVAL; break; } - comp_dbg(dev, "codec_adapter_cmd() done"); + comp_dbg(dev, "module_adapter_cmd() done"); return ret; } -int codec_adapter_trigger(struct comp_dev *dev, int cmd) +int module_adapter_trigger(struct comp_dev *dev, int cmd) { - comp_dbg(dev, "codec_adapter_trigger(): component got trigger cmd %x", cmd); + comp_dbg(dev, "module_adapter_trigger(): cmd %d", cmd); return comp_set_state(dev, cmd); } -int codec_adapter_reset(struct comp_dev *dev) +int module_adapter_reset(struct comp_dev *dev) { int ret, i; struct processing_module *mod = comp_get_drvdata(dev); struct list_item *blist; - comp_dbg(dev, "codec_adapter_reset(): resetting"); + comp_dbg(dev, "module_adapter_reset(): resetting"); ret = module_reset(mod); if (ret) { - comp_err(dev, "codec_adapter_reset(): error %d, codec reset has failed", - ret); + comp_err(dev, "module_adapter_reset(): failed with error: %d", ret); } for (i = 0; i < mod->num_output_buffers; i++) @@ -699,22 +691,22 @@ int codec_adapter_reset(struct comp_dev *dev) rfree(mod->stream_params); mod->stream_params = NULL; - comp_dbg(dev, "codec_adapter_reset(): done"); + comp_dbg(dev, "module_adapter_reset(): done"); return comp_set_state(dev, COMP_TRIGGER_RESET); } -void codec_adapter_free(struct comp_dev *dev) +void module_adapter_free(struct comp_dev *dev) { int ret; struct processing_module *mod = comp_get_drvdata(dev); struct list_item *blist, *_blist; - comp_dbg(dev, "codec_adapter_free(): start"); + comp_dbg(dev, "module_adapter_free(): start"); ret = module_free(mod); if (ret) - comp_err(dev, "codec_adapter_free(): error %d, codec free failed", ret); + comp_err(dev, "module_adapter_free(): failed with error: %d", ret); list_for_item_safe(blist, _blist, &mod->sink_buffer_list) { struct comp_buffer *buffer = container_of(blist, struct comp_buffer, diff --git a/src/include/ipc/topology.h b/src/include/ipc/topology.h index 5d072729dd4b..06c719018e36 100644 --- a/src/include/ipc/topology.h +++ b/src/include/ipc/topology.h @@ -47,7 +47,7 @@ enum sof_comp_type { SOF_COMP_ASRC, /**< Asynchronous sample rate converter */ SOF_COMP_DCBLOCK, SOF_COMP_SMART_AMP, /**< smart amplifier component */ - SOF_COMP_CODEC_ADAPTOR, /**< codec adaptor */ + SOF_COMP_MODULE_ADAPTER, /**< module adapter */ /* keep FILEREAD/FILEWRITE as the last ones */ SOF_COMP_FILEREAD = 10000, /**< host test based file IO */ SOF_COMP_FILEWRITE = 10001, /**< host test based file IO */ diff --git a/src/include/sof/audio/codec_adapter/codec/cadence.h b/src/include/sof/audio/module_adapter/module/cadence.h similarity index 97% rename from src/include/sof/audio/codec_adapter/codec/cadence.h rename to src/include/sof/audio/module_adapter/module/cadence.h index e32886fac1ac..31867acbd237 100644 --- a/src/include/sof/audio/codec_adapter/codec/cadence.h +++ b/src/include/sof/audio/module_adapter/module/cadence.h @@ -16,6 +16,7 @@ #define LIB_NAME_MAX_LEN 30 #define LIB_NO_ERROR XA_NO_ERROR #define LIB_IS_FATAL_ERROR(e) ((e) & XA_FATAL_ERROR) +#define CODEC_GET_API_ID(id) ((id) & 0xFF) /*****************************************************************************/ /* Cadence API functions */ diff --git a/src/include/sof/audio/codec_adapter/codec/generic.h b/src/include/sof/audio/module_adapter/module/generic.h similarity index 82% rename from src/include/sof/audio/codec_adapter/codec/generic.h rename to src/include/sof/audio/module_adapter/module/generic.h index 955a6a2ab906..07a2b59673b6 100644 --- a/src/include/sof/audio/codec_adapter/codec/generic.h +++ b/src/include/sof/audio/module_adapter/module/generic.h @@ -4,13 +4,13 @@ * * * \file generic.h - * \brief Generic Codec API header file + * \brief Generic Module API header file * \author Marcin Rajwa * */ -#ifndef __SOF_AUDIO_CODEC_GENERIC__ -#define __SOF_AUDIO_CODEC_GENERIC__ +#ifndef __SOF_AUDIO_MODULE_GENERIC__ +#define __SOF_AUDIO_MODULE_GENERIC__ #include #include @@ -18,7 +18,6 @@ #include #define comp_get_module_data(d) (&(((struct processing_module *)((d)->priv_data))->priv)) -#define CODEC_GET_API_ID(id) ((id) & 0xFF) #define API_CALL(cd, cmd, sub_cmd, value, ret) \ do { \ ret = (cd)->api((cd)->self, \ @@ -27,41 +26,41 @@ (value)); \ } while (0) -#define DECLARE_CODEC_ADAPTER(adapter, uuid, tr) \ +#define DECLARE_MODULE_ADAPTER(adapter, uuid, tr) \ static struct comp_dev *adapter_shim_new(const struct comp_driver *drv, \ struct comp_ipc_config *config, \ void *spec) \ { \ - return codec_adapter_new(drv, config, &(adapter), spec);\ + return module_adapter_new(drv, config, &(adapter), spec);\ } \ \ -static const struct comp_driver comp_codec_adapter = { \ - .type = SOF_COMP_CODEC_ADAPTOR, \ +static const struct comp_driver comp_module_adapter = { \ + .type = SOF_COMP_MODULE_ADAPTER, \ .uid = SOF_RT_UUID(uuid), \ .tctx = &(tr), \ .ops = { \ .create = adapter_shim_new, \ - .prepare = codec_adapter_prepare, \ - .params = codec_adapter_params, \ - .copy = codec_adapter_copy, \ - .cmd = codec_adapter_cmd, \ - .trigger = codec_adapter_trigger, \ - .reset = codec_adapter_reset, \ - .free = codec_adapter_free, \ + .prepare = module_adapter_prepare, \ + .params = module_adapter_params, \ + .copy = module_adapter_copy, \ + .cmd = module_adapter_cmd, \ + .trigger = module_adapter_trigger, \ + .reset = module_adapter_reset, \ + .free = module_adapter_free, \ }, \ }; \ \ -static SHARED_DATA struct comp_driver_info comp_codec_adapter_info = { \ - .drv = &comp_codec_adapter, \ +static SHARED_DATA struct comp_driver_info comp_module_adapter_info = { \ + .drv = &comp_module_adapter, \ }; \ \ -UT_STATIC void sys_comp_codec_##adapter##_init(void) \ +UT_STATIC void sys_comp_module_##adapter##_init(void) \ { \ - comp_register(platform_shared_get(&comp_codec_adapter_info, \ - sizeof(comp_codec_adapter_info))); \ + comp_register(platform_shared_get(&comp_module_adapter_info, \ + sizeof(comp_module_adapter_info))); \ } \ \ -DECLARE_MODULE(sys_comp_codec_##adapter##_init) +DECLARE_MODULE(sys_comp_module_##adapter##_init) struct processing_module; @@ -125,19 +124,19 @@ struct output_stream_buffer { struct module_interface { /** * Module specific initialization procedure, called as part of - * codec_adapter component creation in .new() + * module_adapter component creation in .new() */ int (*init)(struct processing_module *mod); /** - * Module specific prepare procedure, called as part of codec_adapter + * Module specific prepare procedure, called as part of module_adapter * component preparation in .prepare() */ int (*prepare)(struct processing_module *mod); /** - * Module specific processing procedure, called as part of codec_adapter + * Module specific processing procedure, called as part of module_adapter * component copy in .copy(). This procedure is responsible to consume - * samples provided by the codec_adapter and produce/output the processed - * ones back to codec_adapter. + * samples provided by the module_adapter and produce/output the processed + * ones back to module_adapter. */ int (*process)(struct processing_module *mod, struct input_stream_buffer *input_buffers, int num_input_buffers, struct output_stream_buffer *output_buffers, @@ -185,13 +184,13 @@ struct module_interface { enum module_processing_mode (*get_processing_mode)(struct processing_module *mod); /** - * Module specific reset procedure, called as part of codec_adapter component + * Module specific reset procedure, called as part of module_adapter component * reset in .reset(). This should reset all parameters to their initial stage * but leave allocated memory intact. */ int (*reset)(struct processing_module *mod); /** - * Module specific free procedure, called as part of codec_adapter component + * Module specific free procedure, called as part of module_adapter component * free in .free(). This should free all memory allocated by module. */ int (*free)(struct processing_module *mod); @@ -247,7 +246,7 @@ struct module_memory { /** * \struct module_processing_data - * \brief Processing data shared between particular module & codec_adapter + * \brief Processing data shared between particular module & module_adapter */ struct module_processing_data { uint32_t in_buff_size; /**< Specifies the size of module input buffer. */ @@ -272,7 +271,7 @@ struct module_data { struct module_processing_data mpd; /**< shared data comp <-> module */ }; -/* codec_adapter private, runtime data */ +/* module_adapter private, runtime data */ struct processing_module { struct module_data priv; /**< module private data */ struct sof_ipc_stream_params *stream_params; @@ -312,16 +311,15 @@ int module_set_configuration(struct processing_module *mod, const uint8_t *fragment, size_t fragment_size, uint8_t *response, size_t response_size); -struct comp_dev *codec_adapter_new(const struct comp_driver *drv, - struct comp_ipc_config *config, - struct module_interface *interface, - void *spec); -int codec_adapter_prepare(struct comp_dev *dev); -int codec_adapter_params(struct comp_dev *dev, struct sof_ipc_stream_params *params); -int codec_adapter_copy(struct comp_dev *dev); -int codec_adapter_cmd(struct comp_dev *dev, int cmd, void *data, int max_data_size); -int codec_adapter_trigger(struct comp_dev *dev, int cmd); -void codec_adapter_free(struct comp_dev *dev); -int codec_adapter_reset(struct comp_dev *dev); +struct comp_dev *module_adapter_new(const struct comp_driver *drv, + struct comp_ipc_config *config, + struct module_interface *interface, void *spec); +int module_adapter_prepare(struct comp_dev *dev); +int module_adapter_params(struct comp_dev *dev, struct sof_ipc_stream_params *params); +int module_adapter_copy(struct comp_dev *dev); +int module_adapter_cmd(struct comp_dev *dev, int cmd, void *data, int max_data_size); +int module_adapter_trigger(struct comp_dev *dev, int cmd); +void module_adapter_free(struct comp_dev *dev); +int module_adapter_reset(struct comp_dev *dev); -#endif /* __SOF_AUDIO_CODEC_GENERIC__ */ +#endif /* __SOF_AUDIO_MODULE_GENERIC__ */ diff --git a/src/include/sof/audio/codec_adapter/codec_adapter.h b/src/include/sof/audio/module_adapter/module_adapter.h similarity index 53% rename from src/include/sof/audio/codec_adapter/codec_adapter.h rename to src/include/sof/audio/module_adapter/module_adapter.h index 7385ae3422e3..c14954106660 100644 --- a/src/include/sof/audio/codec_adapter/codec_adapter.h +++ b/src/include/sof/audio/module_adapter/module_adapter.h @@ -5,11 +5,11 @@ * Author: Marcin Rajwa */ -#ifndef __SOF_AUDIO_CODEC_ADAPTER__ -#define __SOF_AUDIO_CODEC_ADAPTER__ +#ifndef __SOF_AUDIO_MODULE_ADAPTER__ +#define __SOF_AUDIO_MODULE_ADAPTER__ -#include +#include #define MAX_BLOB_SIZE 8192 -#endif /* __SOF_AUDIO_CODEC_ADAPTER__ */ +#endif /* __SOF_AUDIO_MODULE_ADAPTER__ */ diff --git a/src/ipc/ipc3/helper.c b/src/ipc/ipc3/helper.c index 6454126aea4e..a87cb7aeaf5e 100644 --- a/src/ipc/ipc3/helper.c +++ b/src/ipc/ipc3/helper.c @@ -273,7 +273,7 @@ static void comp_specific_builder(struct sof_ipc_comp *comp, case SOF_COMP_MUX: case SOF_COMP_DCBLOCK: case SOF_COMP_SMART_AMP: - case SOF_COMP_CODEC_ADAPTOR: + case SOF_COMP_MODULE_ADAPTER: case SOF_COMP_NONE: config->process.type = proc->type; config->process.size = proc->size; diff --git a/zephyr/wrapper.c b/zephyr/wrapper.c index 8ea6c3efed12..b905280bf96d 100644 --- a/zephyr/wrapper.c +++ b/zephyr/wrapper.c @@ -458,8 +458,8 @@ void sys_comp_kpb_init(void); void sys_comp_smart_amp_init(void); void sys_comp_basefw_init(void); void sys_comp_copier_init(void); -void sys_comp_codec_cadence_interface_init(void); -void sys_comp_codec_passthrough_interface_init(void); +void sys_comp_module_cadence_interface_init(void); +void sys_comp_module_passthrough_interface_init(void); void sys_comp_gain_init(void); void sys_comp_mixin_init(void); @@ -574,11 +574,11 @@ int task_main_start(struct sof *sof) } if (IS_ENABLED(CONFIG_CADENCE_CODEC)) { - sys_comp_codec_cadence_interface_init(); + sys_comp_module_cadence_interface_init(); } if (IS_ENABLED(CONFIG_PASSTHROUGH_CODEC)) { - sys_comp_codec_passthrough_interface_init(); + sys_comp_module_passthrough_interface_init(); } /* init pipeline position offsets */