STRUCT IL_SCALE_TBL_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct il_scale_tbl_info(9)

okay so we are literally in the Kernel API Manual right now, and today's main character is struct il_scale_tbl_info β€” the struct that the NAME section says is all about tx params and success history for all rates. that's the whole pitch. slay. πŸ’…


✨ NAME ✨

struct il_scale_tbl_info β€” tx params and success history for all rates. periodt. that's what it does, that's what it is.


🌸 SYNOPSIS 🌸

here's the whole struct, bestie, copy it exactly, do not freestyle:

struct il_scale_tbl_info {
    enum il_table_type lq_type;
    u8 ant_type;
    u8 is_SGI;
    u8 is_ht40;
    u8 is_dup;
    u8 action;
    u8 max_search;
    s32 *expected_tpt;
    u32 current_rate;
    struct il_rate_scale_data win[RATE_COUNT];
};

not me counting the fields to make sure nothing got lost 😭 there's ten of them, bestie. ten. count them yourself if you don't trust me (you should trust me).


πŸŽ€ DESCRIPTION πŸŽ€

πŸ‘‘ Members

okay so here's the thing β€” the manpage gives us the members in the SYNOPSIS but then just… doesn't describe them. iconic of it honestly. so here's the roster, and I'm not gonna make up meanings that aren't in the source, because that's a no:

  • enum il_table_type lq_type β€” a field, of type enum il_table_type. that's what the page gives us. it's giving mysterious. πŸ•΅οΈ
  • u8 ant_type β€” a lil' u8. that's it, that's the entry.
  • u8 is_SGI β€” u8 flag field, exact spelling is_SGI with the capital letters, don't @ me.
  • u8 is_ht40 β€” another u8, lowercase this time. the inconsistency is a vibe, not a typo, type it exactly.
  • u8 is_dup β€” u8. yes. again.
  • u8 action β€” u8. we love a short field name.
  • u8 max_search β€” u8. sounds important. page isn't telling. 🀐
  • s32 *expected_tpt β€” a pointer to an s32, so like, actual memory, be careful bestie.
  • u32 current_rate β€” a u32, no pointer, chill.
  • struct il_rate_scale_data win[RATE_COUNT] β€” an array of struct il_rate_scale_data, indexed by RATE_COUNT. whole array, right there in the struct. 🫢
fr fr the original Members section is empty. I'm not out here inventing documentation, I'm just formatting what's there. the facts stay the same even when the vibe changes πŸ’–

πŸ’« the actual description πŸ’«

There are two of these in struct il_lq_sta β€” one for "active", and one for "search".

that's it. two of them. one active, one search. and honestly? that's kind of the whole tea. πŸ”₯


🌈 SEE ALSO 🌈

the kernel file lives at ./drivers/net/wireless/intel/iwlegacy/common.h, and here's the whole friend group, in order, no one left out:

go read them, bestie, they're all right there. iykyk 🧚


and that's the page! πŸŽ€ source path got cut off at ./drivers/net/wireless/intel/i..., dated October 2026, and it's filed under struct il_scale_tbl_info(9) in case you forgot where you were. mwah, go write some iwlegacy code, ily πŸ’œβœ¨

πŸ“¦ where this page comes from