Sound Open Firmware
Loading...
Searching...
No Matches
ll_schedule.h File Reference

Low-Latency (LL) timer and DMA-driven deterministic task scheduler interface. More...

Include dependency graph for ll_schedule.h:

Go to the source code of this file.

Data Structures

struct  ll_task_pdata
 Low-Latency task private scheduling parameters. More...
 

Macros

#define ll_sch_set_pdata(task, data)    do { (task)->priv_data = (data); } while (0)
 Set the private data pointer of a Low-Latency task.
 
#define ll_sch_get_pdata(task)   ((task)->priv_data)
 Retrieve the private data pointer of a Low-Latency task.
 
#define scheduler_init_ll   zephyr_ll_scheduler_init
 
#define schedule_task_init_ll   zephyr_ll_task_init
 

Functions

int zephyr_ll_scheduler_init (struct ll_schedule_domain *domain)
 Initialize the Zephyr Low-Latency scheduler domain.
 
int zephyr_ll_task_init (struct task *task, const struct sof_uuid_entry *uid, uint16_t type, int16_t priority, enum task_state(*run)(void *data), void *data, uint16_t core, uint32_t flags)
 Initialize a Zephyr Low-Latency task.
 
void scheduler_get_task_info_ll (struct scheduler_props *scheduler_props, uint32_t *data_off_size)
 Extract telemetry information about Low-Latency scheduler tasks.
 

Variables

struct tr_ctx ll_tr
 

Detailed Description

Low-Latency (LL) timer and DMA-driven deterministic task scheduler interface.

Delayed or scheduled work. Work runs in the same context as its timer or DMA interrupt source. It executes deterministically and must not sleep or wait.