diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-15 06:34:57 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-17 22:21:12 -0400 |
commit | 51cb6db0f5654f08a4a6bfa3888dc36a51c2df3e (patch) | |
tree | b9103a34674efeca9ffa2f9ef9cec1ee9735ab9d /net/mac80211/ieee80211_i.h | |
parent | eae792b722fef08dcf3aee88266ee7def9710757 (diff) |
mac80211: Reimplement WME using ->select_queue().
The only behavior change is that we do not drop packets under any
circumstances. If that is absolutely needed, we could easily add it
back.
With cleanups and help from Johannes Berg.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index cbea0154ee3a..a4f9a832722a 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/etherdevice.h> | 25 | #include <linux/etherdevice.h> |
26 | #include <net/wireless.h> | 26 | #include <net/wireless.h> |
27 | #include <net/iw_handler.h> | 27 | #include <net/iw_handler.h> |
28 | #include <net/mac80211.h> | ||
28 | #include "key.h" | 29 | #include "key.h" |
29 | #include "sta_info.h" | 30 | #include "sta_info.h" |
30 | 31 | ||
@@ -537,6 +538,9 @@ enum { | |||
537 | IEEE80211_ADDBA_MSG = 4, | 538 | IEEE80211_ADDBA_MSG = 4, |
538 | }; | 539 | }; |
539 | 540 | ||
541 | /* maximum number of hardware queues we support. */ | ||
542 | #define QD_MAX_QUEUES (IEEE80211_MAX_AMPDU_QUEUES + IEEE80211_MAX_QUEUES) | ||
543 | |||
540 | struct ieee80211_local { | 544 | struct ieee80211_local { |
541 | /* embed the driver visible part. | 545 | /* embed the driver visible part. |
542 | * don't cast (use the static inlines below), but we keep | 546 | * don't cast (use the static inlines below), but we keep |
@@ -545,6 +549,8 @@ struct ieee80211_local { | |||
545 | 549 | ||
546 | const struct ieee80211_ops *ops; | 550 | const struct ieee80211_ops *ops; |
547 | 551 | ||
552 | unsigned long queue_pool[BITS_TO_LONGS(QD_MAX_QUEUES)]; | ||
553 | |||
548 | struct net_device *mdev; /* wmaster# - "master" 802.11 device */ | 554 | struct net_device *mdev; /* wmaster# - "master" 802.11 device */ |
549 | int open_count; | 555 | int open_count; |
550 | int monitors, cooked_mntrs; | 556 | int monitors, cooked_mntrs; |
@@ -740,15 +746,6 @@ struct ieee80211_local { | |||
740 | #endif | 746 | #endif |
741 | }; | 747 | }; |
742 | 748 | ||
743 | static inline int ieee80211_is_multiqueue(struct ieee80211_local *local) | ||
744 | { | ||
745 | #ifdef CONFIG_MAC80211_QOS | ||
746 | return netif_is_multiqueue(local->mdev); | ||
747 | #else | ||
748 | return 0; | ||
749 | #endif | ||
750 | } | ||
751 | |||
752 | static inline struct ieee80211_sub_if_data * | 749 | static inline struct ieee80211_sub_if_data * |
753 | IEEE80211_DEV_TO_SUB_IF(struct net_device *dev) | 750 | IEEE80211_DEV_TO_SUB_IF(struct net_device *dev) |
754 | { | 751 | { |