Sound Open Firmware
Loading...
Searching...
No Matches
task.h File Reference
Include dependency graph for task.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  task_ops
 Task operations. More...
struct  task
 Task used by schedulers. More...

Macros

#define SOF_TASK_PRI_HIGH   0 /* priority level 0 - high */
 Predefined LL task priorities.
#define SOF_TASK_PRI_MED   4 /* priority level 4 - medium */
#define SOF_TASK_PRI_LOW   9 /* priority level 9 - low */
#define SOF_TASK_DEADLINE_IDLE   UINT64_MAX
 Predefined EDF task deadlines.
#define SOF_TASK_DEADLINE_ALMOST_IDLE   (SOF_TASK_DEADLINE_IDLE - 1)
#define SOF_TASK_DEADLINE_NOW   0
#define SOF_TASK_SKIP_COUNT   0xFFFFu
 Task counter initial value.

Enumerations

enum  task_state {
  SOF_TASK_STATE_INIT = 0 , SOF_TASK_STATE_QUEUED , SOF_TASK_STATE_PENDING , SOF_TASK_STATE_RUNNING ,
  SOF_TASK_STATE_PREEMPTED , SOF_TASK_STATE_COMPLETED , SOF_TASK_STATE_FREE , SOF_TASK_STATE_CANCEL ,
  SOF_TASK_STATE_RESCHEDULE
}
 Task states. More...

Functions

static bool task_is_active (struct task *task)
static enum task_state task_run (struct task *task)
static void task_complete (struct task *task)
static uint64_t task_get_deadline (struct task *task)
int task_main_start (struct sof *sof)
int start_complete (void)

Macro Definition Documentation

◆ SOF_TASK_DEADLINE_ALMOST_IDLE

#define SOF_TASK_DEADLINE_ALMOST_IDLE   (SOF_TASK_DEADLINE_IDLE - 1)

◆ SOF_TASK_DEADLINE_IDLE

#define SOF_TASK_DEADLINE_IDLE   UINT64_MAX

Predefined EDF task deadlines.

◆ SOF_TASK_DEADLINE_NOW

#define SOF_TASK_DEADLINE_NOW   0

◆ SOF_TASK_PRI_HIGH

#define SOF_TASK_PRI_HIGH   0 /* priority level 0 - high */

Predefined LL task priorities.

◆ SOF_TASK_PRI_LOW

#define SOF_TASK_PRI_LOW   9 /* priority level 9 - low */

◆ SOF_TASK_PRI_MED

#define SOF_TASK_PRI_MED   4 /* priority level 4 - medium */

◆ SOF_TASK_SKIP_COUNT

#define SOF_TASK_SKIP_COUNT   0xFFFFu

Task counter initial value.

Enumeration Type Documentation

◆ task_state

enum task_state

Task states.

Enumerator
SOF_TASK_STATE_INIT 
SOF_TASK_STATE_QUEUED 
SOF_TASK_STATE_PENDING 
SOF_TASK_STATE_RUNNING 
SOF_TASK_STATE_PREEMPTED 
SOF_TASK_STATE_COMPLETED 
SOF_TASK_STATE_FREE 
SOF_TASK_STATE_CANCEL 
SOF_TASK_STATE_RESCHEDULE 

Function Documentation

◆ start_complete()

int start_complete ( void )

◆ task_complete()

void task_complete ( struct task * task)
inlinestatic

◆ task_get_deadline()

uint64_t task_get_deadline ( struct task * task)
inlinestatic

◆ task_is_active()

bool task_is_active ( struct task * task)
inlinestatic

◆ task_main_start()

int task_main_start ( struct sof * sof)

◆ task_run()

enum task_state task_run ( struct task * task)
inlinestatic