25#ifndef __MODULE_IPC4_BASE_CONFIG_H__
26#define __MODULE_IPC4_BASE_CONFIG_H__
154} __attribute__((packed, aligned(4)));
166} __attribute__((packed, aligned(4)));
176} __attribute__((packed, aligned(4)));
186} __attribute__((packed, aligned(4)));
203} __attribute__((packed, aligned(4)));
209#define ipc4_calc_base_module_cfg_ext_size(in_pins, out_pins) \
210 (sizeof(struct ipc4_base_module_cfg_ext) + \
211 (in_pins) * sizeof(struct ipc4_input_pin_format) + \
212 (out_pins) * sizeof(struct ipc4_output_pin_format))
221} __attribute__((packed, aligned(4)));
247} __attribute__((packed, aligned(4)));
256} __attribute__((packed, aligned(4)));
280} __attribute__((packed, aligned(4)));
289} __attribute__((packed, aligned(4)));
302} __attribute__((packed, aligned(4)));
Extended module configuration header describing dynamic input and output pins.
Definition base-config.h:192
uint16_t nb_output_pins
Number of output pin format entries following in pin_formats[] (maximum 8).
Definition base-config.h:196
uint8_t reserved[12]
Reserved padding; must be set to 0.
Definition base-config.h:197
uint8_t pin_formats[]
Variable-length array of input pin formats followed immediately by output pin formats.
Definition base-config.h:202
uint16_t nb_input_pins
Number of input pin format entries following in pin_formats[] (maximum 8).
Definition base-config.h:194
Base module configuration parameters provided upon module instantiation.
Definition base-config.h:160
uint32_t is_pages
Number of physical 4KB memory pages allocated for module state.
Definition base-config.h:164
uint32_t ibs
Input Buffer Size (IBS) in bytes required per processing frame.
Definition base-config.h:162
uint32_t cpc
Maximum Cycles Per Chunk (CPC) compute budget required by module.
Definition base-config.h:161
uint32_t obs
Output Buffer Size (OBS) in bytes produced per processing frame.
Definition base-config.h:163
struct ipc4_audio_format audio_fmt
Primary audio stream format of the module.
Definition base-config.h:165
Combined base and extended module configuration payload for easy parsing.
Definition base-config.h:218
struct ipc4_base_module_cfg base_cfg
Standard single-pin base module config.
Definition base-config.h:219
struct ipc4_base_module_cfg_ext base_cfg_ext
Extended multi-pin format descriptors.
Definition base-config.h:220
Direct gateway attachment identifiers for a module instance.
Definition base-config.h:286
uint32_t output_gateway
Node ID of attached output gateway (e.g.
Definition base-config.h:288
uint32_t input_gateway
Node ID of attached input gateway (e.g.
Definition base-config.h:287
Detailed module instance runtime state, memory consumption, and queue alignment.
Definition base-config.h:264
uint32_t id
Unique module instance identifier.
Definition base-config.h:265
uint32_t dp_queue_type
Data processing queue type.
Definition base-config.h:266
uint32_t queue_alignment
Buffer memory alignment in bytes required by DSP.
Definition base-config.h:267
uint32_t cp_usage_mask
Coprocessor / hardware accelerator usage bitmask.
Definition base-config.h:268
struct ipc4_pin_list_info input_queues
Connected input queue descriptors.
Definition base-config.h:276
uint32_t stack_bytes
Stack memory allocated for module instance thread.
Definition base-config.h:269
uint32_t input_gateway
Input gateway node ID if attached directly to gateway.
Definition base-config.h:278
uint32_t bss_total_bytes
Total BSS data section size in bytes.
Definition base-config.h:270
uint32_t ibs_bytes
Input buffer size in bytes.
Definition base-config.h:272
uint32_t obs_bytes
Output buffer size in bytes.
Definition base-config.h:273
uint32_t bss_used_bytes
Currently utilized BSS memory in bytes.
Definition base-config.h:271
struct ipc4_pin_list_info output_queues
Connected output queue descriptors.
Definition base-config.h:277
uint32_t cpc
Nominal Cycles Per Chunk compute requirement.
Definition base-config.h:274
uint32_t cpc_peak
Peak measured Cycles Per Chunk compute requirement.
Definition base-config.h:275
uint32_t output_gateway
Output gateway node ID if attached directly to gateway.
Definition base-config.h:279
List of active pin properties for a module instance.
Definition base-config.h:253
struct ipc4_pin_props pin_info[1]
Array of pin properties.
Definition base-config.h:255
uint32_t pin_count
Number of active pin property descriptors.
Definition base-config.h:254
Runtime properties of a module pin connection.
Definition base-config.h:238
uint32_t stream_type
Stream type (one of enum ipc4_stream_type).
Definition base-config.h:240
struct ipc4_audio_format format
Active audio format of the stream (valid when stream_type == IPC4_STREAM_PCM).
Definition base-config.h:243
uint32_t phys_queue_id
Physical DMA queue ID connected to this pin (-1 if unassigned).
Definition base-config.h:246
16-bit small parameter register encoding for MOD_CONFIG_SET/GET.
Definition base-config.h:295
uint32_t id
14-bit parameter identifier.
Definition base-config.h:299
struct ipc4_cfg_param_id_data::@124 f
uint32_t data16
16-bit parameter data payload.
Definition base-config.h:298
uint32_t _rsvd
Reserved bits.
Definition base-config.h:300
uint32_t dw
Raw 32-bit register value.
Definition base-config.h:296