Skip to content

Commit aec3c0b

Browse files
LL: add NOTIFIER_ID_LL_PRE_RUN to scheduler
Recalculation of DP tasks states - readiness and deadlines - need to be called every time situation may change, that includes: - start of LL processing - end of LL processing - end of processing of any DP module this commit adds NOTIFIER_ID_LL_PRE_RUN to allow pre-ll call to DP scheduler Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
1 parent 8ce465e commit aec3c0b

File tree

3 files changed

+7
-0
lines changed

3 files changed

+7
-0
lines changed

src/include/sof/lib/notifier.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ enum notify_id {
3232
NOTIFIER_ID_BUFFER_FREE, /* struct buffer_cb_free* */
3333
NOTIFIER_ID_DMA_COPY, /* struct dma_cb_data* */
3434
NOTIFIER_ID_LL_POST_RUN, /* NULL */
35+
NOTIFIER_ID_LL_PRE_RUN, /* NULL */
3536
NOTIFIER_ID_DMA_IRQ, /* struct dma_chan_data * */
3637
NOTIFIER_ID_DAI_TRIGGER, /* struct dai_group * */
3738
NOTIFIER_ID_MIC_PRIVACY_STATE_CHANGE, /* struct mic_privacy_settings * */

src/schedule/ll_schedule.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,9 @@ static void schedule_ll_tasks_run(void *data)
313313

314314
perf_cnt_init(&sch->pcd);
315315

316+
notifier_event(sch, NOTIFIER_ID_LL_PRE_RUN,
317+
NOTIFIER_TARGET_CORE_LOCAL, NULL, 0);
318+
316319
/* run tasks if there are any pending */
317320
if (schedule_ll_is_pending(sch))
318321
schedule_ll_tasks_execute(sch);

src/schedule/zephyr_ll.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ static void zephyr_ll_run(void *data)
176176
struct list_item *list, *tmp, task_head = LIST_INIT(task_head);
177177
uint32_t flags;
178178

179+
notifier_event(sch, NOTIFIER_ID_LL_PRE_RUN,
180+
NOTIFIER_TARGET_CORE_LOCAL, NULL, 0);
181+
179182
zephyr_ll_lock(sch, &flags);
180183

181184
/*

0 commit comments

Comments
 (0)