STRUCT IWL_TXPOWER_CONSTRAINTS_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 β€” see enum iwl_6ghz_ap_type for 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 is DEFAULT_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