|
Sound Open Firmware
|
Large configuration parameter transfer envelope (SOF_IPC4_MOD_LARGE_CONFIG_GET / SET). More...
#include <src/include/ipc4/module.h>
Data Fields | ||
| union { | ||
| uint32_t dat | ||
| Raw 32-bit Primary register value. More... | ||
| struct { | ||
| uint32_t module_id: 16 | ||
| Target module class ID. More... | ||
| uint32_t instance_id: 8 | ||
| Target module instance ID. More... | ||
| uint32_t type: 5 | ||
| LARGE_CONFIG_GET (3) or LARGE_CONFIG_SET (4). More... | ||
| uint32_t rsp: 1 | ||
| 0 for request, 1 for reply. More... | ||
| uint32_t msg_tgt: 1 | ||
| 1 for module target. More... | ||
| uint32_t _reserved_0: 1 | ||
| Reserved bit. More... | ||
| } r | ||
| } | primary | |
| union { | ||
| uint32_t dat | ||
| Raw 32-bit Extension register value. More... | ||
| struct { | ||
| uint32_t data_off_size: 20 | ||
| Chunk byte size (single block) or cumulative byte offset (multi-block). More... | ||
| uint32_t large_param_id: 8 | ||
| Parameter type identifier (module-specific or VENDOR_CONFIG_PARAM). More... | ||
| uint32_t final_block: 1 | ||
| Set to 1 on the terminating chunk of a multi-block transfer. More... | ||
| uint32_t init_block: 1 | ||
| Set to 1 on the initial chunk of a multi-block transfer. More... | ||
| uint32_t _reserved_2: 2 | ||
| Reserved bits. More... | ||
| } r | ||
| } | extension | |
Large configuration parameter transfer envelope (SOF_IPC4_MOD_LARGE_CONFIG_GET / SET).
Implements the multi-block fragmentation handshake for exchanging configuration payloads exceeding the mailbox window size (e.g. FIR coefficients, EQ curves, model blobs).
| uint32_t ipc4_module_large_config::_reserved_0 |
Reserved bit.
| uint32_t ipc4_module_large_config::_reserved_2 |
Reserved bits.
| uint32_t ipc4_module_large_config::dat |
Raw 32-bit Primary register value.
Raw 32-bit Extension register value.
| uint32_t ipc4_module_large_config::data_off_size |
Chunk byte size (single block) or cumulative byte offset (multi-block).
| union { ... } ipc4_module_large_config::extension |
| uint32_t ipc4_module_large_config::final_block |
Set to 1 on the terminating chunk of a multi-block transfer.
| uint32_t ipc4_module_large_config::init_block |
Set to 1 on the initial chunk of a multi-block transfer.
| uint32_t ipc4_module_large_config::instance_id |
Target module instance ID.
| uint32_t ipc4_module_large_config::large_param_id |
Parameter type identifier (module-specific or VENDOR_CONFIG_PARAM).
| uint32_t ipc4_module_large_config::module_id |
Target module class ID.
| uint32_t ipc4_module_large_config::msg_tgt |
1 for module target.
| union { ... } ipc4_module_large_config::primary |
| struct { ... } ipc4_module_large_config::r |
| struct { ... } ipc4_module_large_config::r |
| uint32_t ipc4_module_large_config::rsp |
0 for request, 1 for reply.
| uint32_t ipc4_module_large_config::type |
LARGE_CONFIG_GET (3) or LARGE_CONFIG_SET (4).