9#ifndef __SOF_IPC_MSG_H__
10#define __SOF_IPC_MSG_H__
22#include <sof/trace/trace.h>
62 uint32_t
header, uint32_t size)
75#if defined(__ZEPHYR__) && defined(CONFIG_SOF_FULL_ZEPHYR_APPLICATION)
77#include <zephyr/syscalls/msg.h>
79void z_impl_ipc_msg_list_remove(
struct ipc_msg *msg);
80#define ipc_msg_list_remove z_impl_ipc_msg_list_remove
108#if defined(__ZEPHYR__) && defined(CONFIG_SOF_FULL_ZEPHYR_APPLICATION)
111#include <zephyr/syscalls/msg.h>
113void z_impl_ipc_msg_send(
struct ipc_msg *msg,
void *
data,
115#define ipc_msg_send z_impl_ipc_msg_send
Memory allocation API, zones, heaps, and alignment utilities.
Component interconnect buffer allocation and stream handling.
Component API definition.
void rfree(void *ptr)
Free memory block allocated by SOF RTOS allocators.
Memory attributes, cold/hot execution paths, and platform memory inclusions.
bool ipc_trigger_trace_xfer(uint32_t avail)
Check if trace buffer is ready for transmission.
void ipc_msg_send(struct ipc_msg *msg, void *data, bool high_priority)
Queues an IPC message for transmission.
void ipc_msg_list_remove(struct ipc_msg *msg)
Remove an IPC message from the send queue.
void ipc_build_comp_event(struct sof_ipc_comp_event *event, uint32_t type, uint32_t id)
Build component event IPC message.
void ipc_build_trace_posn(struct sof_ipc_dma_trace_posn *posn)
Build trace position IPC message.
void ipc_send_queued_msg(void)
Sends the next message in the IPC message queue.
struct ipc_msg * ipc_msg_w_ext_init(struct k_heap *heap, uint32_t header, uint32_t extension, uint32_t size)
Initialize a new IPC message using a specific heap.
void ipc_build_stream_posn(struct sof_ipc_stream_posn *posn, uint32_t type, uint32_t id)
Build stream position IPC message.
static void ipc_msg_free(struct ipc_msg *msg)
Frees IPC message header and data.
Definition msg.h:87
static struct ipc_msg * ipc_msg_init(struct k_heap *heap, uint32_t header, uint32_t size)
Initialize a new IPC message using a specific heap.
Definition msg.h:61
void ipc_msg_send_direct(struct ipc_msg *msg, void *data)
Send an IPC message directly for emergency.
Audio pipeline management, graph scheduling, and execution control.
Sound Open Firmware global runtime context.
RTOS spinlock primitives and initialization.
Host-DSP IPC trace DMA configuration, filtering, and panic descriptors.
SG elem array.
Definition dma.h:155
uint32_t tx_size
Definition msg.h:37
uint32_t extension
Definition msg.h:36
struct list_item list
Definition msg.h:39
uint32_t header
Definition msg.h:35
void * tx_data
Definition msg.h:38
void(* callback)(struct ipc_msg *msg)
Definition msg.h:40
Generic notification data.
Definition control.h:168
DMA trace circular buffer position report sent to host (SOF_IPC_TRACE_DMA_POSITION).
Definition trace.h:52
Core task descriptor, task operations, and task execution state machine.