STRUCT SOF_IPC4_BASE_MODULE_CFG_EXT(9)
πΈ STRUCT SOF_IPC4_BASE_MODULE_CFG_EXT(9) πΈ
okay bestie so this is the Kernel API Manual page for struct sof_ipc4_base_module_cfg_ext, and it's lowkey the β¨base module config extensionβ¨ β think of it as the little sidecar that carries all the pin format information for a module π
The one rule that's giving main character energy: both num_input_pin_fmts and num_output_pin_fmts cannot be 0 for a module. Like, at least one of them has to show up to the party, no cap π
β¨ SYNOPSIS β¨
struct sof_ipc4_base_module_cfg_ext {
u16 num_input_pin_fmts;
u16 num_output_pin_fmts;
u8 reserved[12];
struct sof_ipc4_pin_format pin_formats[];
};
π«Ά Members (the whole cast) π«Ά
num_input_pin_fmtsβ bestie this is literally the number of input pin formats hanging out in thepin_formatsarray πnum_output_pin_fmtsβ and this one's the number of output pin formats in that samepin_formatsarray β¨reservedβ reserved for future use π§ (it's saving a seat, just vibing, don't touch)pin_formatsβ the flexible array of the group chat π: it'snum_input_pin_fmtsinput pin format items first, followed bynum_output_pin_fmtsoutput pin format items. flexible array, flexible queen, periodt π
π SEE ALSO π
like, go read these next, iykyk π¦ β all from the Kernel file ./sound/soc/sof/ipc4-topology.h:
struct sof_ipc4_pipeline(9)struct ipc4_pipeline_set_state_data(9)struct sof_ipc4_pin_format(9)struct sof_ipc4_available_audio_format(9)struct sof_copier_gateway_cfg(9)struct sof_ipc4_copier_data(9)struct sof_ipc4_gtw_attributes(9)struct sof_ipc4_dma_device_stream_ch_map(9)struct sof_ipc4_dma_stream_ch_map(9)struct sof_ipc4_dma_config(9)struct sof_ipc4_dma_config_tlv(9)struct sof_ipc4_copier(9)struct sof_ipc4_ctrl_value_chan(9)struct sof_ipc4_control_data(9)struct sof_ipc4_control_msg_payload(9)struct sof_ipc4_gain_params(9)struct sof_ipc4_gain_data(9)struct sof_ipc4_gain(9)struct sof_ipc4_mixer(9)struct sof_ipc4_src(9)struct sof_ipc4_asrc(9)struct sof_ipc4_process(9)
fr fr the "both counts can't be 0" thing is the whole vibe check of this struct β keep it in mind or the module's getting zero pin formats and that's not the move π
and that's the tea π this page lives in ./sound/soc/sof, dated October 2026, and it's the struct sof_...dule_cfg_ext(9) page from the Kernel API Manual β slay, go read a struct, ily π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms