aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ieee80211.h
diff options
context:
space:
mode:
authorMahesh Palivela <maheshp@posedge.com>2012-06-22 03:27:46 -0400
committerJohannes Berg <johannes.berg@intel.com>2012-06-28 07:08:32 -0400
commitce0e169529a2db1cd910d2d45a5713fcdc29f6e1 (patch)
tree3177bec92185da55d77751f824a3a303bf907ed4 /include/linux/ieee80211.h
parentc9b22fb87a00ceb8afa78089d5cf676cf8b3319d (diff)
wireless: add VHT (802.11ac) definitions
Add the VHT definitions to be used by drivers supporting it. Signed-off-by: Mahesh Palivela <maheshp@posedge.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/linux/ieee80211.h')
-rw-r--r--include/linux/ieee80211.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
index 318fc1f705b1..abf0e5fe6d24 100644
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
@@ -1092,6 +1092,73 @@ struct ieee80211_ht_operation {
1092#define WLAN_HT_SMPS_CONTROL_STATIC 1 1092#define WLAN_HT_SMPS_CONTROL_STATIC 1
1093#define WLAN_HT_SMPS_CONTROL_DYNAMIC 3 1093#define WLAN_HT_SMPS_CONTROL_DYNAMIC 3
1094 1094
1095#define VHT_MCS_SUPPORTED_SET_SIZE 8
1096
1097struct ieee80211_vht_capabilities {
1098 __le32 vht_capabilities_info;
1099 u8 vht_supported_mcs_set[VHT_MCS_SUPPORTED_SET_SIZE];
1100} __packed;
1101
1102struct ieee80211_vht_operation {
1103 u8 vht_op_info_chwidth;
1104 u8 vht_op_info_chan_center_freq_seg1_idx;
1105 u8 vht_op_info_chan_center_freq_seg2_idx;
1106 __le16 vht_basic_mcs_set;
1107} __packed;
1108
1109/**
1110 * struct ieee80211_vht_mcs_info - VHT MCS information
1111 * @rx_mcs_map: RX MCS map 2 bits for each stream, total 8 streams
1112 * @rx_highest: Indicates highest long GI VHT PPDU data rate
1113 * STA can receive. Rate expressed in units of 1 Mbps.
1114 * If this field is 0 this value should not be used to
1115 * consider the highest RX data rate supported.
1116 * @tx_mcs_map: TX MCS map 2 bits for each stream, total 8 streams
1117 * @tx_highest: Indicates highest long GI VHT PPDU data rate
1118 * STA can transmit. Rate expressed in units of 1 Mbps.
1119 * If this field is 0 this value should not be used to
1120 * consider the highest TX data rate supported.
1121 */
1122struct ieee80211_vht_mcs_info {
1123 __le16 rx_mcs_map;
1124 __le16 rx_highest;
1125 __le16 tx_mcs_map;
1126 __le16 tx_highest;
1127} __packed;
1128
1129#define IEEE80211_VHT_MCS_ZERO_TO_SEVEN_SUPPORT 0
1130#define IEEE80211_VHT_MCS_ZERO_TO_EIGHT_SUPPORT 1
1131#define IEEE80211_VHT_MCS_ZERO_TO_NINE_SUPPORT 2
1132#define IEEE80211_VHT_MCS_NOT_SUPPORTED 3
1133
1134/* 802.11ac VHT Capabilities */
1135#define IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895 0x00000000
1136#define IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 0x00000001
1137#define IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 0x00000002
1138#define IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ 0x00000004
1139#define IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ 0x00000008
1140#define IEEE80211_VHT_CAP_RXLDPC 0x00000010
1141#define IEEE80211_VHT_CAP_SHORT_GI_80 0x00000020
1142#define IEEE80211_VHT_CAP_SHORT_GI_160 0x00000040
1143#define IEEE80211_VHT_CAP_TXSTBC 0x00000080
1144#define IEEE80211_VHT_CAP_RXSTBC_1 0x00000100
1145#define IEEE80211_VHT_CAP_RXSTBC_2 0x00000200
1146#define IEEE80211_VHT_CAP_RXSTBC_3 0x00000300
1147#define IEEE80211_VHT_CAP_RXSTBC_4 0x00000400
1148#define IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE 0x00000800
1149#define IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE 0x00001000
1150#define IEEE80211_VHT_CAP_BEAMFORMER_ANTENNAS_MAX 0x00006000
1151#define IEEE80211_VHT_CAP_SOUNDING_DIMENTION_MAX 0x00030000
1152#define IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE 0x00080000
1153#define IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE 0x00100000
1154#define IEEE80211_VHT_CAP_VHT_TXOP_PS 0x00200000
1155#define IEEE80211_VHT_CAP_HTC_VHT 0x00400000
1156#define IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT 0x00800000
1157#define IEEE80211_VHT_CAP_VHT_LINK_ADAPTATION_VHT_UNSOL_MFB 0x08000000
1158#define IEEE80211_VHT_CAP_VHT_LINK_ADAPTATION_VHT_MRQ_MFB 0x0c000000
1159#define IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN 0x10000000
1160#define IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN 0x20000000
1161
1095/* Authentication algorithms */ 1162/* Authentication algorithms */
1096#define WLAN_AUTH_OPEN 0 1163#define WLAN_AUTH_OPEN 0
1097#define WLAN_AUTH_SHARED_KEY 1 1164#define WLAN_AUTH_SHARED_KEY 1
@@ -1352,6 +1419,9 @@ enum ieee80211_eid {
1352 WLAN_EID_DSE_REGISTERED_LOCATION = 58, 1419 WLAN_EID_DSE_REGISTERED_LOCATION = 58,
1353 WLAN_EID_SUPPORTED_REGULATORY_CLASSES = 59, 1420 WLAN_EID_SUPPORTED_REGULATORY_CLASSES = 59,
1354 WLAN_EID_EXT_CHANSWITCH_ANN = 60, 1421 WLAN_EID_EXT_CHANSWITCH_ANN = 60,
1422
1423 WLAN_EID_VHT_CAPABILITY = 191,
1424 WLAN_EID_VHT_OPERATION = 192,
1355}; 1425};
1356 1426
1357/* Action category code */ 1427/* Action category code */