Sound Open Firmware
Loading...
Searching...
No Matches
ipc_user Struct Reference

#include <common.h>

Collaboration diagram for ipc_user:

Public Member Functions

uint8_t init_drv_data[160] __aligned (4)
 User-accessible copy of comp_driver + tr_ctx for create().

Data Fields

struct k_thread * thread
struct k_sem * sem
struct k_event * event
uint32_t ipc_msg_pri
 Copy of IPC4 message primary word forwarded to user thread.
uint32_t ipc_msg_ext
 Copy of IPC4 message extension word forwarded to user thread.
int result
 Result code from user thread processing.
uint32_t reply_ext
 Reply extension word from user thread (e.g.
uint32_t reply_tx_size
 Reply TX data size from user thread (e.g.
void * reply_tx_data
 Reply TX data pointer from user thread (e.g.
struct ipc * ipc
struct k_thread * audio_thread
const struct comp_driver * init_drv
 Original kernel driver pointer for restoring dev->drv after create.

Member Function Documentation

◆ __aligned()

uint8_t init_drv_data[160] ipc_user::__aligned ( 4 )

User-accessible copy of comp_driver + tr_ctx for create().

The comp_driver and tr_ctx structs reside in kernel memory (.rodata/.data) which is not user-readable. The kernel handler copies them here before forwarding to the user thread. Size verified by BUILD_ASSERT in handler-user.c.

Field Documentation

◆ audio_thread

struct k_thread* ipc_user::audio_thread

◆ event

struct k_event* ipc_user::event

◆ init_drv

const struct comp_driver* ipc_user::init_drv

Original kernel driver pointer for restoring dev->drv after create.

◆ ipc

struct ipc* ipc_user::ipc

◆ ipc_msg_ext

uint32_t ipc_user::ipc_msg_ext

Copy of IPC4 message extension word forwarded to user thread.

◆ ipc_msg_pri

uint32_t ipc_user::ipc_msg_pri

Copy of IPC4 message primary word forwarded to user thread.

◆ reply_ext

uint32_t ipc_user::reply_ext

Reply extension word from user thread (e.g.

CONFIG_GET result)

◆ reply_tx_data

void* ipc_user::reply_tx_data

Reply TX data pointer from user thread (e.g.

LARGE_CONFIG_GET result)

◆ reply_tx_size

uint32_t ipc_user::reply_tx_size

Reply TX data size from user thread (e.g.

LARGE_CONFIG_GET result)

◆ result

int ipc_user::result

Result code from user thread processing.

◆ sem

struct k_sem* ipc_user::sem

◆ thread

struct k_thread* ipc_user::thread

The documentation for this struct was generated from the following file:
  • /home/lrg/work/sof-dox-work/src/include/sof/ipc/common.h