diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-05-16 18:57:14 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-05-21 21:48:14 -0400 |
commit | e2530083609148a7835b54c431f6b8956407c1f6 (patch) | |
tree | 8ed43347541444c7a72d2c79f550f69a93cad591 /net/mac80211/ieee80211_i.h | |
parent | eefce91a384a64c7bbf913eb08c4adfb911c3639 (diff) |
mac80211: use multi-queue master netdevice
This patch updates mac80211 and drivers to be multi-queue aware and
use that instead of the internal queue mapping. Also does a number
of cleanups in various pieces of the code that fall out and reduces
internal mac80211 state size.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 86a861251e8c..7d614cdcefcb 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -594,7 +594,7 @@ struct ieee80211_local { | |||
594 | struct sta_info *sta_hash[STA_HASH_SIZE]; | 594 | struct sta_info *sta_hash[STA_HASH_SIZE]; |
595 | struct timer_list sta_cleanup; | 595 | struct timer_list sta_cleanup; |
596 | 596 | ||
597 | unsigned long state[IEEE80211_MAX_QUEUES + IEEE80211_MAX_AMPDU_QUEUES]; | 597 | unsigned long queues_pending[BITS_TO_LONGS(IEEE80211_MAX_QUEUES)]; |
598 | struct ieee80211_tx_stored_packet pending_packet[IEEE80211_MAX_QUEUES]; | 598 | struct ieee80211_tx_stored_packet pending_packet[IEEE80211_MAX_QUEUES]; |
599 | struct tasklet_struct tx_pending_tasklet; | 599 | struct tasklet_struct tx_pending_tasklet; |
600 | 600 | ||
@@ -758,6 +758,15 @@ struct ieee80211_local { | |||
758 | #endif | 758 | #endif |
759 | }; | 759 | }; |
760 | 760 | ||
761 | static inline int ieee80211_is_multiqueue(struct ieee80211_local *local) | ||
762 | { | ||
763 | #ifdef CONFIG_MAC80211_QOS | ||
764 | return netif_is_multiqueue(local->mdev); | ||
765 | #else | ||
766 | return 0; | ||
767 | #endif | ||
768 | } | ||
769 | |||
761 | /* this struct represents 802.11n's RA/TID combination */ | 770 | /* this struct represents 802.11n's RA/TID combination */ |
762 | struct ieee80211_ra_tid { | 771 | struct ieee80211_ra_tid { |
763 | u8 ra[ETH_ALEN]; | 772 | u8 ra[ETH_ALEN]; |
@@ -827,11 +836,6 @@ static inline struct ieee80211_hw *local_to_hw( | |||
827 | return &local->hw; | 836 | return &local->hw; |
828 | } | 837 | } |
829 | 838 | ||
830 | enum ieee80211_link_state_t { | ||
831 | IEEE80211_LINK_STATE_XOFF = 0, | ||
832 | IEEE80211_LINK_STATE_PENDING, | ||
833 | }; | ||
834 | |||
835 | struct sta_attribute { | 839 | struct sta_attribute { |
836 | struct attribute attr; | 840 | struct attribute attr; |
837 | ssize_t (*show)(const struct sta_info *, char *buf); | 841 | ssize_t (*show)(const struct sta_info *, char *buf); |