diff mbox series

[1/9] 6G: Define 6 GHz band Capability elements

Message ID 1587768342-26601-1-git-send-email-rmanohar@codeaurora.org
State Accepted
Headers show
Series [1/9] 6G: Define 6 GHz band Capability elements | expand

Commit Message

Rajkumar Manoharan April 24, 2020, 10:45 p.m. UTC
This patch defines IEEE P802.11ax/D6.0, 9.4.2.261 HE 6 GHz Band
Capabilities element and 6 GHz Operation Information field of HE
operation element (IEEE P802.11ax/D6.0, Figure 9-787k).

Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
---
 src/common/ieee802_11_defs.h | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

Comments

Jouni Malinen May 17, 2020, 2:49 p.m. UTC | #1
Thanks, applied patches 1-4 and 8 with some cleanup and fixes.
diff mbox series

Patch

diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h
index 7f31e09a10c5..2fbefb3375c4 100644
--- a/src/common/ieee802_11_defs.h
+++ b/src/common/ieee802_11_defs.h
@@ -473,6 +473,7 @@ 
 #define WLAN_EID_EXT_SPATIAL_REUSE 39
 #define WLAN_EID_EXT_OCV_OCI 54
 #define WLAN_EID_EXT_SHORT_SSID_LIST 58
+#define WLAN_EID_EXT_HE_6GHZ_BAND_CAP 59
 #define WLAN_EID_EXT_EDMG_CAPABILITIES 61
 #define WLAN_EID_EXT_EDMG_OPERATION 62
 #define WLAN_EID_EXT_REJECTED_GROUPS 92
@@ -2151,6 +2152,39 @@  struct ieee80211_he_operation {
 	/* Followed by conditional MaxBSSID Indicator subfield (u8) */
 } STRUCT_PACKED;
 
+/* IEEE P802.11ax/D6.0, Figure 9-787k—6 GHz Operation Information field */
+struct ieee80211_he_6ghz_oper_info {
+	u8 primary_chan;
+	u8 control;
+	u8 chan_center_freq_seg0;
+	u8 chan_center_freq_seg1;
+	u8 min_rate;
+} STRUCT_PACKED;
+
+#define HE_6GHZ_OPER_INFO_CTRL_CHAN_WIDTH_MASK	0x3
+
+/*
+ * IEEE P802.11ax/D6.0, 9.4.2.261 HE 6 GHz Band Capabilities element
+ */
+struct ieee80211_he_6ghz_band_cap {
+	u8 a_mpdu_params; /* Minimum MPDU Start Spacing B0..B2
+			   * Maximum A-MPDU Length Exponent B3..B5
+			   * Maximum MPDU Length B6..B7
+			   */
+	u8 info;
+} STRUCT_PACKED;
+
+#define HE_6GHZ_BAND_CAP_MIN_MPDU_START_SPACE_MASK	  ((u8) 0x7)
+#define HE_6GHZ_BAND_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK  ((u8) 0x7)
+#define HE_6GHZ_BAND_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT 3
+#define HE_6GHZ_BAND_CAP_MAX_MPDU_LENGTH_MASK		  ((u8) 0x3)
+#define HE_6GHZ_BAND_CAP_MAX_MPDU_LENGTH_SHIFT		  6
+
+#define HE_6GHZ_BAND_CAP_SMPS_DISABLED			  ((u8) (BIT(1) | \
+								 BIT(2)))
+#define HE_6GHZ_BAND_CAP_RX_ANTENNA_PATTERN		  ((u8) BIT(4))
+#define HE_6GHZ_BAND_CAP_TX_ANTENNA_PATTERN		  ((u8) BIT(5))
+
 /*
  * IEEE P802.11ax/D4.0, 9.4.2.246 Spatial Reuse Parameter Set element
  */