Skip to content

Commit c9b4f12

Browse files
committed
idc: make two functions cold
Make idc_init_thread() and idc_init() cold, they are only invoked during initialisation. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
1 parent 60283dc commit c9b4f12

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

src/idc/idc.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include <rtos/alloc.h>
1616
#include <rtos/clk.h>
1717
#include <sof/lib/cpu.h>
18+
#include <sof/lib/memory.h>
1819
#include <sof/lib/notifier.h>
1920
#include <sof/lib/pm_runtime.h>
2021
#include <sof/lib/uuid.h>
@@ -419,10 +420,12 @@ void idc_cmd(struct idc_msg *msg)
419420
}
420421

421422
/* Runs on each CPU */
422-
int idc_init(void)
423+
__cold int idc_init(void)
423424
{
424425
struct idc **idc = idc_get();
425426

427+
assert_can_be_cold();
428+
426429
tr_dbg(&idc_tr, "entry");
427430

428431
/* initialize idc data */

src/idc/zephyr_idc.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,11 +196,13 @@ int idc_send_msg(struct idc_msg *msg, uint32_t mode)
196196
return ret;
197197
}
198198

199-
void idc_init_thread(void)
199+
__cold void idc_init_thread(void)
200200
{
201201
char thread_name[] = "idc_p4wq0";
202202
int cpu = cpu_get_id();
203203

204+
assert_can_be_cold();
205+
204206
k_p4wq_enable_static_thread(q_zephyr_idc + cpu,
205207
_p4threads_q_zephyr_idc + cpu, BIT(cpu));
206208

0 commit comments

Comments
 (0)