STRUCT SOF_IPC4_BASE_MODULE_CFG_EXT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 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 the pin_formats array 🌈
  • num_output_pin_fmts β€” and this one's the number of output pin formats in that same pin_formats array ✨
  • 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's num_input_pin_fmts input pin format items first, followed by num_output_pin_fmts output 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