Skip to content

Commit 2a96479

Browse files
Jyri Sarhakv2019i
authored andcommitted
module_adapter: Add module_adapter_heap_usage()
Adds exported module_adapter_heap_usage() function that returns current heap usage of the module in question. Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
1 parent 31ff3c4 commit 2a96479

3 files changed

Lines changed: 19 additions & 0 deletions

File tree

src/audio/module_adapter/module/generic.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ void *mod_alloc_align(struct processing_module *mod, uint32_t size, uint32_t ali
152152
}
153153
/* Store reference to allocated memory */
154154
container->ptr = ptr;
155+
container->size = size;
155156
list_item_prepend(&container->mem_list, &mod->priv.memory.mem_list);
156157

157158
return ptr;

src/audio/module_adapter/module_adapter.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,6 +1289,21 @@ void module_adapter_free(struct comp_dev *dev)
12891289
}
12901290
EXPORT_SYMBOL(module_adapter_free);
12911291

1292+
size_t module_adapter_heap_usage(struct processing_module *mod)
1293+
{
1294+
struct list_item *mem_list, *_mem_list;
1295+
size_t size = 0;
1296+
1297+
list_for_item_safe(mem_list, _mem_list, &mod->priv.memory.mem_list) {
1298+
struct module_memory *mem = container_of(mem_list, struct module_memory, mem_list);
1299+
1300+
size += mem->size;
1301+
}
1302+
1303+
return size;
1304+
}
1305+
EXPORT_SYMBOL(module_adapter_heap_usage);
1306+
12921307
/*
12931308
* \brief Get DAI hw params
12941309
* \param[in] dev - component device pointer

src/include/sof/audio/module_adapter/module/generic.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ struct module_param {
122122
struct module_memory {
123123
void *ptr; /**< A pointr to particular memory block */
124124
struct list_item mem_list; /**< list of memory allocated by module */
125+
size_t size;
125126
};
126127

127128
/**
@@ -222,6 +223,8 @@ int module_adapter_trigger(struct comp_dev *dev, int cmd);
222223
void module_adapter_free(struct comp_dev *dev);
223224
int module_adapter_reset(struct comp_dev *dev);
224225

226+
size_t module_adapter_heap_usage(struct processing_module *mod);
227+
225228
#if CONFIG_IPC_MAJOR_3
226229
static inline
227230
int module_adapter_get_attribute(struct comp_dev *dev, uint32_t type, void *value)

0 commit comments

Comments
 (0)