diff options
author | Ivo van Doorn <ivdoorn@gmail.com> | 2009-04-26 10:09:32 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-05-06 15:14:50 -0400 |
commit | 35f00cfcc06bb85e0659f9847400518008d78145 (patch) | |
tree | dccebd4dd7cde975d857d1fb3f28dd1e467fa72f /drivers/net/wireless/rt2x00/rt2x00lib.h | |
parent | 9f1661718c7fcf82e25c6aed20b729ee372d9d65 (diff) |
rt2x00: Implement support for 802.11n
Extend rt2x00lib capabilities to support 802.11n,
it still lacks aggregation support, but that can
be added in the future.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00lib.h')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00lib.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00lib.h b/drivers/net/wireless/rt2x00/rt2x00lib.h index aa284e48d2c2..ccc7ba4f3181 100644 --- a/drivers/net/wireless/rt2x00/rt2x00lib.h +++ b/drivers/net/wireless/rt2x00/rt2x00lib.h | |||
@@ -48,6 +48,7 @@ struct rt2x00_rate { | |||
48 | unsigned short ratemask; | 48 | unsigned short ratemask; |
49 | 49 | ||
50 | unsigned short plcp; | 50 | unsigned short plcp; |
51 | unsigned short mcs; | ||
51 | }; | 52 | }; |
52 | 53 | ||
53 | extern const struct rt2x00_rate rt2x00_supported_rates[12]; | 54 | extern const struct rt2x00_rate rt2x00_supported_rates[12]; |
@@ -57,6 +58,14 @@ static inline const struct rt2x00_rate *rt2x00_get_rate(const u16 hw_value) | |||
57 | return &rt2x00_supported_rates[hw_value & 0xff]; | 58 | return &rt2x00_supported_rates[hw_value & 0xff]; |
58 | } | 59 | } |
59 | 60 | ||
61 | #define RATE_MCS(__mode, __mcs) \ | ||
62 | ( (((__mode) & 0x00ff) << 8) | ((__mcs) & 0x00ff) ) | ||
63 | |||
64 | static inline int rt2x00_get_rate_mcs(const u16 mcs_value) | ||
65 | { | ||
66 | return (mcs_value & 0x00ff); | ||
67 | } | ||
68 | |||
60 | /* | 69 | /* |
61 | * Radio control handlers. | 70 | * Radio control handlers. |
62 | */ | 71 | */ |
@@ -360,6 +369,21 @@ static inline void rt2x00crypto_rx_insert_iv(struct sk_buff *skb, bool l2pad, | |||
360 | #endif /* CONFIG_RT2X00_LIB_CRYPTO */ | 369 | #endif /* CONFIG_RT2X00_LIB_CRYPTO */ |
361 | 370 | ||
362 | /* | 371 | /* |
372 | * HT handlers. | ||
373 | */ | ||
374 | #ifdef CONFIG_RT2X00_LIB_HT | ||
375 | void rt2x00ht_create_tx_descriptor(struct queue_entry *entry, | ||
376 | struct txentry_desc *txdesc, | ||
377 | const struct rt2x00_rate *hwrate); | ||
378 | #else | ||
379 | static inline void rt2x00ht_create_tx_descriptor(struct queue_entry *entry, | ||
380 | struct txentry_desc *txdesc, | ||
381 | const struct rt2x00_rate *hwrate) | ||
382 | { | ||
383 | } | ||
384 | #endif /* CONFIG_RT2X00_LIB_HT */ | ||
385 | |||
386 | /* | ||
363 | * RFkill handlers. | 387 | * RFkill handlers. |
364 | */ | 388 | */ |
365 | #ifdef CONFIG_RT2X00_LIB_RFKILL | 389 | #ifdef CONFIG_RT2X00_LIB_RFKILL |