STRUCT IWL_DEV_TX_POWER_COMMON(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– STRUCT IWL_DEV_TX_POWER_COMMON(9) πŸ’–

okay bestie, gather round, because today we're looking at struct iwl_dev_tx_power_common β€” the common part of the TX power reduction cmd, from the kernel API manual (that's the 9 in the corner, iykyk). lowkey iconic little struct. let's get into it πŸ¦‹


✨ NAME ✨

struct iwl_dev_tx_power_common β€” the common part of the TX power reduction cmd. that's it, that's the whole vibe. she's the shared glue, the main character energy that every version of this cmd builds on πŸŽ€


🌸 SYNOPSIS 🌸

struct iwl_dev_tx_power_common {
    __le32 set_mode;
    __le32 link_id;
    __le16 pwr_restriction;
};

look at her. three fields. compact. efficient. not a single wasted byte, periodt πŸ’…


πŸ‘‘ MEMBERS πŸ‘‘

  • set_mode β€” this one's a vibe check on the mode, fr fr. see enum iwl_dev_tx_power_cmd_mode. that's where the actual mode values live, so go peek there πŸ‘€
  • link_id β€” the id of the link ctx we're reducing TX power for. and here's the little plot twist 🫢: for version 9 / 10, this is the link id. for earlier versions, it's the mac id. same field, different meaning depending on your version β€” not me getting lore-dropped mid-struct 😭
  • pwr_restriction β€” the actual TX power restriction, measured in 1/8 dBms. yes, eighths. she's precise like that ✨

πŸ¦‹ SEE ALSO πŸ¦‹

the whole extended friend group, no cap β€” go say hi:

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

like, that's a lot of cousins. family reunion fr πŸ’€ but every single one of them is worth a scroll, trust 🫢


ngl bestie, the only real gotcha here is that link_id thing β€” version 9 / 10 means link id, earlier means mac id. don't mix those up or it's giving undefined chaos πŸ™ˆ

and that's the tea! β˜• this page came straight out of ./drivers/net/wireless/intel/i..., dated October 2026, and the header/footer both call her struct iwl_d...power_common(9) (the truncated queen herself πŸ‘‘). stay slay, stay restricted to 1/8 dBms, and go read the rest of the power.h lore πŸŒˆπŸ’œ

πŸ“¦ where this page comes from