STRUCT IWL_TXPOWER_CONSTRAINTS_CMD(9)
π struct iwl_txpower_constraints_cmd(9) π
okay bestie, welcome to the Kernel API Manual β¨ this one's a struct page, it's giving "niche but iconic," and we're gonna get through it together π«Ά
π NAME π
struct iwl_txpower_constraints_cmd β the TX power constraints command, no cap π
Also goes by AP_TX_POWER_CONSTRAINTS_CMD, and it's used for VLP/LPI/AFC Access Point power constraints for 6GHz channels β like, that's literally its whole job.
β¨ SYNOPSIS β¨
struct iwl_txpower_constraints_cmd {
__le16 link_id;
__le16 ap_type;
__s8 eirp_pwr[IWL_MAX_TX_EIRP_PWR_MAX_SIZE];
__s8 psd_pwr[IWL_MAX_TX_EIRP_PSD_PWR_MAX_SIZE];
u8 reserved[3];
};
not the stray leading space before the closing brace, that's just how it lives, we respect it π
π¦ Members π¦
link_idβ the linkId, bestie. that's the whole description, she's mysterious πap_typeβ seeenum iwl_6ghz_ap_typefor what the values actually mean πeirp_pwrβ an 8-bit 2s complement signed integer, in the range -64 dBm to 63 dBm with a 0.5 dB step. default isDEFAULT_TPE_TX_POWER(no maximum limit) πΈ so like, it's a signed little number with vibes.psd_pwrβ also an 8-bit 2s complement signed integer, this time in the range -63.5 to +63 dBm/MHz with a 0.5 step π« and here's the spicy part:- the value -128 indicates that the corresponding 20 MHz channel cannot be used for transmission π«
- the value +127 indicates that no maximum PSD limit is specified for the corresponding 20 MHz channel β
- default is
DEFAULT_TPE_TX_POWER(no maximum limit) π§
reservedβ reserved (padding) π that's it, that's the field, she's just holding space.
π₯ SEE ALSO π₯
okay this list is long long, grab a snack π it all lives in the kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/power.h:
enum iwl_ltr_config_flags(9)struct iwl_ltr_config_cmd_v1(9)struct iwl_ltr_config_cmd(9)enum iwl_power_flags(9)struct iwl_powertable_cmd(9)enum iwl_device_power_flags(9)struct iwl_device_power_cmd(9)struct iwl_mac_power_cmd_v2(9)struct iwl_mac_power_cmd(9)struct iwl_dev_tx_power_common(9)struct iwl_dev_tx_power_cmd_v3(9)struct iwl_dev_tx_power_cmd_v4(9)struct iwl_dev_tx_power_cmd_v5(9)struct iwl_dev_tx_power_cmd_v8(9)struct iwl_dev_tx_power_cmd_v3_v8(9)struct iwl_dev_tx_power_cmd_v9(9)struct iwl_dev_tx_power_cmd_v10(9)enum iwl_geo_per_chain_offset_operation(9)struct iwl_per_chain_offset(9)struct iwl_geo_tx_power_profiles_cmd_v1(9)struct iwl_geo_tx_power_profiles_cmd_v2(9)struct iwl_geo_tx_power_profiles_cmd_v3(9)struct iwl_geo_tx_power_profiles_cmd_v4(9)struct iwl_geo_tx_power_profiles_cmd_v5(9)struct iwl_geo_tx_power_profiles_cmd_v6(9)struct iwl_geo_tx_power_profiles_resp(9)enum iwl_ppag_flags(9)union iwl_ppag_table_cmd(9)struct iwl_sar_offset_mapping_cmd(9)struct iwl_beacon_filter_cmd(9)
like I said. long long. but we don't skip, we never skip π β¨
ngl this page is short but she's thorough β every field, every range, every sentinel value accounted for. vibe check: passed π
and that's the whole page bestie, you ate that π«Άπ this came from ./drivers/net/wireless/intel/i..., dated October 2026, and it's fr fr the struct iwl_t...straints_cmd(9) page β mwah ππ
π¦ 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