STRUCT SOF_IPC4_PROCESS(9)
π struct sof_ipc4_process β yes bestie, this is from the Kernel API Manual, and it's giving process config data β¨
okay so picture this: you're deep in the SOF IPC4 topology headers and you stumble on struct sof_ipc4_process, and you're like "what IS she?". She's the process config data struct, that's what. Main character energy, no cap π
πΈ SYNOPSIS πΈ
here's the whole glow-up, verbatim, don't touch a single character bestie:
struct sof_ipc4_process {
struct sof_ipc4_base_module_cfg base_config;
struct sof_ipc4_base_module_cfg_ext *base_config_ext;
struct sof_ipc4_audio_format output_format;
struct sof_ipc4_available_audio_format available_fmt;
void *ipc_config_data;
uint32_t ipc_config_size;
struct sof_ipc4_msg msg;
u32 base_config_ext_size;
u32 init_config;
};
like, she's a whole vibe. nine members. every single one matters. let's meet them π
β¨ Members β¨
base_configβ the IPC base config data, aka her foundation. the blueprint. the base coat before the glitter πbase_config_extβ base config extension data for module init. it's the extension, obviously, she goes further π¦output_formatβ the output audio format. what's coming out the other side, sound-wise π§available_fmtβ the available audio format(s). all the options she could serve you πipc_config_dataβ process module config data. the actual payload, the main event π₯ipc_config_sizeβ size of that process module config data. yes she knows exactly how big she is, queen behavior πmsgβ an IPC4 message struct containing header and data info. the envelope AND the letter π¬base_config_ext_sizeβ size of the base config extension data in bytes (bytes!! not vibes!!) π§init_configβ module init config type, and it's one of theSOF_IPC4_MODULE_INIT_CONFIG_TYPE_*values. pick your fighter β
π SEE ALSO π
go read the whole friend group, they're all in the kernel file ./sound/soc/sof/ipc4-topology.h β every one of them, not skipping a single bestie:
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_base_module_cfg_ext(9)
ngl bestie, if you're poking at this struct you're already in the deep end of the SOF IPC4 topology pool. respect. hydrate. read the header file π«Ά
k that's the whole page, mwah π β this lil slice of kernel API manual lives at ./sound/soc/sof, and the version/date stamp on it is October 2026. stan a struct that knows her own timestamp π
π¦ 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