STRUCT IWL_FW_ERROR_DUMP_FIFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct iwl_fw_error_dump_fifo(9) β€” like, the Kernel API Manual obviously πŸŽ€

okay bestie, gather round, because today we're looking at struct iwl_fw_error_dump_fifo, and it's literally the blueprint for RX/TX FIFO data. yes, that FIFO. the dump-adjacent one. this is from the Kernel API Manual, and no cap, it's giving "small struct, big responsibilities". ✨


🌸 NAME 🌸

struct iwl_fw_error_dump_fifo β€” RX/TX FIFO data. that's it, that's the whole vibe. πŸ¦‹


✨ SYNOPSIS ✨

struct iwl_fw_error_dump_fifo {
    __le32 fifo_num;
    __le32 available_bytes;
    __le32 wr_ptr;
    __le32 rd_ptr;
    __le32 fence_ptr;
    __le32 fence_mode;
    u8 data[];
 };

look at her. six __le32s and one flexible u8 array, living her best life. iconic. πŸ‘‘


πŸ’– Members πŸ’–

so like, here's the whole cast, ok? every single one of them matters, don't skip:

  • fifo_num β€” which FIFO we're talking about, and bestie, the numbering starts from 0. zero-indexed, the way it should be. πŸ“
  • available_bytes β€” the number of bytes actually available in the FIFO. and listen, highkey important: this may be less than the FIFO size. do not assume it's the full thing, i'm begging. 😭
  • wr_ptr β€” the position of the write pointer. where the writing is happening. periodt. ✍️
  • rd_ptr β€” the position of the read pointer. where the reading is happening. πŸ’…
  • fence_ptr β€” the position of the fence pointer. yes, there's a fence. there's always a fence. 🚧
  • fence_mode β€” the current mode of the fence, and this is before locking, ok, so clock that: 0 = follow RD pointer ; 1 = freeze. two modes, no in-between, iykyk. 🧊
  • data β€” all of the FIFO's data. every last byte of it. the whole thing. the main character. 🌈

πŸ¦‹ SEE ALSO πŸ¦‹

okay this list is LONG but every single one is here, don't come for me:

  • Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/error-dump.h enum iwl_fw_error_dump_type(9)
  • struct iwl_fw_error_dump_data(9)
  • struct iwl_dump_file_name_info(9)
  • struct iwl_fw_error_dump_file(9)
  • struct iwl_fw_error_dump_txcmd(9)
  • struct iwl_fw_error_dump_info(9)
  • struct iwl_fw_error_dump_fw_mon(9)
  • struct iwl_fw_error_dump_smem_cfg(9)
  • struct iwl_fw_error_dump_prph(9)
  • struct iwl_fw_error_dump_mem(9)
  • struct iwl_fw_ini_error_dump_data(9)
  • struct iwl_fw_ini_dump_file_hdr(9)
  • struct iwl_fw_ini_fifo_hdr(9)
  • struct iwl_fw_ini_error_dump_range(9)
  • struct iwl_fw_ini_error_dump_header(9)
  • struct iwl_fw_ini_error_dump(9)
  • struct iwl_fw_ini_error_dump_register(9)
  • struct iwl_fw_ini_dump_cfg_name(9)
  • struct iwl_fw_ini_err_table_dump(9)
  • struct iwl_fw_error_dump_rb(9)
  • struct iwl_fw_ini_monitor_dump(9)
  • struct iwl_fw_ini_special_device_memory(9)
  • struct iwl_fw_error_dump_paging(9)
  • iwl_fw_error_next_data(9)
  • enum iwl_fw_dbg_trigger(9)
  • struct iwl_fw_error_dump_trigger_desc(9)

like… that's the whole squad. read them all, or at least the ones you need. 🫢


and that's the page, bestie!! source is ./drivers/net/wireless/intel/i..., dated October 2026, and yes it's still filed under struct iwl_...or_dump_fifo(9) because the title bar simply refuses to show the whole name. slay. πŸ’œπŸŒΈβœ¨

πŸ“¦ where this page comes from