STRUCT IWL_TRANS_DEBUG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so picture this: it's the kernel API manual for struct iwl_trans_debug(9), and it's literally the glow-up era of transport debug data. every field is a little main character, and you're about to meet all of them πŸŽ€


✨ SYNOPSIS ✨

struct iwl_trans_debug {
    u8 n_dest_reg;
    bool rec_on;
    const struct iwl_fw_dbg_dest_tlv_v1 *dest_tlv;
    u32 lmac_error_event_table[2];
    u32 umac_error_event_table;
    u32 tcm_error_event_table[2];
    u32 rcm_error_event_table[2];
    unsigned int error_event_table_tlv_status;
    enum iwl_ini_cfg_state internal_ini_cfg;
    enum iwl_ini_cfg_state external_ini_cfg;
    struct iwl_fw_ini_allocation_tlv
fw_mon_cfg[IWL_FW_INI_ALLOCATION_NUM];
    struct iwl_fw_mon fw_mon_ini[IWL_FW_INI_ALLOCATION_NUM];
    struct iwl_dram_data fw_mon;
    bool hw_error;
    enum iwl_fw_ini_buffer_location ini_dest;
    u64 unsupported_region_msk;
    struct iwl_ucode_tlv *active_regions[IWL_FW_INI_MAX_REGION_ID];
    struct list_head debug_info_tlv_list;
    struct iwl_dbg_tlv_time_point_data
time_point[IWL_FW_INI_TIME_POINT_NUM];
    struct list_head periodic_trig_list;
    u32 domains_bitmap;
    u32 ucode_preset;
    bool restart_required;
    u32 last_tp_resetfw;
    struct iwl_imr_data imr_data;
    u32 num_pc;
    struct iwl_pc_data *pc_data;
    bool yoyo_bin_loaded;
 };

No cap, that's the whole vibe of the struct β€” every single member, exactly as it lives. 🫢


🌸 Members 🌸

time for the roll call, bestie. every field, every little description, nothing skipped:

  • n_dest_reg β€” literally the num of reg_ops in dbg_dest_tlv πŸ’…
  • rec_on β€” true iff there's a fw debug recording currently active. lowkey the "are we recording rn" flag πŸŽ€
  • dest_tlv β€” points to the destination TLV for debug ✨
  • lmac_error_event_table β€” addrs of lmacs error tables (plural, she has range) πŸ¦‹
  • umac_error_event_table β€” addr of umac error table 🌸
  • tcm_error_event_table β€” address(es) of TCM error table(s) 🫢
  • rcm_error_event_table β€” address(es) of RCM error table(s) πŸ’–
  • error_event_table_tlv_status β€” bitmap that indicates what error table pointers was recevied via TLV. uses enum iwl_error_event_table_status (yes, "recevied" β€” we keep the source's spelling, fr fr, that's canon) πŸ’€
  • internal_ini_cfg β€” internal debug cfg state. Uses enum iwl_ini_cfg_state ✨
  • external_ini_cfg β€” external debug cfg state. Uses enum iwl_ini_cfg_state 🌈
  • fw_mon_cfg β€” debug buffer allocation configuration πŸ‘‘
  • fw_mon_ini β€” DRAM buffer fragments per allocation id 🧚
  • fw_mon β€” DRAM buffer for firmware monitor πŸ“
  • hw_error β€” equals true if hw error interrupt was received from the FW 😭
  • ini_dest β€” debug monitor destination, uses enum iwl_fw_ini_buffer_location πŸ’œ
  • unsupported_region_msk β€” unsupported regions out of active_regions πŸ™ˆ
  • active_regions β€” active regions ⭐
  • debug_info_tlv_list β€” list of debug info TLVs πŸ”₯
  • time_point β€” array of debug time points πŸ¦‹
  • periodic_trig_list β€” periodic triggers list πŸŽ€
  • domains_bitmap β€” bitmap of active domains other than IWL_FW_INI_DOMAIN_ALWAYS_ON πŸ’…
  • ucode_preset β€” preset based on ucode ✨
  • restart_required β€” indicates debug restart is required 🌸
  • last_tp_resetfw β€” last handling of reset during debug timepoint πŸ’–
  • imr_data β€” IMR debug data allocation 🫢
  • num_pc β€” number of program counter for cpu 🌈
  • pc_data β€” details of the program counter πŸ‘‘
  • yoyo_bin_loaded β€” tells if a yoyo debug file has been loaded 🧚

πŸ¦‹ SEE ALSO πŸ¦‹

bestie the cross-references are stacked, we're talking full friend group:

  • Kernel file ./drivers/net/wireless/intel/iwlwifi/iwl-trans.h β€” Transport layer - what is it ?(9)
  • Life cycle of the transport layer(9)
  • enum CMD_MODE(9)
  • struct iwl_device_cmd(9)
  • struct iwl_device_tx_cmd(9)
  • enum iwl_hcmd_dataflag(9)
  • struct iwl_host_cmd(9)
  • enum iwl_trans_status(9)
  • struct iwl_dump_sanitize_ops(9)
  • struct iwl_trans_config(9)
  • struct iwl_trans_rxq_dma_data(9)
  • struct iwl_pnvm_image(9)
  • enum iwl_trans_state(9)
  • Platform power management(9)
  • enum iwl_ini_cfg_state(9)
  • struct iwl_dram_data(9)
  • struct iwl_dram_regions(9)
  • struct iwl_fw_mon(9)
  • struct iwl_self_init_dram(9)
  • struct iwl_imr_data(9)
  • struct iwl_pc_data(9)
  • struct iwl_trans_info(9)
  • struct iwl_trans(9)
  • iwl_trans_resched_with_nic_access(9)

like, go read them, iykyk πŸ’œ


okay that's the whole page, periodt. this lil masterpiece lives at ./drivers/net/wireless/intel/i... (the path said "i..." and honestly same, bestie, we love an abbreviated queen) dated October 2026, and it's filed under struct iwl_trans_debug(9). mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from