diff options
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 2cb743ed9f9c..e2bbd3f11797 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -564,12 +564,10 @@ enum { | |||
564 | enum queue_stop_reason { | 564 | enum queue_stop_reason { |
565 | IEEE80211_QUEUE_STOP_REASON_DRIVER, | 565 | IEEE80211_QUEUE_STOP_REASON_DRIVER, |
566 | IEEE80211_QUEUE_STOP_REASON_PS, | 566 | IEEE80211_QUEUE_STOP_REASON_PS, |
567 | IEEE80211_QUEUE_STOP_REASON_CSA | 567 | IEEE80211_QUEUE_STOP_REASON_CSA, |
568 | IEEE80211_QUEUE_STOP_REASON_AGGREGATION, | ||
568 | }; | 569 | }; |
569 | 570 | ||
570 | /* maximum number of hardware queues we support. */ | ||
571 | #define QD_MAX_QUEUES (IEEE80211_MAX_AMPDU_QUEUES + IEEE80211_MAX_QUEUES) | ||
572 | |||
573 | struct ieee80211_master_priv { | 571 | struct ieee80211_master_priv { |
574 | struct ieee80211_local *local; | 572 | struct ieee80211_local *local; |
575 | }; | 573 | }; |
@@ -582,9 +580,15 @@ struct ieee80211_local { | |||
582 | 580 | ||
583 | const struct ieee80211_ops *ops; | 581 | const struct ieee80211_ops *ops; |
584 | 582 | ||
585 | unsigned long queue_pool[BITS_TO_LONGS(QD_MAX_QUEUES)]; | 583 | /* AC queue corresponding to each AMPDU queue */ |
586 | unsigned long queue_stop_reasons[IEEE80211_MAX_QUEUES]; | 584 | s8 ampdu_ac_queue[IEEE80211_MAX_AMPDU_QUEUES]; |
585 | unsigned int amdpu_ac_stop_refcnt[IEEE80211_MAX_AMPDU_QUEUES]; | ||
586 | |||
587 | unsigned long queue_stop_reasons[IEEE80211_MAX_QUEUES + | ||
588 | IEEE80211_MAX_AMPDU_QUEUES]; | ||
589 | /* also used to protect ampdu_ac_queue and amdpu_ac_stop_refcnt */ | ||
587 | spinlock_t queue_stop_reason_lock; | 590 | spinlock_t queue_stop_reason_lock; |
591 | |||
588 | struct net_device *mdev; /* wmaster# - "master" 802.11 device */ | 592 | struct net_device *mdev; /* wmaster# - "master" 802.11 device */ |
589 | int open_count; | 593 | int open_count; |
590 | int monitors, cooked_mntrs; | 594 | int monitors, cooked_mntrs; |
@@ -1042,6 +1046,10 @@ void ieee80211_wake_queues_by_reason(struct ieee80211_hw *hw, | |||
1042 | enum queue_stop_reason reason); | 1046 | enum queue_stop_reason reason); |
1043 | void ieee80211_stop_queues_by_reason(struct ieee80211_hw *hw, | 1047 | void ieee80211_stop_queues_by_reason(struct ieee80211_hw *hw, |
1044 | enum queue_stop_reason reason); | 1048 | enum queue_stop_reason reason); |
1049 | void ieee80211_wake_queue_by_reason(struct ieee80211_hw *hw, int queue, | ||
1050 | enum queue_stop_reason reason); | ||
1051 | void ieee80211_stop_queue_by_reason(struct ieee80211_hw *hw, int queue, | ||
1052 | enum queue_stop_reason reason); | ||
1045 | 1053 | ||
1046 | #ifdef CONFIG_MAC80211_NOINLINE | 1054 | #ifdef CONFIG_MAC80211_NOINLINE |
1047 | #define debug_noinline noinline | 1055 | #define debug_noinline noinline |