STRUCT SOF_IPC4_FW_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct sof_ipc4_fw_data(9) 🌸

Okay bestie, welcome to the Kernel API Manual page for struct sof_ipc4_fw_data β€” literally the struct for IPC4-specific data. 🫢 This is the whole vibe: one struct, a bunch of fields, and every single one is listed below. No skipping, no cap.


✨ NAME ✨

struct sof_ipc4_fw_data β€” IPC4-specific data πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct sof_ipc4_fw_data {
    u32 manifest_fw_hdr_offset;
    struct xarray fw_lib_xa;
    void *nhlt;
    enum sof_ipc4_mtrace_type mtrace_type;
    u32 mtrace_log_bytes;
    int num_playback_streams;
    int num_capture_streams;
    int max_num_pipelines;
    u32 max_libs_count;
    bool fw_context_save;
    bool libraries_restored;
    int (*load_library)(struct snd_sof_dev *sdev, struct sof_ipc4_fw_library *fw_lib, bool reload);
    void (*intel_configure_mic_privacy)(struct snd_sof_dev *sdev, struct sof_ipc4_intel_mic_privacy_cap *caps);
    struct mutex pipeline_state_mutex;
};

🧚 Members 🧚

  • manifest_fw_hdr_offset β€” the FW header offset in the manifest. ✨
  • fw_lib_xa β€” XArray for firmware libraries, including basefw (ID = 0). It’s used to store the FW libraries and to manage the unique IDs of the libraries. πŸ—‚οΈ
  • nhlt β€” the NHLT table, either from the BIOS or the topology manifest. 🌿
  • mtrace_type β€” the mtrace type supported on the booted platform. πŸ‘‘
  • mtrace_log_bytes β€” log bytes as reported by the firmware via fw_config reply. πŸ“
  • num_playback_streams β€” max number of playback DMAs, needed for CHAIN_DMA offset. πŸ”₯
  • num_capture_streams β€” max number of capture DMAs. πŸŽ€
  • max_num_pipelines β€” max number of pipelines. 🧡
  • max_libs_count β€” Maximum number of libraries support by the FW including the base firmware. πŸ’–
  • fw_context_save β€” Firmware supports full context save and restore. πŸ’Ύ
  • libraries_restored β€” The libraries have been retained during firmware boot. 🌈
  • load_library β€” Callback function for platform dependent library loading. 🫢
  • intel_configure_mic_privacy β€” this field is in the struct synopsis, but the original Members list gives no description for it, so I’m not inventing lore. πŸ™ˆ
  • pipeline_state_mutex β€” Mutex to protect pipeline triggers, ref counts, states and deletion. πŸ”’

πŸ‘€ SEE ALSO πŸ‘€

Kernel file ./sound/soc/sof/ipc4-priv.h plus struct sof_ipc4_fw_module(9) and struct sof_ipc4_fw_library(9). Go read those next, bestie β€” iykyk. πŸ¦‹


Bye bestie! This iconic page comes from source/version ./sound/soc/sof, dated October 2026 β€” Kernel API Manual energy, signing off. πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from