8#ifndef __ZEPHYR_RTOS_TASK_H__
9#define __ZEPHYR_RTOS_TASK_H__
23#define SOF_TASK_PRI_HIGH 0
24#define SOF_TASK_PRI_MED 4
25#define SOF_TASK_PRI_LOW 9
28#define SOF_TASK_DEADLINE_IDLE UINT64_MAX
29#define SOF_TASK_DEADLINE_ALMOST_IDLE (SOF_TASK_DEADLINE_IDLE - 1)
30#define SOF_TASK_DEADLINE_NOW 0
33#define SOF_TASK_SKIP_COUNT 0xFFFFu
73#if CONFIG_PERFORMANCE_COUNTERS
uint32_t data[]
Definition debug_stream_slot.h:2
#define list_item(item, type, member)
Definition list.h:80
#define assert(x)
Definition panic.h:19
Simple performance counters.
Audio component base device "class".
Definition component.h:645
Holds information about scheduler.
Definition schedule.h:167
Connects UUID with component description.
Definition uuid.h:77
General firmware context.
Definition sof.h:44
Task operations.
Definition task.h:49
enum task_state(* run)(void *data)
task's main operation
Definition task.h:50
uint64_t(* get_deadline)(void *data)
returns current deadline
Definition task.h:52
void(* complete)(void *data)
executed on completion
Definition task.h:51
Task used by schedulers.
Definition task.h:56
uint32_t cycles_sum
Definition task.h:70
const struct sof_uuid_entry * uid
Uuid.
Definition task.h:58
struct list_item list
used by schedulers to hold tasks
Definition task.h:66
struct schedule_data * sch
scheduler bound to task
Definition task.h:63
uint32_t cycles_max
Definition task.h:71
uint16_t core
execution core
Definition task.h:61
enum task_state state
current state
Definition task.h:64
uint16_t type
type of the task (LL or EDF)
Definition task.h:59
void * data
custom data passed to all ops
Definition task.h:65
struct task_ops ops
task operations
Definition task.h:68
int16_t priority
priority of the task (used by LL); lower runs first
Definition task.h:60
struct k_work_delayable z_delayed_work
Definition task.h:69
void * priv_data
task private data
Definition task.h:67
uint64_t start
start time in [ms] since now (LL only)
Definition task.h:57
uint16_t flags
custom flags
Definition task.h:62
uint32_t cycles_cnt
Definition task.h:72
task_state
Task states.
Definition task.h:36
@ SOF_TASK_STATE_INIT
Definition task.h:37
@ SOF_TASK_STATE_FREE
Definition task.h:43
@ SOF_TASK_STATE_RUNNING
Definition task.h:40
@ SOF_TASK_STATE_COMPLETED
Definition task.h:42
@ SOF_TASK_STATE_PENDING
Definition task.h:39
@ SOF_TASK_STATE_CANCEL
Definition task.h:44
@ SOF_TASK_STATE_QUEUED
Definition task.h:38
@ SOF_TASK_STATE_PREEMPTED
Definition task.h:41
@ SOF_TASK_STATE_RESCHEDULE
Definition task.h:45
int task_main_start(struct sof *sof)
static uint64_t task_get_deadline(struct task *task)
Definition task.h:105
static bool task_is_active(struct task *task)
Definition task.h:78
static void task_complete(struct task *task)
Definition task.h:99
static enum task_state task_run(struct task *task)
Definition task.h:92