9#ifndef __SOF_IPC_MSG_H__
10#define __SOF_IPC_MSG_H__
22#include <sof/trace/trace.h>
103 k_spin_unlock(&
ipc->
lock, key);
Component API definition.
uint32_t data[]
Definition debug_stream_slot.h:2
void * rzalloc(uint32_t flags, size_t bytes)
Similar to rmalloc(), guarantees that returned block is zeroed.
#define SOF_MEM_FLAG_USER
Allocate user memory address.
Definition alloc.h:45
void rfree(void *ptr)
Frees the memory block.
#define SOF_MEM_FLAG_COHERENT
Allocate uncached address.
Definition alloc.h:37
int dai_config(struct dai_data *dd, struct comp_dev *dev, struct ipc_config_dai *common_cfg, const void *spec_cfg)
Configure DAI physical interface.
static struct ipc * ipc_get(void)
Get the IPC global context.
Definition common.h:147
static void list_init(struct list_item *list)
Definition list.h:25
static void list_item_del(struct list_item *item)
Definition list.h:58
#define list_item(item, type, member)
Definition list.h:80
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_build_comp_event(struct sof_ipc_comp_event *event, uint32_t type, uint32_t id)
Build component event IPC message.
static struct ipc_msg * ipc_msg_w_ext_init(uint32_t header, uint32_t extension, uint32_t size)
Initialize a new IPC message.
Definition msg.h:49
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.
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:89
static struct ipc_msg * ipc_msg_init(uint32_t header, uint32_t size)
Initialise a new IPC message.
Definition msg.h:80
void ipc_msg_send_direct(struct ipc_msg *msg, void *data)
Send an IPC message directly for emergency.
SG elem array.
Definition dma.h:155
uint32_t tx_size
Definition msg.h:36
uint32_t extension
Definition msg.h:35
struct list_item list
Definition msg.h:38
uint32_t header
Definition msg.h:34
void * tx_data
Definition msg.h:37
void(* callback)(struct ipc_msg *msg)
Definition msg.h:39
struct k_spinlock lock
Definition common.h:91
Generic notification data.
Definition control.h:168
uint32_t type
Definition tlv.h:0