Skip to content

Commit 1785cf2

Browse files
author
Jyri Sarha
committed
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 16367b7 commit 1785cf2

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: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1234,6 +1234,22 @@ void module_adapter_free(struct comp_dev *dev)
12341234
}
12351235
EXPORT_SYMBOL(module_adapter_free);
12361236

1237+
size_t module_adapter_heap_usage(struct comp_dev *dev)
1238+
{
1239+
struct processing_module *mod = comp_mod(dev);
1240+
struct list_item *mem_list, *_mem_list;
1241+
size_t size = 0;
1242+
1243+
list_for_item_safe(mem_list, _mem_list, &mod->priv.memory.mem_list) {
1244+
struct module_memory *mem = container_of(mem_list, struct module_memory, mem_list);
1245+
1246+
size += mem->size;
1247+
}
1248+
1249+
return size;
1250+
}
1251+
EXPORT_SYMBOL(module_adapter_heap_usage);
1252+
12371253
/*
12381254
* \brief Get DAI hw params
12391255
* \param[in] dev - component device pointer

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

Lines changed: 2 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
/**
@@ -217,6 +218,7 @@ int module_adapter_copy(struct comp_dev *dev);
217218
int module_adapter_cmd(struct comp_dev *dev, int cmd, void *data, int max_data_size);
218219
int module_adapter_trigger(struct comp_dev *dev, int cmd);
219220
void module_adapter_free(struct comp_dev *dev);
221+
size_t module_adapter_heap_usage(struct comp_dev *dev);
220222
int module_adapter_reset(struct comp_dev *dev);
221223

222224
#if CONFIG_IPC_MAJOR_3

0 commit comments

Comments
 (0)