ieee80211: add definition for transmit power envelope element
IEEE Std 802.11ax™-2021 makes changes to the transmit power envelope element, adjust the code accordingly. Signed-off-by: Wen Gong <wgong@codeaurora.org> Link: https://lore.kernel.org/r/20210820122041.12157-7-wgong@codeaurora.org Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
a1ef618254
commit
ad31393b98
|
@ -2338,6 +2338,44 @@ struct ieee80211_he_6ghz_oper {
|
||||||
u8 minrate;
|
u8 minrate;
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* In "9.4.2.161 Transmit Power Envelope element" of "IEEE Std 802.11ax-2021",
|
||||||
|
* it show four types in "Table 9-275a-Maximum Transmit Power Interpretation
|
||||||
|
* subfield encoding", and two category for each type in "Table E-12-Regulatory
|
||||||
|
* Info subfield encoding in the United States".
|
||||||
|
* So it it totally max 8 Transmit Power Envelope element.
|
||||||
|
*/
|
||||||
|
#define IEEE80211_TPE_MAX_IE_COUNT 8
|
||||||
|
/*
|
||||||
|
* In "Table 9-277—Meaning of Maximum Transmit Power Count subfield"
|
||||||
|
* of "IEEE Std 802.11ax™‐2021", the max power level is 8.
|
||||||
|
*/
|
||||||
|
#define IEEE80211_MAX_NUM_PWR_LEVEL 8
|
||||||
|
|
||||||
|
#define IEEE80211_TPE_MAX_POWER_COUNT 8
|
||||||
|
|
||||||
|
/* transmit power interpretation type of transmit power envelope element */
|
||||||
|
enum ieee80211_tx_power_intrpt_type {
|
||||||
|
IEEE80211_TPE_LOCAL_EIRP,
|
||||||
|
IEEE80211_TPE_LOCAL_EIRP_PSD,
|
||||||
|
IEEE80211_TPE_REG_CLIENT_EIRP,
|
||||||
|
IEEE80211_TPE_REG_CLIENT_EIRP_PSD,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct ieee80211_tx_pwr_env
|
||||||
|
*
|
||||||
|
* This structure represents the "Transmit Power Envelope element"
|
||||||
|
*/
|
||||||
|
struct ieee80211_tx_pwr_env {
|
||||||
|
u8 tx_power_info;
|
||||||
|
s8 tx_power[IEEE80211_TPE_MAX_POWER_COUNT];
|
||||||
|
} __packed;
|
||||||
|
|
||||||
|
#define IEEE80211_TX_PWR_ENV_INFO_COUNT 0x7
|
||||||
|
#define IEEE80211_TX_PWR_ENV_INFO_INTERPRET 0x38
|
||||||
|
#define IEEE80211_TX_PWR_ENV_INFO_CATEGORY 0xC0
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ieee80211_he_oper_size - calculate 802.11ax HE Operations IE size
|
* ieee80211_he_oper_size - calculate 802.11ax HE Operations IE size
|
||||||
* @he_oper_ie: byte data of the He Operations IE, stating from the byte
|
* @he_oper_ie: byte data of the He Operations IE, stating from the byte
|
||||||
|
@ -2919,7 +2957,7 @@ enum ieee80211_eid {
|
||||||
WLAN_EID_VHT_OPERATION = 192,
|
WLAN_EID_VHT_OPERATION = 192,
|
||||||
WLAN_EID_EXTENDED_BSS_LOAD = 193,
|
WLAN_EID_EXTENDED_BSS_LOAD = 193,
|
||||||
WLAN_EID_WIDE_BW_CHANNEL_SWITCH = 194,
|
WLAN_EID_WIDE_BW_CHANNEL_SWITCH = 194,
|
||||||
WLAN_EID_VHT_TX_POWER_ENVELOPE = 195,
|
WLAN_EID_TX_POWER_ENVELOPE = 195,
|
||||||
WLAN_EID_CHANNEL_SWITCH_WRAPPER = 196,
|
WLAN_EID_CHANNEL_SWITCH_WRAPPER = 196,
|
||||||
WLAN_EID_AID = 197,
|
WLAN_EID_AID = 197,
|
||||||
WLAN_EID_QUIET_CHANNEL = 198,
|
WLAN_EID_QUIET_CHANNEL = 198,
|
||||||
|
|
Loading…
Reference in New Issue