|
@@ -714,6 +714,30 @@ enum ieee80211_ht_chanwidth_values {
|
|
|
IEEE80211_HT_CHANWIDTH_ANY = 1,
|
|
|
};
|
|
|
|
|
|
+/**
|
|
|
+ * enum ieee80211_opmode_bits - VHT operating mode field bits
|
|
|
+ * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_MASK: channel width mask
|
|
|
+ * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_20MHZ: 20 MHz channel width
|
|
|
+ * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_40MHZ: 40 MHz channel width
|
|
|
+ * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_80MHZ: 80 MHz channel width
|
|
|
+ * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_160MHZ: 160 MHz or 80+80 MHz channel width
|
|
|
+ * @IEEE80211_OPMODE_NOTIF_RX_NSS_MASK: number of spatial streams mask
|
|
|
+ * (the NSS value is the value of this field + 1)
|
|
|
+ * @IEEE80211_OPMODE_NOTIF_RX_NSS_SHIFT: number of spatial streams shift
|
|
|
+ * @IEEE80211_OPMODE_NOTIF_RX_NSS_TYPE_BF: indicates streams in SU-MIMO PPDU
|
|
|
+ * using a beamforming steering matrix
|
|
|
+ */
|
|
|
+enum ieee80211_vht_opmode_bits {
|
|
|
+ IEEE80211_OPMODE_NOTIF_CHANWIDTH_MASK = 3,
|
|
|
+ IEEE80211_OPMODE_NOTIF_CHANWIDTH_20MHZ = 0,
|
|
|
+ IEEE80211_OPMODE_NOTIF_CHANWIDTH_40MHZ = 1,
|
|
|
+ IEEE80211_OPMODE_NOTIF_CHANWIDTH_80MHZ = 2,
|
|
|
+ IEEE80211_OPMODE_NOTIF_CHANWIDTH_160MHZ = 3,
|
|
|
+ IEEE80211_OPMODE_NOTIF_RX_NSS_MASK = 0x70,
|
|
|
+ IEEE80211_OPMODE_NOTIF_RX_NSS_SHIFT = 4,
|
|
|
+ IEEE80211_OPMODE_NOTIF_RX_NSS_TYPE_BF = 0x80,
|
|
|
+};
|
|
|
+
|
|
|
#define WLAN_SA_QUERY_TR_ID_LEN 2
|
|
|
|
|
|
struct ieee80211_mgmt {
|
|
@@ -844,6 +868,10 @@ struct ieee80211_mgmt {
|
|
|
__le16 capability;
|
|
|
u8 variable[0];
|
|
|
} __packed tdls_discover_resp;
|
|
|
+ struct {
|
|
|
+ u8 action_code;
|
|
|
+ u8 operating_mode;
|
|
|
+ } __packed vht_opmode_notif;
|
|
|
} u;
|
|
|
} __packed action;
|
|
|
} u;
|
|
@@ -1598,6 +1626,7 @@ enum ieee80211_eid {
|
|
|
|
|
|
WLAN_EID_VHT_CAPABILITY = 191,
|
|
|
WLAN_EID_VHT_OPERATION = 192,
|
|
|
+ WLAN_EID_OPMODE_NOTIF = 199,
|
|
|
|
|
|
/* 802.11ad */
|
|
|
WLAN_EID_NON_TX_BSSID_CAP = 83,
|
|
@@ -1652,6 +1681,7 @@ enum ieee80211_category {
|
|
|
WLAN_CATEGORY_WMM = 17,
|
|
|
WLAN_CATEGORY_FST = 18,
|
|
|
WLAN_CATEGORY_UNPROT_DMG = 20,
|
|
|
+ WLAN_CATEGORY_VHT = 21,
|
|
|
WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126,
|
|
|
WLAN_CATEGORY_VENDOR_SPECIFIC = 127,
|
|
|
};
|
|
@@ -1677,6 +1707,13 @@ enum ieee80211_ht_actioncode {
|
|
|
WLAN_HT_ACTION_ASEL_IDX_FEEDBACK = 7,
|
|
|
};
|
|
|
|
|
|
+/* VHT action codes */
|
|
|
+enum ieee80211_vht_actioncode {
|
|
|
+ WLAN_VHT_ACTION_COMPRESSED_BF = 0,
|
|
|
+ WLAN_VHT_ACTION_GROUPID_MGMT = 1,
|
|
|
+ WLAN_VHT_ACTION_OPMODE_NOTIF = 2,
|
|
|
+};
|
|
|
+
|
|
|
/* Self Protected Action codes */
|
|
|
enum ieee80211_self_protected_actioncode {
|
|
|
WLAN_SP_RESERVED = 0,
|