STRUCT IWL_HE_PKT_EXT_V1(9)
π struct iwl_he_pkt_ext_v1(9) β Kernel API Manual π
okay bestie, welcome to the struct iwl_he_pkt_ext_v1 page from the Kernel API Manual, and honestly? it's giving "tiny struct, big lore." stay with me, we're gonna slay this π
This page covers struct iwl_he_pkt_ext_v1(9) and its whole deal: the QAM thresholds.
β¨ NAME β¨
struct iwl_he_pkt_ext_v1 β QAM thresholds, bestie π
okay so the required PPE is set via the HE Capabilities IE, per Nss x BW x MCS. and the IE is organized in the following way, no cap:
Support for the Nss x BW (or RU) matrix: (0=SISO, 1=MIMO2) x (0-20MHz, 1-40MHz, 2-80MHz, 3-160MHz).
Each entry contains 2 QAM thresholds for 8us and 16us, and the constellation lineup is:
0=BPSK1=QPSK2=16QAM3=64QAM4=256QAM5=1024QAM6=RES7=NONE
i.e. QAM_th1 < QAM_th2, such that if TX uses QAM_tx:
QAM_tx < QAM_th1 --> PPE=0us
QAM_th1 <= QAM_tx < QAM_th2 --> PPE=8us
QAM_th2 <= QAM_tx --> PPE=16us
periodt. that's the whole vibe check π₯
πΈ SYNOPSIS πΈ
struct iwl_he_pkt_ext_v1 {
u8 pkt_ext_qam_th[MAX_HE_SUPP_NSS][MAX_CHANNEL_BW_INDX_API_D_VER_1][2];
};
π¦ Members π¦
pkt_ext_qam_thβ the QAM thresholds, obviously π. For each Nss/Bw define 2 QAM thrsholds(0..5). Lowkey here's the rulebook:- For rates below the
low_th, no need for PPE. - For rates between
low_thandhigh_th, need 8us PPE. - For rates equal or higher then the
high_th, need 16us PPE.
- For rates below the
And the indexing, so you don't get lost: Nss (0-siso, 1-mimo2) x BW (0-20MHz, 1-40MHz, 2-80MHz, 3-160MHz) x (0-low_th, 1-high_th) β¨
π SEE ALSO π
Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/mac.h β and the whole friend group π:
enum iwl_mac_protection_flags(9)enum iwl_mac_types(9)enum iwl_tsf_id(9)struct iwl_mac_data_ap(9)struct iwl_mac_data_ibss(9)enum iwl_mac_data_policy(9)struct iwl_mac_data_sta(9)struct iwl_mac_data_go(9)struct iwl_mac_data_p2p_sta(9)struct iwl_mac_data_pibss(9)enum iwl_mac_filter_flags(9)enum iwl_mac_qos_flags(9)struct iwl_ac_qos(9)struct iwl_mac_ctx_cmd(9)struct iwl_missed_beacons_notif_ver_3(9)struct iwl_missed_beacons_notif_v4(9)struct iwl_he_backoff_conf(9)enum iwl_he_pkt_ext_constellations(9)struct iwl_he_pkt_ext_v2(9)enum iwl_he_sta_ctxt_flags(9)enum iwl_he_htc_flags(9)struct iwl_he_sta_context_cmd_v1(9)struct iwl_he_sta_context_cmd_v2(9)struct iwl_he_sta_context_cmd_v3(9)struct iwl_he_monitor_cmd(9)
ok that's the whole page bestie, go forth and configure your PPE thresholds responsibly π«Ά
and for the sign-off: this cutie came from ./drivers/net/wireless/intel/i... and it's dated October 2026, filed under struct iwl_he_pkt_ext_v1(9). iconic. bye bestie πβ¨π
π¦ 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