From b54ec4bdbf31bf2e61263101856fe9dfa5804e35 Mon Sep 17 00:00:00 2001 From: Liam Girdwood Date: Fri, 21 Jan 2022 12:01:42 +0000 Subject: [PATCH] Revert "module_interface: remove module_id" This reverts commit 0f6e3b2ed4dc7b421893e2946a3e91156bcceee5. --- src/audio/codec_adapter/codec/generic.c | 46 +++++++++++-------- .../sof/audio/codec_adapter/codec/generic.h | 2 + 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/src/audio/codec_adapter/codec/generic.c b/src/audio/codec_adapter/codec/generic.c index df891d631..a69c58e7d 100644 --- a/src/audio/codec_adapter/codec/generic.c +++ b/src/audio/codec_adapter/codec/generic.c @@ -96,6 +96,7 @@ int module_init(struct comp_dev *dev, struct module_interface *interface) { int ret; struct processing_module *mod = comp_get_drvdata(dev); + uint32_t module_id = mod->ca_config.module_id; struct module_data *md = &mod->priv; comp_info(dev, "module_init() start"); @@ -105,16 +106,18 @@ int module_init(struct comp_dev *dev, struct module_interface *interface) if (mod->priv.state > MODULE_INITIALIZED) return -EPERM; + md->id = module_id; + if (!interface) { - comp_err(dev, "module_init(): could not find module interface for comp %d", - dev_comp_id(dev)); + comp_err(dev, "module_init(): could not find module interface for module id %x", + module_id); return -EIO; } if (!interface->init || !interface->prepare || !interface->process || !interface->apply_config || !interface->reset || !interface->free) { - comp_err(dev, "module_init(): comp %d is missing mandatory interfaces", - dev_comp_id(dev)); + comp_err(dev, "module_init(): module %x is missing mandatory interfaces", + module_id); return -EIO; } @@ -126,8 +129,8 @@ int module_init(struct comp_dev *dev, struct module_interface *interface) /* Now we can proceed with module specific initialization */ ret = md->ops->init(dev); if (ret) { - comp_err(dev, "module_init() error %d: module specific init failed, comp %d", - ret, dev_comp_id(dev)); + comp_err(dev, "module_init() error %d: module specific init failed, module_id %x", + ret, module_id); return ret; } @@ -163,8 +166,8 @@ void *module_allocate_memory(struct comp_dev *dev, uint32_t size, uint32_t align ptr = rballoc(0, SOF_MEM_CAPS_RAM, size); if (!ptr) { - comp_err(dev, "module_allocate_memory: failed to allocate memory for comp %x.", - dev_comp_id(dev)); + comp_err(dev, "module_allocate_memory: failed to allocate memory for module %x.", + mod->ca_config.module_id); return NULL; } /* Store reference to allocated memory */ @@ -211,6 +214,7 @@ int module_prepare(struct comp_dev *dev) { int ret; struct processing_module *mod = comp_get_drvdata(dev); + uint32_t module_id = mod->ca_config.module_id; struct module_data *md = &mod->priv; comp_dbg(dev, "module_prepare() start"); @@ -222,8 +226,8 @@ int module_prepare(struct comp_dev *dev) ret = md->ops->prepare(dev); if (ret) { - comp_err(dev, "module_prepare() error %d: module specific prepare failed, comp_id %d", - ret, dev_comp_id(dev)); + comp_err(dev, "module_prepare() error %d: module specific prepare failed, module_id 0x%x", + ret, module_id); return ret; } @@ -249,13 +253,14 @@ int module_process(struct comp_dev *dev) int ret; struct processing_module *mod = comp_get_drvdata(dev); + uint32_t module_id = mod->ca_config.module_id; struct module_data *md = &mod->priv; comp_dbg(dev, "module_process() start"); if (md->state != MODULE_IDLE) { - comp_err(dev, "module_process(): wrong state of comp_id %x, state %d", - dev_comp_id(dev), md->state); + comp_err(dev, "module_process(): wrong state of module %x, state %d", + mod->ca_config.module_id, md->state); return -EPERM; } @@ -264,8 +269,8 @@ int module_process(struct comp_dev *dev) ret = md->ops->process(dev); if (ret) - comp_err(dev, "module_process() error %d: for comp %d", - ret, dev_comp_id(dev)); + comp_err(dev, "module_process() error %d: for module_id %x", + ret, module_id); else comp_dbg(dev, "module_process() done"); @@ -278,14 +283,15 @@ int module_apply_runtime_config(struct comp_dev *dev) { int ret; struct processing_module *mod = comp_get_drvdata(dev); + uint32_t module_id = mod->ca_config.module_id; struct module_data *md = &mod->priv; comp_dbg(dev, "module_apply_config() start"); ret = md->ops->apply_config(dev); if (ret) { - comp_err(dev, "module_apply_config() error %d: for comp %x", - ret, dev_comp_id(dev)); + comp_err(dev, "module_apply_config() error %d: for module_id %x", + ret, module_id); return ret; } @@ -307,8 +313,8 @@ int module_reset(struct comp_dev *dev) ret = md->ops->reset(dev); if (ret) { - comp_err(dev, "module_reset() error %d: module specific reset() failed for comp %d", - ret, dev_comp_id(dev)); + comp_err(dev, "module_reset() error %d: module specific reset() failed for module_id %x", + ret, mod->ca_config.module_id); return ret; } @@ -348,8 +354,8 @@ int module_free(struct comp_dev *dev) ret = md->ops->free(dev); if (ret) - comp_warn(dev, "module_free(): error: %d for %d", - ret, dev_comp_id(dev)); + comp_warn(dev, "module_free(): error: %d for module_id %x", + ret, mod->ca_config.module_id); /* Free all memory requested by module */ module_free_all_memory(dev); diff --git a/src/include/sof/audio/codec_adapter/codec/generic.h b/src/include/sof/audio/codec_adapter/codec/generic.h index 0c50c679c..3ffc01a16 100644 --- a/src/include/sof/audio/codec_adapter/codec/generic.h +++ b/src/include/sof/audio/codec_adapter/codec/generic.h @@ -129,6 +129,7 @@ enum module_state { /** codec adapter setup config parameters */ struct ca_config { + uint32_t module_id; uint32_t reserved; uint32_t sample_rate; uint32_t sample_width; @@ -189,6 +190,7 @@ struct module_processing_data { /** private, runtime module data */ struct module_data { + uint32_t id; enum module_state state; void *private; /**< self object, memory tables etc here */ void *runtime_params;