STRUCT SOF_IPC4_CONTROL_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct sof_ipc4_control_data - IPC data for kcontrol IO ✨

Okay bestie, so this one's from the Kernel API Manual (that's the manual name, iykyk πŸ’…) and it's literally the struct that carries the IPC data for kcontrol IO. Very main character energy for the audio stack. 🌸


🌈 SYNOPSIS 🌈

struct sof_ipc4_control_data {
    struct sof_ipc4_msg msg;
    int index;
    union {
      struct sof_ipc4_ctrl_value_chan  chanv[];
      struct sof_abi_hdr  data[];
    };
 };

πŸŽ€ Members πŸŽ€

  • msg β€” the message structure for kcontrol IO. That's the whole point of this struct, tbh. πŸ’Œ
  • index β€” the pipeline ID. Not a list index, a pipeline index, don't get it twisted. 🫢
  • {unnamed_union} β€” the anonymous union. No name, all vibes. ✨
  • chanv β€” channel ID and value array, and it's used by volume type controls. Slay. πŸ”Š
  • data β€” the data for binary kcontrols. Binary kcontrols said "I'll have my own array, thanks." πŸ’€

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./sound/soc/sof/ipc4-topology.h is the home base, and it's giving a whole friend group of structs β€” all of these are .so-style manpage refs with the (9) section:

  • 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_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)
  • struct sof_ipc4_process(9)

Like, that's the whole IPC4 topology cinematic universe. Go read them all, bestie. πŸ¦‹

Also lowkey the header shows up truncated as struct sof_i...control_data(9) because the title got cut off β€” that's just how it renders, not a typo in your code. πŸ™ˆ

Okay that's the page! It's from ./sound/soc/sof and the date on it is October 2026, version is literally the struct sof_i...control_data(9) header line. Byeee, go forth and control your kcontrols. πŸ’– πŸŽ€ 🌈

πŸ“¦ where this page comes from