STRUCT IWL_TLC_CONFIG_CMD_V4(9)
π struct iwl_tlc_config_cmd_v4(9) β TLC configuration π
okay bestie so you're in the Kernel API Manual and this page is literally the blueprint for struct iwl_tlc_config_cmd_v4 β aka the TLC configuration struct, version 4, no cap β¨. It's giving "rate control but make it structured," and we're gonna go through every single field together because that's what friends do π«Ά
β¨ SYNOPSIS β¨
struct iwl_tlc_config_cmd_v4 {
u8 sta_id;
u8 reserved1[3];
u8 max_ch_width;
u8 mode;
u8 chains;
u8 sgi_ch_width_supp;
__le16 flags;
__le16 non_ht_rates;
__le16 ht_rates[IWL_TLC_NSS_MAX][IWL_TLC_MCS_PER_BW_NUM_V4];
__le16 max_mpdu_len;
__le16 max_tx_op;
};
that's the whole cast of characters, and yes we're meeting all of them π
π Members π
sta_idβ the station id. which station are we even talking about, that's this one π«reserved1β reserved. like, do not touch, it's not for you, it's saving a seat at the lunch table πͺmax_ch_widthβ the max supported channel width, pulled fromenum iwl_tlc_mng_cfg_cw. how wide can we go, that's the question πmodeβenum iwl_tlc_mng_cfg_mode. the vibes/mode selector π¦chainsβ a bitmask ofenum iwl_tlc_mng_cfg_chains. bitmask of chains, periodt πsgi_ch_width_suppβ bitmap of SGI support per channel width β useBIT(enum iwl_tlc_mng_cfg_cw). one bit per width, so organized πflagsβ a bitmask ofenum iwl_tlc_mng_cfg_flags. yes, more bits, we love bits βnon_ht_ratesβ bitmap of supported legacy rates. the non-HT ones, the classics, the old money πht_ratesβ bitmap ofenum iwl_tlc_mng_ht_rates, per<nss, channel-width>pair. and the mapping is lowkey specific: (0 - 80mhz width and below, 1 - 160mhz, 2 - 320mhz). write that down bestie πmax_mpdu_lenβ max MPDU length, in bytes. bytes!! πmax_tx_opβ max TXOP in uSecs for all AC (BK,BE,VO,VI), set zero for no limit. zero = unlimited, going feral with it π₯
πΈ SEE ALSO πΈ
Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/rs.h β and then, the whole friend group π:
enum iwl_tlc_mng_cfg_flags(9)enum iwl_tlc_mng_cfg_cw(9)enum iwl_tlc_mng_cfg_chains(9)enum iwl_tlc_mng_cfg_mode(9)enum iwl_tlc_mng_ht_rates(9)enum IWL_TLC_MCS_PER_BW(9)struct iwl_tlc_config_cmd_v3(9)struct iwl_tlc_config_cmd(9)enum iwl_tlc_update_flags(9)struct iwl_tlc_update_notif(9)enum iwl_tlc_debug_types(9)struct iwl_dhc_tlc_cmd(9)struct iwl_lq_cmd(9)
ok that's the whole page, you ate that π go read the v3 struct too, it's giving prequel energy
and that's a wrap bestie π§π this little love letter came from ./drivers/net/wireless/intel/i... and it's stamped October 2026 β struct iwl_t...onfig_cmd_v4(9), signing off π
π¦ 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