STRUCT SOF_IPC4_PIPELINE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct sof_ipc4_pipeline(9) πŸ¦‹

okay so this little icon is straight out of the Kernel API Manual and it's lowkey the blueprint for a whole audio pipeline. bestie, this is struct sof_ipc4_pipeline and it's literally the config data for a pipeline. no cap, it's giving main character energy in ipc4-topology.h. πŸ’…


✨ NAME ✨

struct sof_ipc4_pipeline β€” pipeline config data. that's the whole vibe. short, sweet, slays. πŸŽ€


🌸 SYNOPSIS 🌸

struct sof_ipc4_pipeline {
    uint32_t priority;
    uint32_t lp_mode;
    uint32_t mem_usage;
    uint32_t core_id;
    int state;
    bool use_chain_dma;
    struct sof_ipc4_msg msg;
    bool skip_during_fe_trigger;
    bool direction_valid;
    u32 direction;
};

look at her. ten fields. not one of them wasted. πŸ”₯


πŸ’– Members πŸ’–

time for the vibe check on every single field, bestie β€” don't skip a single one, they all matter:

  • priority β€” priority of this pipeline πŸ‘‘ (yes, she has a rank, respect it)
  • lp_mode β€” low power mode 😴 (naps are self-care)
  • mem_usage β€” memory usage πŸ“
  • core_id β€” target core for the pipeline 🧚 (which core is catching this work)
  • state β€” pipeline state 🌈 (her current mood, essentially)
  • use_chain_dma β€” flag to indicate if the firmware shall use chained DMA πŸ’€ (firmware's call, not mine)
  • msg β€” message structure for pipeline βœ‰οΈ (type struct sof_ipc4_msg, very official)
  • skip_during_fe_trigger β€” skip triggering this pipeline during the FE DAI trigger πŸ™ˆ (she's sitting this one out, and that's valid)
  • direction_valid β€” flag indicating if valid direction is set in topology ⭐ (basic gatekeeping: is the direction real or not)
  • direction β€” pipeline direction set in topology if direction_valid is true πŸ¦‹ (only trusted when the flag above says so, iykyk)

πŸ”₯ SEE ALSO πŸ”₯

the whole friend group, in the kernel file ./sound/soc/sof/ipc4-topology.h 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)
  • struct sof_ipc4_process(9)

ngl, if you're touching SOF IPC4 pipelines you're gonna be living in these pages. go read them, bestie, they ate. πŸ’œ

and that's the whole page, periodt. it ships from ./sound/soc/sof and it's dated October 2026 β€” shoutout to the source, mwah. πŸ«ΆπŸ’…βœ¨

πŸ“¦ where this page comes from