diff options
author | Ron Rindjunsky <ron.rindjunsky@intel.com> | 2008-05-15 01:53:55 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-05-21 21:47:52 -0400 |
commit | edcdf8b21ac920e06b4180246123fe43b022e020 (patch) | |
tree | f24622a574e9f8a2746339ae0460f555a6bdd3b0 /include/linux/ieee80211.h | |
parent | 0b794d63c5db8d010d1584c694eba97f0391fca6 (diff) |
mac80211: separate Tx and Rx MCS when configuring HT
This patch follows the 11n spec in separation between Tx and Rx MCS
capabilities. Up until now, when configuring the HT possible set of Tx
MCS only Rx MCS were considered, assuming they are the same as the Tx MCS.
This patch fixed this by looking at low level driver Tx capabilities.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/linux/ieee80211.h')
-rw-r--r-- | include/linux/ieee80211.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index a9102bc78b61..3c2ac0c37aa8 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -306,8 +306,18 @@ struct ieee80211_ht_addt_info { | |||
306 | #define IEEE80211_HT_CAP_SGI_40 0x0040 | 306 | #define IEEE80211_HT_CAP_SGI_40 0x0040 |
307 | #define IEEE80211_HT_CAP_DELAY_BA 0x0400 | 307 | #define IEEE80211_HT_CAP_DELAY_BA 0x0400 |
308 | #define IEEE80211_HT_CAP_MAX_AMSDU 0x0800 | 308 | #define IEEE80211_HT_CAP_MAX_AMSDU 0x0800 |
309 | /* 802.11n HT capability AMPDU settings */ | ||
309 | #define IEEE80211_HT_CAP_AMPDU_FACTOR 0x03 | 310 | #define IEEE80211_HT_CAP_AMPDU_FACTOR 0x03 |
310 | #define IEEE80211_HT_CAP_AMPDU_DENSITY 0x1C | 311 | #define IEEE80211_HT_CAP_AMPDU_DENSITY 0x1C |
312 | /* 802.11n HT capability MSC set */ | ||
313 | #define IEEE80211_SUPP_MCS_SET_UEQM 4 | ||
314 | #define IEEE80211_HT_CAP_MAX_STREAMS 4 | ||
315 | #define IEEE80211_SUPP_MCS_SET_LEN 10 | ||
316 | /* maximum streams the spec allows */ | ||
317 | #define IEEE80211_HT_CAP_MCS_TX_DEFINED 0x01 | ||
318 | #define IEEE80211_HT_CAP_MCS_TX_RX_DIFF 0x02 | ||
319 | #define IEEE80211_HT_CAP_MCS_TX_STREAMS 0x0C | ||
320 | #define IEEE80211_HT_CAP_MCS_TX_UEQM 0x10 | ||
311 | /* 802.11n HT IE masks */ | 321 | /* 802.11n HT IE masks */ |
312 | #define IEEE80211_HT_IE_CHA_SEC_OFFSET 0x03 | 322 | #define IEEE80211_HT_IE_CHA_SEC_OFFSET 0x03 |
313 | #define IEEE80211_HT_IE_CHA_WIDTH 0x04 | 323 | #define IEEE80211_HT_IE_CHA_WIDTH 0x04 |
@@ -316,10 +326,10 @@ struct ieee80211_ht_addt_info { | |||
316 | #define IEEE80211_HT_IE_NON_HT_STA_PRSNT 0x0010 | 326 | #define IEEE80211_HT_IE_NON_HT_STA_PRSNT 0x0010 |
317 | 327 | ||
318 | /* MIMO Power Save Modes */ | 328 | /* MIMO Power Save Modes */ |
319 | #define WLAN_HT_CAP_MIMO_PS_STATIC 0 | 329 | #define WLAN_HT_CAP_MIMO_PS_STATIC 0 |
320 | #define WLAN_HT_CAP_MIMO_PS_DYNAMIC 1 | 330 | #define WLAN_HT_CAP_MIMO_PS_DYNAMIC 1 |
321 | #define WLAN_HT_CAP_MIMO_PS_INVALID 2 | 331 | #define WLAN_HT_CAP_MIMO_PS_INVALID 2 |
322 | #define WLAN_HT_CAP_MIMO_PS_DISABLED 3 | 332 | #define WLAN_HT_CAP_MIMO_PS_DISABLED 3 |
323 | 333 | ||
324 | /* Authentication algorithms */ | 334 | /* Authentication algorithms */ |
325 | #define WLAN_AUTH_OPEN 0 | 335 | #define WLAN_AUTH_OPEN 0 |