STRUCT IWL_RF_CFG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct iwl_rf_cfg(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual page for struct iwl_rf_cfg β€” this is the RF/CRF configuration data struct. no cap, it is giving β€œhardware config central” and we are here for it. πŸ’…βœ¨


🌸 NAME 🌸

struct iwl_rf_cfg β€” RF/CRF configuration data

✨ SYNOPSIS ✨

here is the exact shape, copied character for character, no edits:

       struct iwl_rf_cfg {
           const char *fw_name_pre;
           const struct iwl_ht_params ht_params;
           const struct iwl_eeprom_params *eeprom_params;
           const struct iwl_pwr_tx_backoff *pwr_tx_backoffs;
           const struct iwl_tt_params *thermal_params;
           enum iwl_led_mode led_mode;
           enum iwl_nvm_type nvm_type;
           u32 max_data_size;
           u32 max_inst_size;
           u32 dccm_offset;
           u32 dccm_len;
           u32 dccm2_offset;
           u32 dccm2_len;
           u16 nvm_ver;
           u16 nvm_calib_ver;
           u16 bw_limit;
           u32 rx_with_siso_diversity:1, tx_with_siso_diversity:1,
       internal_wimax_coex:1, host_interrupt_operation_mode:1,
       lp_xtal_workaround:1, vht_mu_mimo_supported:1, uhb_supported:1,
       unii9_supported:1, eht_supported:1, uhr_supported:1;
           u8 valid_tx_ant;
           u8 valid_rx_ant;
           u8 non_shared_ant;
           u16 ucode_api_max;
           u16 ucode_api_min;
           u16 num_rbds;
        };

🫢 Members 🫢

  • fw_name_pre β€” Firmware filename prefix. The api version and extension (.ucode) will be added to filename before loading from disk. The filename is constructed as <fw_name_pre>-<api>.ucode. name will be generated dynamically.
  • ht_params β€” point to ht parameters.
  • eeprom_params β€” EEPROM parameters (old devices).
  • pwr_tx_backoffs β€” translation table between power limits and backoffs.
  • thermal_params β€” Thermal throttling parameters.
  • led_mode β€” 0=blinking, 1=On(RF On)/Off(RF Off) β€” yes bestie, those are the modes.
  • nvm_type β€” see enum iwl_nvm_type.
  • max_data_size β€” The maximal length of the fw data section (only DVM).
  • max_inst_size β€” The maximal length of the fw inst section (only DVM).
  • dccm_offset β€” offset from which DCCM begins.
  • dccm_len β€” length of DCCM (including runtime stack CCM).
  • dccm2_offset β€” offset from which the second DCCM begins.
  • dccm2_len β€” length of the second DCCM.
  • nvm_ver β€” NVM version.
  • nvm_calib_ver β€” NVM calibration version.
  • bw_limit β€” bandwidth limit for this device, if non-zero.
  • rx_with_siso_diversity β€” 1x1 device with rx antenna diversity.
  • tx_with_siso_diversity β€” 1x1 device with tx antenna diversity.
  • internal_wimax_coex β€” internal wifi/wimax combo device.
  • host_interrupt_operation_mode β€” device needs host interrupt operation mode set.
  • lp_xtal_workaround β€” low-power crystal workaround needed.
  • vht_mu_mimo_supported β€” VHT MU-MIMO support.
  • uhb_supported β€” ultra high band channels supported.
  • unii9_supported β€” UNII-9 channels supported.
  • eht_supported β€” EHT supported.
  • uhr_supported β€” UHR supported.
  • valid_tx_ant β€” valid transmit antenna.
  • valid_rx_ant β€” valid receive antenna.
  • non_shared_ant β€” the antenna that is for WiFi only.
  • ucode_api_max β€” Highest version of uCode API supported by driver.
  • ucode_api_min β€” Lowest version of uCode API supported by driver.
  • num_rbds β€” number of receive buffer descriptors to use (only used for multi-queue capable devices).

πŸ¦‹ Description πŸ¦‹

The whole point is that we enable the driver to be backward compatible wrt. hardware features. API differences in uCode shouldn’t be handled here but through TLVs and/or the uCode API version instead. periodt. 🫢

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/net/wireless/intel/iwlwifi/iwl-config.h
  • enum iwl_nvm_type(9)
  • struct iwl_fw_mon_reg(9)
  • struct iwl_fw_mon_regs(9)
  • struct iwl_family_base_params(9)
  • struct iwl_tt_params(9)
  • struct iwl_mac_cfg(9)

cute sign-off bestie: source/version is ./drivers/net/wireless/intel/i..., date is October 2026, and the page is still struct iwl_rf_cfg(9) β€” iconic, honestly. πŸŽ€πŸ’œ

πŸ“¦ where this page comes from