|
Sound Open Firmware
|
Unsolicited DSP-to-host notifications, resource event reports, keyword detection events, watchdog alerts, and Mailbox Window 0 status registers. More...

Files | |
| file | fw_reg.h |
| IPC4 firmware registers in mailbox window 0 for host telemetry and status. | |
| file | notification.h |
| IPC4 asynchronous notifications, GLITCH reports, and FW ready events. | |
Data Structures | |
| struct | ipc4_fw_status_reg |
| Firmware Status Register (FSR) located at offset 0x0 in Mailbox Window 0. More... | |
| struct | ipc4_fw_pwr_status |
| Firmware power and clock status register (offset 0x8 in Mailbox Window 0). More... | |
| struct | ipc4_pipeline_registers |
| Pipeline DMA tracking registers in Mailbox Window 0. More... | |
| struct | ipc4_peak_volume_regs |
| Peak volume and meter registers for low-latency host inspection. More... | |
| struct | ipc4_llp_reading |
| Link Linear Position (LLP) and wallclock snapshot. More... | |
| struct | ipc4_llp_reading_extended |
| Extended Link Linear Position reading with total processed data bytes. More... | |
| struct | ipc4_llp_reading_slot |
| Mailbox Window 0 reading slot for a single gateway. More... | |
| union | ipc4_rom_info |
| ROM build, version, and load capability information. More... | |
| struct | ipc4_fw_registers |
| Mailbox Window 0 firmware register layout exposed to host driver. More... | |
| union | ipc4_notification_header |
| Standard 32-bit IPC4 notification primary header word. More... | |
| struct | ipc4_watchdog_timeout_notification |
| Watchdog timeout notification structure (SOF_IPC4_WATCHDOG_TIMEOUT). More... | |
| struct | ipc4_process_data_error_event_data |
| Data payload for process data error event (SOF_IPC4_PROCESS_DATA_ERROR). More... | |
| struct | ipc4_mixer_underrun_event_data |
| Data payload for mixer underrun event (SOF_IPC4_MIXER_UNDERRUN_DETECTED). More... | |
| union | ipc4_resource_event_data |
| Polymorphic payload for generic resource event notification. More... | |
| struct | ipc4_resource_event_data_notification |
| Full resource event notification structure sent in Mailbox Window 0. More... | |
Typedefs | |
| typedef uint32_t | ipc4_last_error |
| Last error code reported by ROM or Base FW. | |
Functions | |
| static void | ipc4_notification_watchdog_init (struct ipc4_watchdog_timeout_notification *notif, uint32_t core_id, bool first_timeout) |
| Helper to initialize watchdog timeout notification structure. | |
| void | send_process_data_error_notif_msg (uint32_t resource_id, uint32_t error_code) |
| Send process data error notification message to host. | |
| bool | send_copier_gateway_xrun_notif_msg (uint32_t pipeline_id, enum sof_ipc_stream_direction dir) |
| Send Copier gateway xrun (underrun/overrun) notification to host. | |
| bool | send_gateway_xrun_notif_msg (uint32_t resource_id, enum sof_ipc_stream_direction dir) |
| Send DMA gateway xrun notification to host. | |
| void | send_mixer_underrun_notif_msg (uint32_t resource_id, uint32_t eos_flag, uint32_t data_mixed, uint32_t expected_data_mixed) |
| Send mixer underrun notification message to host. | |
| void | ipc4_update_notification_mask (uint32_t ntfy_mask, uint32_t enabled_mask) |
| Update host notification enable/disable bitmasks. | |
| bool | send_resource_notif (uint32_t resource_id, uint32_t event_type, uint32_t resource_type, void *data, uint32_t data_size) |
| Send generic resource event notification. | |
Unsolicited DSP-to-host notifications, resource event reports, keyword detection events, watchdog alerts, and Mailbox Window 0 status registers.
| typedef uint32_t ipc4_last_error |
Last error code reported by ROM or Base FW.
Unsolicited DSP-to-host asynchronous notification types.
Specific resource event types reported by identifiable FW entities.
Originator resource category firing a resource event.
|
inlinestatic |
Helper to initialize watchdog timeout notification structure.
| notif | Pointer to watchdog timeout notification structure to initialize. |
| core_id | DSP core ID that timed out. |
| first_timeout | True if this is the first timeout event. |
| void ipc4_update_notification_mask | ( | uint32_t | ntfy_mask, |
| uint32_t | enabled_mask | ||
| ) |
Update host notification enable/disable bitmasks.
| ntfy_mask | Bitmask of notifications to update. |
| enabled_mask | Target state (1 = enable, 0 = disable) for selected bits. |
| bool send_copier_gateway_xrun_notif_msg | ( | uint32_t | pipeline_id, |
| enum sof_ipc_stream_direction | dir | ||
| ) |
Send Copier gateway xrun (underrun/overrun) notification to host.
| pipeline_id | Target pipeline identifier. |
| dir | Stream direction (playback underrun or capture overrun). |
| bool send_gateway_xrun_notif_msg | ( | uint32_t | resource_id, |
| enum sof_ipc_stream_direction | dir | ||
| ) |
Send DMA gateway xrun notification to host.
| resource_id | Gateway connector node ID. |
| dir | Stream direction. |
| void send_mixer_underrun_notif_msg | ( | uint32_t | resource_id, |
| uint32_t | eos_flag, | ||
| uint32_t | data_mixed, | ||
| uint32_t | expected_data_mixed | ||
| ) |
Send mixer underrun notification message to host.
| resource_id | Target mixer pipeline identifier. |
| eos_flag | End of stream flag. |
| data_mixed | Actual bytes mixed. |
| expected_data_mixed | Expected bytes mixed. |
| void send_process_data_error_notif_msg | ( | uint32_t | resource_id, |
| uint32_t | error_code | ||
| ) |
Send process data error notification message to host.
| resource_id | ID of module instance encountering error. |
| error_code | Module-specific error code. |
| bool send_resource_notif | ( | uint32_t | resource_id, |
| uint32_t | event_type, | ||
| uint32_t | resource_type, | ||
| void * | data, | ||
| uint32_t | data_size | ||
| ) |
Send generic resource event notification.
| resource_id | ID of originator resource. |
| event_type | Event type (enum sof_ipc4_resource_event_type). |
| resource_type | Resource category (enum sof_ipc4_resource_type). |
| data | Pointer to event payload. |
| data_size | Size of event payload in bytes. |