Commit 062e8e02 authored by Ilan Peer's avatar Ilan Peer Committed by Johannes Berg

wifi: mac80211: Align with Draft P802.11be_D2.0

Align the mac80211 implementation with P802.11be_D2.0.
Signed-off-by: default avatarIlan Peer <ilan.peer@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 1e0b3b0b
...@@ -3118,7 +3118,7 @@ static const struct ieee80211_sband_iftype_data sband_capa_2ghz[] = { ...@@ -3118,7 +3118,7 @@ static const struct ieee80211_sband_iftype_data sband_capa_2ghz[] = {
.has_eht = true, .has_eht = true,
.eht_cap_elem = { .eht_cap_elem = {
.mac_cap_info[0] = .mac_cap_info[0] =
IEEE80211_EHT_MAC_CAP0_NSEP_PRIO_ACCESS | IEEE80211_EHT_MAC_CAP0_EPCS_PRIO_ACCESS |
IEEE80211_EHT_MAC_CAP0_OM_CONTROL | IEEE80211_EHT_MAC_CAP0_OM_CONTROL |
IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE1, IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE1,
.phy_cap_info[0] = .phy_cap_info[0] =
...@@ -3271,7 +3271,7 @@ static const struct ieee80211_sband_iftype_data sband_capa_5ghz[] = { ...@@ -3271,7 +3271,7 @@ static const struct ieee80211_sband_iftype_data sband_capa_5ghz[] = {
.has_eht = true, .has_eht = true,
.eht_cap_elem = { .eht_cap_elem = {
.mac_cap_info[0] = .mac_cap_info[0] =
IEEE80211_EHT_MAC_CAP0_NSEP_PRIO_ACCESS | IEEE80211_EHT_MAC_CAP0_EPCS_PRIO_ACCESS |
IEEE80211_EHT_MAC_CAP0_OM_CONTROL | IEEE80211_EHT_MAC_CAP0_OM_CONTROL |
IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE1, IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE1,
.phy_cap_info[0] = .phy_cap_info[0] =
...@@ -3453,7 +3453,7 @@ static const struct ieee80211_sband_iftype_data sband_capa_6ghz[] = { ...@@ -3453,7 +3453,7 @@ static const struct ieee80211_sband_iftype_data sband_capa_6ghz[] = {
.has_eht = true, .has_eht = true,
.eht_cap_elem = { .eht_cap_elem = {
.mac_cap_info[0] = .mac_cap_info[0] =
IEEE80211_EHT_MAC_CAP0_NSEP_PRIO_ACCESS | IEEE80211_EHT_MAC_CAP0_EPCS_PRIO_ACCESS |
IEEE80211_EHT_MAC_CAP0_OM_CONTROL | IEEE80211_EHT_MAC_CAP0_OM_CONTROL |
IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE1, IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE1,
.phy_cap_info[0] = .phy_cap_info[0] =
......
...@@ -2020,7 +2020,7 @@ struct ieee80211_eht_mcs_nss_supp_bw { ...@@ -2020,7 +2020,7 @@ struct ieee80211_eht_mcs_nss_supp_bw {
* struct ieee80211_eht_cap_elem_fixed - EHT capabilities fixed data * struct ieee80211_eht_cap_elem_fixed - EHT capabilities fixed data
* *
* This structure is the "EHT Capabilities element" fixed fields as * This structure is the "EHT Capabilities element" fixed fields as
* described in P802.11be_D1.4 section 9.4.2.313. * described in P802.11be_D2.0 section 9.4.2.313.
* *
* @mac_cap_info: MAC capabilities, see IEEE80211_EHT_MAC_CAP* * @mac_cap_info: MAC capabilities, see IEEE80211_EHT_MAC_CAP*
* @phy_cap_info: PHY capabilities, see IEEE80211_EHT_PHY_CAP* * @phy_cap_info: PHY capabilities, see IEEE80211_EHT_PHY_CAP*
...@@ -2046,20 +2046,27 @@ struct ieee80211_eht_cap_elem { ...@@ -2046,20 +2046,27 @@ struct ieee80211_eht_cap_elem {
u8 optional[]; u8 optional[];
} __packed; } __packed;
#define IEEE80211_EHT_OPER_INFO_PRESENT 0x1 #define IEEE80211_EHT_OPER_INFO_PRESENT 0x01
#define IEEE80211_EHT_OPER_DISABLED_SUBCHANNEL_BITMAP_PRESENT 0x2 #define IEEE80211_EHT_OPER_DISABLED_SUBCHANNEL_BITMAP_PRESENT 0x02
#define IEEE80211_EHT_OPER_EHT_DEF_PE_DURATION 0x04
#define IEEE80211_EHT_OPER_GROUP_ADDRESSED_BU_IND_LIMIT 0x08
#define IEEE80211_EHT_OPER_GROUP_ADDRESSED_BU_IND_EXP_MASK 0x30
/** /**
* struct ieee80211_eht_operation - eht operation element * struct ieee80211_eht_operation - eht operation element
* *
* This structure is the "EHT Operation Element" fields as * This structure is the "EHT Operation Element" fields as
* described in P802.11be_D1.5 section 9.4.2.311 * described in P802.11be_D2.0 section 9.4.2.311
* *
* @params: EHT operation element parameters. See &IEEE80211_EHT_OPER_* * @params: EHT operation element parameters. See &IEEE80211_EHT_OPER_*
* @basic_mcs_nss: indicates the EHT-MCSs for each number of spatial streams in
* EHT PPDUs that are supported by all EHT STAs in the BSS in transmit and
* receive.
* @optional: optional parts * @optional: optional parts
*/ */
struct ieee80211_eht_operation { struct ieee80211_eht_operation {
u8 params; u8 params;
__le32 basic_mcs_nss;
u8 optional[]; u8 optional[];
} __packed; } __packed;
...@@ -2779,8 +2786,8 @@ ieee80211_he_spr_size(const u8 *he_spr_ie) ...@@ -2779,8 +2786,8 @@ ieee80211_he_spr_size(const u8 *he_spr_ie)
#define S1G_OPER_CH_WIDTH_PRIMARY_1MHZ BIT(0) #define S1G_OPER_CH_WIDTH_PRIMARY_1MHZ BIT(0)
#define S1G_OPER_CH_WIDTH_OPER GENMASK(4, 1) #define S1G_OPER_CH_WIDTH_OPER GENMASK(4, 1)
/* EHT MAC capabilities as defined in P802.11be_D1.4 section 9.4.2.313.2 */ /* EHT MAC capabilities as defined in P802.11be_D2.0 section 9.4.2.313.2 */
#define IEEE80211_EHT_MAC_CAP0_NSEP_PRIO_ACCESS 0x01 #define IEEE80211_EHT_MAC_CAP0_EPCS_PRIO_ACCESS 0x01
#define IEEE80211_EHT_MAC_CAP0_OM_CONTROL 0x02 #define IEEE80211_EHT_MAC_CAP0_OM_CONTROL 0x02
#define IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE1 0x04 #define IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE1 0x04
#define IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE2 0x08 #define IEEE80211_EHT_MAC_CAP0_TRIG_TXOP_SHARING_MODE2 0x08
...@@ -2793,7 +2800,7 @@ ieee80211_he_spr_size(const u8 *he_spr_ie) ...@@ -2793,7 +2800,7 @@ ieee80211_he_spr_size(const u8 *he_spr_ie)
#define IEEE80211_EHT_MAC_CAP1_MAX_AMPDU_LEN_MASK 0x01 #define IEEE80211_EHT_MAC_CAP1_MAX_AMPDU_LEN_MASK 0x01
/* EHT PHY capabilities as defined in P802.11be_D1.4 section 9.4.2.313.3 */ /* EHT PHY capabilities as defined in P802.11be_D2.0 section 9.4.2.313.3 */
#define IEEE80211_EHT_PHY_CAP0_320MHZ_IN_6GHZ 0x02 #define IEEE80211_EHT_PHY_CAP0_320MHZ_IN_6GHZ 0x02
#define IEEE80211_EHT_PHY_CAP0_242_TONE_RU_GT20MHZ 0x04 #define IEEE80211_EHT_PHY_CAP0_242_TONE_RU_GT20MHZ 0x04
#define IEEE80211_EHT_PHY_CAP0_NDP_4_EHT_LFT_32_GI 0x08 #define IEEE80211_EHT_PHY_CAP0_NDP_4_EHT_LFT_32_GI 0x08
...@@ -2858,7 +2865,7 @@ ieee80211_he_spr_size(const u8 *he_spr_ie) ...@@ -2858,7 +2865,7 @@ ieee80211_he_spr_size(const u8 *he_spr_ie)
#define IEEE80211_EHT_PHY_CAP8_RX_4096QAM_WIDER_BW_DL_OFDMA 0x02 #define IEEE80211_EHT_PHY_CAP8_RX_4096QAM_WIDER_BW_DL_OFDMA 0x02
/* /*
* EHT operation channel width as defined in P802.11be_D1.4 section 9.4.2.311 * EHT operation channel width as defined in P802.11be_D2.0 section 9.4.2.311
*/ */
#define IEEE80211_EHT_OPER_CHAN_WIDTH 0x7 #define IEEE80211_EHT_OPER_CHAN_WIDTH 0x7
#define IEEE80211_EHT_OPER_CHAN_WIDTH_20MHZ 0 #define IEEE80211_EHT_OPER_CHAN_WIDTH_20MHZ 0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment