8#ifndef __SOF_SCHEDULE_DP_SCHEDULE_H__
9#define __SOF_SCHEDULE_DP_SCHEDULE_H__
12#include <sof/trace/trace.h>
15#include <ipc4/base_fw.h>
16#include <ipc4/module.h>
17#include <ipc4/pipeline.h>
19struct processing_module;
77 struct processing_module *mod,
90 uint32_t *data_off_size);
123#if CONFIG_ZEPHYR_DP_SCHEDULER
static int scheduler_dp_thread_ipc(struct processing_module *pmod, unsigned int cmd, const union scheduler_dp_thread_ipc_param *param)
Definition dp_schedule.h:127
@ DP_TASK_EVENT_CANCEL
Definition dp_schedule.h:94
@ DP_TASK_EVENT_PROCESS
Definition dp_schedule.h:93
@ DP_TASK_EVENT_IPC
Definition dp_schedule.h:95
@ DP_TASK_EVENT_IPC_DONE
Definition dp_schedule.h:96
void scheduler_dp_ll_tick(void)
int scheduler_dp_init(void)
DP scheduler is a scheduler that creates a separate preemptible Zephyr thread for each SOF task.
void scheduler_get_task_info_dp(struct scheduler_props *scheduler_props, uint32_t *data_off_size)
Extract information about scheduler's tasks.
int scheduler_dp_task_init(struct task **task, const struct sof_uuid_entry *uid, const struct task_ops *ops, struct processing_module *mod, uint16_t core, size_t stack_size, uint32_t options)
initialize a DP task and add it to scheduling It must be called on core the task is declared to run o...
Definition component.h:284
Connects UUID with component description.
Definition uuid.h:77
Task operations.
Definition task.h:49
Task used by schedulers.
Definition task.h:56
Definition dp_schedule.h:111
const struct bind_info * bind_data
Definition dp_schedule.h:112
unsigned int trigger_cmd
Definition dp_schedule.h:114
int n_sinks
Definition dp_schedule.h:118
struct sof_source ** sources
Definition dp_schedule.h:117
struct scheduler_dp_thread_ipc_param::@053035172114074033332357031121234110163265353247 pipeline_state
enum ipc4_pipeline_state state
Definition dp_schedule.h:115
int n_sources
Definition dp_schedule.h:116
struct sof_sink ** sinks
Definition dp_schedule.h:119
#define BIT(b)
Definition bit.h:14