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>
This commit is contained in:

committed by
John W. Linville

parent
eefce91a38
commit
e253008360
@@ -293,7 +293,7 @@ struct ieee80211_tx_info {
|
||||
s8 tx_rate_idx;
|
||||
u8 antenna_sel_tx;
|
||||
|
||||
u8 queue; /* use skb_queue_mapping soon */
|
||||
/* 1 byte hole */
|
||||
|
||||
union {
|
||||
struct {
|
||||
@@ -802,6 +802,24 @@ static inline void SET_IEEE80211_PERM_ADDR(struct ieee80211_hw *hw, u8 *addr)
|
||||
memcpy(hw->wiphy->perm_addr, addr, ETH_ALEN);
|
||||
}
|
||||
|
||||
static inline int ieee80211_num_regular_queues(struct ieee80211_hw *hw)
|
||||
{
|
||||
#ifdef CONFIG_MAC80211_QOS
|
||||
return hw->queues;
|
||||
#else
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline int ieee80211_num_queues(struct ieee80211_hw *hw)
|
||||
{
|
||||
#ifdef CONFIG_MAC80211_QOS
|
||||
return hw->queues + hw->ampdu_queues;
|
||||
#else
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline struct ieee80211_rate *
|
||||
ieee80211_get_tx_rate(const struct ieee80211_hw *hw,
|
||||
const struct ieee80211_tx_info *c)
|
||||
|
Reference in New Issue
Block a user