Skip to content

Commit 8b2881c

Browse files
committed
audio: module-adapter: allocate pins on module heap
Allocate input and output pins on module heap for automatic freeing. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
1 parent 3740f84 commit 8b2881c

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

src/audio/module_adapter/module_adapter.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ static void module_adapter_mem_free(struct processing_module *mod)
179179
void *mem = mod->priv.resources.heap_mem;
180180

181181
#if CONFIG_IPC_MAJOR_4
182-
module_driver_heap_free(mod->dev->drv->user_heap, mod->priv.cfg.input_pins);
182+
sof_heap_free(mod_heap, mod->priv.cfg.input_pins);
183183
#endif
184184
sof_heap_free(mod_heap, mod->dev);
185185
sof_heap_free(mod_heap, mod);

src/audio/module_adapter/module_adapter_ipc4.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,15 @@ int module_adapter_init_data(struct comp_dev *dev,
136136
if (cfgsz == (sizeof(*cfg) + pinsz)) {
137137
dst->nb_input_pins = n_in;
138138
dst->nb_output_pins = n_out;
139+
#if CONFIG_SOF_USERSPACE_USE_DRIVER_HEAP
139140
dst->input_pins = module_driver_heap_rmalloc(dev->drv->user_heap,
140141
SOF_MEM_FLAG_USER |
141142
SOF_MEM_FLAG_COHERENT, pinsz);
143+
#else
144+
dst->input_pins = sof_heap_alloc(dev->mod->priv.resources.heap,
145+
SOF_MEM_FLAG_USER | SOF_MEM_FLAG_COHERENT,
146+
pinsz, 0);
147+
#endif
142148
if (!dst->input_pins)
143149
return -ENOMEM;
144150

0 commit comments

Comments
 (0)