diff options
author | Mahesh Palivela <maheshp@posedge.com> | 2012-06-22 03:27:46 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-06-28 07:08:32 -0400 |
commit | ce0e169529a2db1cd910d2d45a5713fcdc29f6e1 (patch) | |
tree | 3177bec92185da55d77751f824a3a303bf907ed4 /include/linux/ieee80211.h | |
parent | c9b22fb87a00ceb8afa78089d5cf676cf8b3319d (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.h | 70 |
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 | |||
1097 | struct ieee80211_vht_capabilities { | ||
1098 | __le32 vht_capabilities_info; | ||
1099 | u8 vht_supported_mcs_set[VHT_MCS_SUPPORTED_SET_SIZE]; | ||
1100 | } __packed; | ||
1101 | |||
1102 | struct 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 | */ | ||
1122 | struct 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 */ |