@@ -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
*/
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(+)