STRUCT SOF_IPC4_CONTROL_MSG_PAYLOAD(9)
π struct sof_ipc4_control_msg_payload β the Kernel API Manual, bestie edition π
Okay so this is a page from the Kernel API Manual (the struct sof_..._msg_payload(9) one, yes the title got truncated, it's fine, we move) and it's literally all about the kcontrol parameters IPC payload. Buckle up, it's short and iconic. π
β¨ NAME β¨
struct sof_ipc4_control_msg_payload β the IPC payload for kcontrol parameters. That's it, that's the whole vibe.
π¦ SYNOPSIS π¦
struct sof_ipc4_control_msg_payload {
uint16_t id;
uint16_t num_elems;
uint32_t reserved[4];
union {
struct sof_ipc4_ctrl_value_chan chanv[];
uint8_t data[];
};
};
Look at her. Struct with a little anonymous union moment. Main character energy fr fr. π
πΈ Members πΈ
idβ the unique id of the control. Every control gets her own little name tag, no cap. π·οΈnum_elemsβ and here's the multitasker: this is the number of elements in thechanvarray or the number of bytes indata. Depends which one you're living in that day. π«reservedβ reserved for future use, and it must be set to 0. Not optional, not negotiable, not a "we'll fix it later" kinda thing. Zero it out. π{unnamed_union}β anonymous. She has no name. She has no need for one. She simply is. πchanvβ the channel ID and value array. It's giving "which channel, what value". Two things, one array. Slay. β¨dataβ the binary payload. Raw bytes, no thoughts, just data. π
Real talk bestie:chanvanddatashare the same space (anonymous union, remember?), so it's one or the other. Alsoreservedmust be0. I said it once, I'll say it again. π«Ά
π₯ SEE ALSO π₯
The whole friend group, in the order the page gave it β and yes, we're listing all of them, because everyone deserves their moment at the function. π The file in question is 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)β the literal bestie ofchanv, go say hi π«Άstruct sof_ipc4_control_data(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)struct sof_ipc4_process(9)
And that's the page, diva. π Little sign-off for the record books: this one lives in ./sound/soc/sof and it's dated October 2026, header and footer energy of struct sof_..._msg_payload(9). Go read the whole topology header, I'm obsessed, bye! πβπ
π¦ 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