UNION IWL_PPAG_TABLE_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… union iwl_ppag_table_cmd(9) β€” a Kernel API Manual moment

Okay bestie, gather round, because we're about to get into union iwl_ppag_table_cmd β€” the union for all versions of the PPAG command. Yes, all of them. It's giving "one union to hold them all" and honestly? Iconic. πŸŽ€


✨ NAME ✨

union iwl_ppag_table_cmd β€” the union that carries every single version of the PPAG command, no cap. πŸ¦‹


🌸 SYNOPSIS 🌸

union iwl_ppag_table_cmd {
    struct {
      __le32 flags;
      s8 gain[IWL_NUM_CHAIN_LIMITS][IWL_NUM_SUB_BANDS_V1];
      s8 reserved[2];
    } v1;
    struct {
      __le32 flags;
      s8 gain[IWL_NUM_CHAIN_LIMITS][IWL_NUM_SUB_BANDS_V2];
      s8 reserved[2];
    } v5;
    struct {
      struct bios_value_u32 ppag_config_info;
      s8 gain[IWL_NUM_CHAIN_LIMITS][IWL_NUM_SUB_BANDS_V2];
      s8 reserved[2];
    } v7;
    struct {
      struct bios_value_u32 ppag_config_info;
      s8 gain[IWL_NUM_CHAIN_LIMITS][IWL_NUM_SUB_BANDS_V3];
    } v8;
 };

Look at her. Four whole version structs living in one union. Main character energy fr fr. πŸ‘‘


πŸ’œ MEMBERS πŸ’œ

  • v1 β€” the command version 1 structure. The OG.
    • v1.flags β€” values come from enum iwl_ppag_flags.
    • v1.gain β€” the table of antenna gain values, per chain and sub-band. She's organized.
    • v1.reserved β€” reserved. That's it. That's the whole vibe. πŸ™ˆ
  • v5 β€” the command version 5 structure.
    • v5.flags β€” values come from enum iwl_ppag_flags.
    • v5.gain β€” the table of antenna gain values, per chain and sub-band.
  • v7 β€” the command version 7 structure.
    • v7.ppag_config_info β€” see struct bios_value_u32.
    • v7.gain β€” the table of antenna gain values, per chain and sub-band.
    • v7.reserved β€” reserved.
  • v8 β€” the command version 8 structure. The newest girlie on the block. ✨
    • v8.ppag_config_info β€” see struct bios_value_u32.
    • v8.gain β€” the table of antenna gain values, per chain and sub-band.

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/power.h β€” plus the whole extended universe, bestie:

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

Love that for you: go read the source file too, it's right there in power.h. 🫢

Kernel API Manual, page union iwl_ppag_table_cmd(9), sourced from ./drivers/net/wireless/intel/i..., dated October 2026. That's the whole page, bestie β€” slay, you read it, periodt. πŸ’–πŸŒˆβ­

πŸ“¦ where this page comes from