Core system ticks, CPU cycle utilization, component performance tracking, and SRAM Window 0/3 telemetry status registers.
More...
|
| file | mailbox.h |
| | SRAM Window 0 firmware status registers and telemetry offset definitions.
|
| |
| file | performance_monitor.h |
| | Component performance measurement, cycle accounting, and Memory Window 3 slots.
|
| |
| file | telemetry.h |
| | Hardware telemetry metrics, CPU cycle accounting, and Memory Window telemetry slots.
|
| |
|
| #define | SRAM_REG_FW_STATUS offsetof(struct ipc4_fw_registers, fsr) |
| | Offset to Firmware Status Register (FSR)
|
| |
| #define | SRAM_REG_LAST_ERROR_CODE offsetof(struct ipc4_fw_registers, lec) |
| | Offset to Last Error Code (LEC)
|
| |
| #define | SRAM_REG_FW_PWR_STATUS offsetof(struct ipc4_fw_registers, fps) |
| | Offset to Firmware Power Status (FPS)
|
| |
| #define | SRAM_REG_LNEC offsetof(struct ipc4_fw_registers, lnec) |
| | Offset to Last Native Error Code (LNEC)
|
| |
| #define | SRAM_REG_LTR offsetof(struct ipc4_fw_registers, ltr) |
| | Offset to Latency Tolerance Reporting (LTR)
|
| |
| #define | SRAM_REG_ROM_INFO offsetof(struct ipc4_fw_registers, rom_info) |
| | Offset to ROM bootstrap information.
|
| |
| #define | SRAM_REG_ABI_VER offsetof(struct ipc4_fw_registers, abi_ver) |
| | Offset to ABI version field.
|
| |
| #define | SRAM_REG_SLAVE_CORE_STS offsetof(struct ipc4_fw_registers, slave_core_sts) |
| | Offset to Secondary core power/run status.
|
| |
| #define | SRAM_REG_PIPELINE_REGS offsetof(struct ipc4_fw_registers, pipeline_regs) |
| | Offset to pipeline state register array.
|
| |
| #define | SRAM_REG_PEAK_VOL_REGS offsetof(struct ipc4_fw_registers, peak_vol_regs) |
| | Offset to peak volume meter register array.
|
| |
| #define | SRAM_REG_LLP_GPDMA_READING_SLOTS offsetof(struct ipc4_fw_registers, llp_gpdma_reading_slots) |
| | Offset to GPDMA linear link position reading slots.
|
| |
| #define | SRAM_REG_LLP_SNDW_READING_SLOTS offsetof(struct ipc4_fw_registers, llp_sndw_reading_slots) |
| | Offset to SoundWire link position reading slots.
|
| |
| #define | SRAM_REG_LLP_EVAD_SLOTS offsetof(struct ipc4_fw_registers, llp_evad_reading_slot) |
| | Offset to EVAD position reading slot.
|
| |
| #define | SRAM_REG_FW_END sizeof(struct ipc4_fw_registers) |
| | Total size boundary of Window 0 firmware register block.
|
| |
Core system ticks, CPU cycle utilization, component performance tracking, and SRAM Window 0/3 telemetry status registers.
Common SRAM Window 0 firmware status and telemetry register offsets.
◆ SRAM_REG_ABI_VER
Offset to ABI version field.
◆ SRAM_REG_FW_END
Total size boundary of Window 0 firmware register block.
◆ SRAM_REG_FW_PWR_STATUS
Offset to Firmware Power Status (FPS)
◆ SRAM_REG_FW_STATUS
Offset to Firmware Status Register (FSR)
◆ SRAM_REG_LAST_ERROR_CODE
Offset to Last Error Code (LEC)
◆ SRAM_REG_LLP_EVAD_SLOTS
| #define SRAM_REG_LLP_EVAD_SLOTS offsetof(struct ipc4_fw_registers, llp_evad_reading_slot) |
Offset to EVAD position reading slot.
◆ SRAM_REG_LLP_GPDMA_READING_SLOTS
| #define SRAM_REG_LLP_GPDMA_READING_SLOTS offsetof(struct ipc4_fw_registers, llp_gpdma_reading_slots) |
Offset to GPDMA linear link position reading slots.
◆ SRAM_REG_LLP_SNDW_READING_SLOTS
| #define SRAM_REG_LLP_SNDW_READING_SLOTS offsetof(struct ipc4_fw_registers, llp_sndw_reading_slots) |
Offset to SoundWire link position reading slots.
◆ SRAM_REG_LNEC
Offset to Last Native Error Code (LNEC)
◆ SRAM_REG_LTR
Offset to Latency Tolerance Reporting (LTR)
◆ SRAM_REG_PEAK_VOL_REGS
Offset to peak volume meter register array.
◆ SRAM_REG_PIPELINE_REGS
Offset to pipeline state register array.
◆ SRAM_REG_ROM_INFO
Offset to ROM bootstrap information.
◆ SRAM_REG_SLAVE_CORE_STS
Offset to Secondary core power/run status.
◆ disable_performance_counters()
| void disable_performance_counters |
( |
void |
| ) |
|
Disable performance counters and unregister records marked for removal.
◆ enable_performance_counters()
| int enable_performance_counters |
( |
void |
| ) |
|
Reinitialize and activate performance counters for all created components.
- Returns
- 0 on success, or negative error code on failure.
◆ free_performance_data()
Release an allocated performance data slot in Memory Window 3.
- Parameters
-
| [in,out] | item | Pointer to performance data item to release. |
- Returns
- 0 on success, or negative error code if slot was already free.
◆ get_extended_performance_data()
Retrieve extended global performance telemetry data with per-core breakdown.
- Parameters
-
| [out] | ext_global_perf_data | Destination structure to populate. |
- Returns
- 0 on success, or negative error code on failure.
◆ get_performance_data()
Retrieve global aggregated performance telemetry data.
- Parameters
-
- Returns
- 0 on success, or negative error code on failure.
◆ perf_data_getnext()
Allocate next free performance data slot from Memory Window 3.
- Returns
- Pointer to allocated performance data record, or NULL if window is full.
◆ perf_data_item_comp_init()
| void perf_data_item_comp_init |
( |
struct perf_data_item_comp * |
perf, |
|
|
uint32_t |
resource_id, |
|
|
uint32_t |
power_mode |
|
) |
| |
Initializer for component performance data record.
- Parameters
-
| [out] | perf | Structure to be initialized. |
| [in] | resource_id | Unique resource/component identifier. |
| [in] | power_mode | Active power mode. |
◆ perf_meas_get_state()
Query current global performance measurement state.
- Returns
- Current measurement state enumeration value.
◆ perf_meas_set_state()
Set global performance measurement state machine.
- Parameters
-
| [in] | state | Target measurement state (disabled, paused, enabled). |
◆ reset_performance_counters()
| int reset_performance_counters |
( |
void |
| ) |
|
Reset all performance measurement counters across all components.
- Returns
- 0 on success, or negative error code on failure.
◆ telemetry_get_systick_info_ptr()
Retrieve pointer to system tick telemetry structure for current core.
- Returns
- Pointer to struct system_tick_info in shared memory.
◆ telemetry_update()
| void telemetry_update |
( |
uint32_t |
begin_ccount, |
|
|
uint32_t |
current_ccount |
|
) |
| |
Update periodic telemetry metrics with elapsed core clock cycles.
- Parameters
-
| begin_ccount | Cycle count snapshot at start of measurement interval. |
| current_ccount | Cycle count snapshot at end of measurement interval. |