Sound Open Firmware
Loading...
Searching...
No Matches
ll_schedule_domain.h File Reference
Include dependency graph for ll_schedule_domain.h:

Go to the source code of this file.

Data Structures

struct  ll_schedule_domain_ops
struct  ll_schedule_domain

Macros

#define LL_TIMER_PERIOD_US   1000ULL /* default period in microseconds */
#define LL_WATCHDOG_TIMEOUT_US   (2 * LL_TIMER_PERIOD_US)
#define ll_sch_domain_set_pdata(domain, data)
#define ll_sch_domain_get_pdata(domain)

Functions

static struct ll_schedule_domain * timer_domain_get (void)
static struct ll_schedule_domain * dma_domain_get (void)
static struct ll_schedule_domain * domain_init (int type, int clk, bool synchronous, const struct ll_schedule_domain_ops *ops)
static void domain_set (struct ll_schedule_domain *domain, uint64_t start)
static void domain_clear (struct ll_schedule_domain *domain)
static void domain_task_cancel (struct ll_schedule_domain *domain, struct task *task)
static int domain_register (struct ll_schedule_domain *domain, struct task *task, void(*handler)(void *arg), void *arg)
static void domain_unregister (struct ll_schedule_domain *domain, struct task *task, uint32_t num_tasks)
static void domain_enable (struct ll_schedule_domain *domain, int core)
static void domain_disable (struct ll_schedule_domain *domain, int core)
static bool domain_is_pending (struct ll_schedule_domain *domain, struct task *task, struct comp_dev **comp)
struct ll_schedule_domain * timer_domain_init (struct timer *timer, int clk)
struct ll_schedule_domain * dma_multi_chan_domain_init (struct dma *dma_array, uint32_t num_dma, int clk, bool aggregated_irq)
struct ll_schedule_domain * dma_single_chan_domain_init (struct dma *dma_array, uint32_t num_dma, int clk)

Macro Definition Documentation

◆ ll_sch_domain_get_pdata

#define ll_sch_domain_get_pdata ( domain)
Value:
((domain)->priv_data)

◆ ll_sch_domain_set_pdata

#define ll_sch_domain_set_pdata ( domain,
data )
Value:
((domain)->priv_data = (data))
uint32_t data[]
Definition debug_stream_slot.h:2

◆ LL_TIMER_PERIOD_US

#define LL_TIMER_PERIOD_US   1000ULL /* default period in microseconds */

◆ LL_WATCHDOG_TIMEOUT_US

#define LL_WATCHDOG_TIMEOUT_US   (2 * LL_TIMER_PERIOD_US)

Function Documentation

◆ dma_domain_get()

struct ll_schedule_domain * dma_domain_get ( void )
inlinestatic

◆ dma_multi_chan_domain_init()

struct ll_schedule_domain * dma_multi_chan_domain_init ( struct dma * dma_array,
uint32_t num_dma,
int clk,
bool aggregated_irq )

◆ dma_single_chan_domain_init()

struct ll_schedule_domain * dma_single_chan_domain_init ( struct dma * dma_array,
uint32_t num_dma,
int clk )

◆ domain_clear()

void domain_clear ( struct ll_schedule_domain * domain)
inlinestatic

◆ domain_disable()

void domain_disable ( struct ll_schedule_domain * domain,
int core )
inlinestatic

◆ domain_enable()

void domain_enable ( struct ll_schedule_domain * domain,
int core )
inlinestatic

◆ domain_init()

struct ll_schedule_domain * domain_init ( int type,
int clk,
bool synchronous,
const struct ll_schedule_domain_ops * ops )
inlinestatic

◆ domain_is_pending()

bool domain_is_pending ( struct ll_schedule_domain * domain,
struct task * task,
struct comp_dev ** comp )
inlinestatic

◆ domain_register()

int domain_register ( struct ll_schedule_domain * domain,
struct task * task,
void(* handler )(void *arg),
void * arg )
inlinestatic

◆ domain_set()

void domain_set ( struct ll_schedule_domain * domain,
uint64_t start )
inlinestatic

◆ domain_task_cancel()

void domain_task_cancel ( struct ll_schedule_domain * domain,
struct task * task )
inlinestatic

◆ domain_unregister()

void domain_unregister ( struct ll_schedule_domain * domain,
struct task * task,
uint32_t num_tasks )
inlinestatic

◆ timer_domain_get()

struct ll_schedule_domain * timer_domain_get ( void )
inlinestatic

◆ timer_domain_init()

struct ll_schedule_domain * timer_domain_init ( struct timer * timer,
int clk )