29#ifndef __SOF_SCHEDULE_DP_SCHEDULE_H__
30#define __SOF_SCHEDULE_DP_SCHEDULE_H__
33#include <sof/trace/trace.h>
79#if defined(__ZEPHYR__) && CONFIG_SOF_FULL_ZEPHYR_APPLICATION
93#include <zephyr/syscalls/dp_schedule.h>
105 uint32_t *data_off_size);
170#if CONFIG_ZEPHYR_DP_SCHEDULER
IPC4 Base Firmware parameters, memory configuration, and status definitions.
ipc4_pipeline_state
Pipeline operational state machine values.
Definition pipeline.h:51
void scheduler_dp_ll_tick(void)
Tick notification from the Low-Latency (LL) timer domain to the DP scheduler.
int scheduler_dp_init(void)
Initialize the Data Processing (DP) scheduler on the calling core.
void scheduler_get_task_info_dp(struct scheduler_props *scheduler_props, uint32_t *data_off_size)
Extract telemetry information about Data Processing scheduler 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 Data Processing task and attach a dedicated Zephyr worker thread.
void scheduler_dp_internal_free(struct task *task)
Free kernel-side internal resources associated with a DP task.
static int scheduler_dp_thread_ipc(struct processing_module *pmod, unsigned int cmd, union scheduler_dp_thread_ipc_param *param)
Dispatch an IPC command synchronously to a Data Processing (DP) worker thread.
Definition dp_schedule.h:174
@ DP_TASK_EVENT_CANCEL
Definition dp_schedule.h:112
@ DP_TASK_EVENT_PROCESS
Definition dp_schedule.h:111
@ DP_TASK_EVENT_IPC
Definition dp_schedule.h:113
@ DP_TASK_EVENT_IPC_DONE
Definition dp_schedule.h:114
Dynamic module interface, lifecycle callbacks, and buffer contracts.
module_cfg_fragment_position
Fragment position in config MODULE_CFG_FRAGMENT_FIRST: first fragment of the large configuration MODU...
Definition interface.h:29
IPC4 pipeline creation, states, priorities, and management commands.
IPC4 module instantiation, binding, pin configuration, and parameter definitions.
User-space ABI log levels and binary trace packet header definitions.
Component module binding metadata and endpoint references.
Definition component.h:287
Container for found ext init object pointers This struct contains pointers that point to IPC payload ...
Definition base.h:40
Core scheduler properties and scheduled tasks.
Definition base_fw.h:685
internals of sink API.
Definition sink_api.h:141
internals of source API.
Definition source_api.h:137
Connects UUID with component description.
Definition uuid.h:77
Operations and callbacks associated with a scheduling task.
Definition task.h:72
Core task structure managed by SOF schedulers.
Definition task.h:81
Core task descriptor, task operations, and task execution state machine.
Definition dp_schedule.h:129
const struct module_ext_init_data * ext_data
Definition dp_schedule.h:135
struct scheduler_dp_thread_ipc_param::@157 get_config
const char * data
Definition dp_schedule.h:149
enum module_cfg_fragment_position position
Definition dp_schedule.h:146
size_t fragment_size
Definition dp_schedule.h:148
const struct bind_info * bind_data
Definition dp_schedule.h:130
unsigned int trigger_cmd
Definition dp_schedule.h:137
int n_sinks
Definition dp_schedule.h:141
uint32_t param_id
Definition dp_schedule.h:145
struct scheduler_dp_thread_ipc_param::@155 pipeline_state
struct scheduler_dp_thread_ipc_param::@156 set_config
struct sof_source ** sources
Definition dp_schedule.h:140
uint32_t data_offset_size
Definition dp_schedule.h:147
enum ipc4_pipeline_state state
Definition dp_schedule.h:138
int n_sources
Definition dp_schedule.h:139
char * data
Definition dp_schedule.h:155
struct sof_sink ** sinks
Definition dp_schedule.h:142