|
Sound Open Firmware
|


Go to the source code of this file.
Data Structures | |
| struct | ipc_user |
| struct | ipc |
| struct | ipc_data_host_buffer |
| Data provided by the platform which use ipc...page_descriptors(). More... | |
Macros | |
| #define | IPC_IS_SIZE_INVALID(object) |
| #define | IPC_TAIL_IS_SIZE_INVALID(object) |
| #define | IPC_SIZE_ERROR_TRACE(ctx, object) |
| #define | ipc_get_ppl_src_comp(ipc, ppl_id) |
| #define | ipc_get_ppl_sink_comp(ipc, ppl_id) |
| #define | IPC_TASK_INLINE BIT(0) |
| #define | IPC_TASK_IN_THREAD BIT(1) |
| #define | IPC_TASK_SECONDARY_CORE BIT(2) |
| #define | IPC_TASK_POWERDOWN BIT(3) |
| #define | ipc_set_drvdata(ipc, data) |
| #define | ipc_get_drvdata(ipc) |
Functions | |
| static struct ipc * | ipc_get (void) |
| Get the IPC global context. | |
| int | ipc_init (struct sof *sof) |
| Initialise global IPC context. | |
| void | ipc_free (struct ipc *ipc) |
| Free global IPC context. | |
| int | ipc_process_host_buffer (struct ipc *ipc, struct sof_ipc_host_buffer *ring, uint32_t direction, struct dma_sg_elem_array *elem_array, uint32_t *ring_size) |
| Processes page tables for the host buffer. | |
| int | ipc_dma_trace_send_position (void) |
| Send DMA trace host buffer position to host. | |
| void | ipc_send_buffer_status_notify (void) |
| send a IPC buffer status notify message | |
| int | ipc_dai_data_config (struct dai_data *dd, struct comp_dev *dev) |
| Configure DAI. | |
| int | ipc4_user_process_module_message (struct ipc4_message_request *ipc4, struct ipc_msg *reply) |
| Processes IPC4 userspace module message. | |
| int | ipc4_user_process_glb_message (struct ipc4_message_request *ipc4, struct ipc_msg *reply) |
| Processes IPC4 userspace global message. | |
| void | ipc_compound_msg_done (uint32_t msg_id, int error) |
| Complete the IPC compound message. | |
| void | ipc_boot_complete_msg (struct ipc_cmd_hdr *header, uint32_t data) |
| create a IPC boot complete message. | |
| void | ipc_send_panic_notification (void) |
| Send a IPC notification that FW has hit a DSP notification. | |
| struct ipc_cmd_hdr * | ipc_compact_read_msg (void) |
| Read a compact IPC message or return NULL for normal message. | |
| int | ipc_compact_write_msg (struct ipc_cmd_hdr *hdr) |
| Write a compact IPC message. | |
| struct ipc_cmd_hdr * | ipc_prepare_to_send (const struct ipc_msg *msg) |
| Prepare an IPC message for sending. | |
| struct ipc_cmd_hdr * | mailbox_validate (void) |
| Validate mailbox contents for valid IPC header. | |
| void | ipc_cmd (struct ipc_cmd_hdr *_hdr) |
| Generic IPC command handler. | |
| int | ipc_process_on_core (uint32_t core, bool blocking) |
| IPC message to be processed on other core. | |
| void | ipc_complete_cmd (struct ipc *ipc) |
| Call platform-specific IPC completion function. | |
Variables | |
| struct tr_ctx | ipc_tr |
| struct task_ops | ipc_task_ops |
| bool | ipc_enter_gdb |
| #define ipc_get_ppl_sink_comp | ( | ipc, | |
| ppl_id ) |
| #define ipc_get_ppl_src_comp | ( | ipc, | |
| ppl_id ) |
| #define IPC_IS_SIZE_INVALID | ( | object | ) |
| #define IPC_SIZE_ERROR_TRACE | ( | ctx, | |
| object ) |
| #define IPC_TAIL_IS_SIZE_INVALID | ( | object | ) |
| #define IPC_TASK_IN_THREAD BIT(1) |
| #define IPC_TASK_INLINE BIT(0) |
| #define IPC_TASK_POWERDOWN BIT(3) |
| #define IPC_TASK_SECONDARY_CORE BIT(2) |
| int ipc4_user_process_glb_message | ( | struct ipc4_message_request * | ipc4, |
| struct ipc_msg * | reply ) |
Processes IPC4 userspace global message.
| [in] | ipc4 | IPC4 message request. |
| [in] | reply | IPC message reply structure. |
| int ipc4_user_process_module_message | ( | struct ipc4_message_request * | ipc4, |
| struct ipc_msg * | reply ) |
Processes IPC4 userspace module message.
| [in] | ipc4 | IPC4 message request. |
| [in] | reply | IPC message reply structure. |
| void ipc_boot_complete_msg | ( | struct ipc_cmd_hdr * | header, |
| uint32_t | data ) |
create a IPC boot complete message.
| [in] | header | header. |
| [in] | data | data. |
| void ipc_cmd | ( | struct ipc_cmd_hdr * | _hdr | ) |
Generic IPC command handler.
Expects that IPC command (the header plus any optional payload) is deserialized from the IPC HW by the platform specific method.
| _hdr | Points to the IPC command header. |
| struct ipc_cmd_hdr * ipc_compact_read_msg | ( | void | ) |
Read a compact IPC message or return NULL for normal message.
| int ipc_compact_write_msg | ( | struct ipc_cmd_hdr * | hdr | ) |
Write a compact IPC message.
| [in] | hdr | Compact message header data. |
| void ipc_complete_cmd | ( | struct ipc * | ipc | ) |
Call platform-specific IPC completion function.
| void ipc_compound_msg_done | ( | uint32_t | msg_id, |
| int | error ) |
Complete the IPC compound message.
| [in] | msg_id | IPC message ID. |
| [in] | error | Error code of the IPC command. |
Configure DAI.
| int ipc_dma_trace_send_position | ( | void | ) |
Send DMA trace host buffer position to host.
| void ipc_free | ( | struct ipc * | ipc | ) |
Free global IPC context.
| [in] | ipc | Global IPC context. |
|
inlinestatic |
Get the IPC global context.
| int ipc_init | ( | struct sof * | sof | ) |
Initialise global IPC context.
| [in,out] | sof | Global SOF context. |
| struct ipc_cmd_hdr * ipc_prepare_to_send | ( | const struct ipc_msg * | msg | ) |
Prepare an IPC message for sending.
| [in] | msg | The ipc msg. |
| int ipc_process_host_buffer | ( | struct ipc * | ipc, |
| struct sof_ipc_host_buffer * | ring, | ||
| uint32_t | direction, | ||
| struct dma_sg_elem_array * | elem_array, | ||
| uint32_t * | ring_size ) |
Processes page tables for the host buffer.
| [in] | ipc | Ipc |
| [in] | ring | Ring description sent via Ipc |
| [in] | direction | Direction (playback/capture) |
| [out] | elem_array | Array of SG elements |
| [out] | ring_size | Size of the ring |
| int ipc_process_on_core | ( | uint32_t | core, |
| bool | blocking ) |
IPC message to be processed on other core.
| [in] | core | Core id for IPC to be processed on. |
| [in] | blocking | Process in blocking mode: wait for completion. |
| void ipc_send_buffer_status_notify | ( | void | ) |
send a IPC buffer status notify message
| void ipc_send_panic_notification | ( | void | ) |
Send a IPC notification that FW has hit a DSP notification.
| struct ipc_cmd_hdr * mailbox_validate | ( | void | ) |
Validate mailbox contents for valid IPC header.
|
extern |
|
extern |
|
extern |