STRUCT IWL_DEV_TX_POWER_CMD_V8(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct iwl_dev_tx_power_cmd_v8 β€” TX power reduction command version 8

okay so this is from the Kernel API Manual bestie, and it's literally the v8 glow-up of the TX power reduction command. it's giving "the firmware and the driver are texting about how much power to actually push out" and honestly? iconic. let's get into it 🫢


✨ NAME ✨

struct iwl_dev_tx_power_cmd_v8 β€” the TX power reduction command, but version 8. that's the whole vibe. πŸ’–


🌸 SYNOPSIS 🌸

struct iwl_dev_tx_power_cmd_v8 {
    __le16 per_chain[IWL_NUM_CHAIN_TABLES_V2][IWL_NUM_CHAIN_LIMITS][IWL_NUM_SUB_BANDS_V2];
    u8 enable_ack_reduction;
    u8 per_chain_restriction_changed;
    u8 reserved[2];
    __le32 timer_period;
    __le32 flags;
    __le32 tpc_vlp_backoff_level;
};

like look at that three-dimensional per_chain array. she's multidimensional and she knows it πŸ‘‘


πŸŽ€ Members πŸŽ€

  • per_chain β€” the per chain restrictions. that's it, that's the field πŸ’…
  • enable_ack_reduction β€” turns close range ack TX power reduction ON or OFF. lil toggle, big job ✨
  • per_chain_restriction_changed β€” this one's asking "has per_chain_restriction changed since the last command?" and it only matters if set_mode is IWL_TX_POWER_MODE_SET_SAR_TIMER. so if that's not your mode, she's just vibing 😌
  • reserved β€” reserved (padding). she's not here to be used, she's here to keep the struct aligned. a true supporting character πŸŽ€
  • timer_period β€” timer in milliseconds. if it expires, the FW will change to default BIOS values. only relevant if setMode is IWL_TX_POWER_MODE_SET_SAR_TIMER. so like, a countdown, but for firmware behaviour ⏳
  • flags β€” the reduce power flags. flags, but make it power-saving πŸ¦‹
  • tpc_vlp_backoff_level β€” user backoff of UNII5,7 VLP channels in USA. Not in use. okay so she's literally just standing there, in the struct, unused. iykyk πŸ™ˆ

πŸ’€ note πŸ’€

if not changed, the command is used for keep alive only. so if nothing's different, it's just the little "hey bestie, still alive?" ping. no cap, that's genuinely all it's doing 😭

🌈 SEE ALSO 🌈

the kernel file lives at ./drivers/net/wireless/intel/iwlwifi/fw/api/power.h and it's the whole friend group, fr fr:

  • 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_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)
  • struct iwl_txpower_constraints_cmd(9)

that's a whole group chat right there and every single one of them said "add me to the SEE ALSO" πŸ˜­πŸ’–


and that's the page bestie!! 🧚 sign-off time: this one comes from ./drivers/net/wireless/intel/i..., dated October 2026, and it's filed under struct iwl_d...power_cmd_v8(9). slay, periodt, drink water, read your kernel headers πŸ’œβœ¨

πŸ“¦ where this page comes from