STRUCT IWL_RF_CFG(9)
π 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β seeenum 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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms