diff options
author | Jouni Malinen <jouni.malinen@atheros.com> | 2009-03-03 12:23:39 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-03-05 14:39:48 -0500 |
commit | f98c3bd24161e9aaa73b9cd4dc6b1742c085ac17 (patch) | |
tree | 82a34790535b773f8d2d6b59a715385dc40b3ef9 /drivers/net/wireless/ath9k/ath9k.h | |
parent | 8089cc47ed45df8f5a44f92f53140e6fd0958409 (diff) |
ath9k: Add a simple virtual wiphy scheduler
This is a very simple scheduler that goes through the wiphys and
schedules one at a time every N milliseconds (current default value:
500 ms). This is enough for initial testing, but there are number of
areas where a more complex scheduler can improve operations greatly.
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath9k/ath9k.h')
-rw-r--r-- | drivers/net/wireless/ath9k/ath9k.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/ath9k/ath9k.h index 983f53daa1cc..f0b105a11ae2 100644 --- a/drivers/net/wireless/ath9k/ath9k.h +++ b/drivers/net/wireless/ath9k/ath9k.h | |||
@@ -569,6 +569,9 @@ struct ath_softc { | |||
569 | struct work_struct chan_work; | 569 | struct work_struct chan_work; |
570 | int wiphy_select_failures; | 570 | int wiphy_select_failures; |
571 | unsigned long wiphy_select_first_fail; | 571 | unsigned long wiphy_select_first_fail; |
572 | struct delayed_work wiphy_work; | ||
573 | unsigned long wiphy_scheduler_int; | ||
574 | int wiphy_scheduler_index; | ||
572 | 575 | ||
573 | struct tasklet_struct intr_tq; | 576 | struct tasklet_struct intr_tq; |
574 | struct tasklet_struct bcon_tasklet; | 577 | struct tasklet_struct bcon_tasklet; |
@@ -713,10 +716,12 @@ void ath9k_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb); | |||
713 | int ath9k_wiphy_pause(struct ath_wiphy *aphy); | 716 | int ath9k_wiphy_pause(struct ath_wiphy *aphy); |
714 | int ath9k_wiphy_unpause(struct ath_wiphy *aphy); | 717 | int ath9k_wiphy_unpause(struct ath_wiphy *aphy); |
715 | int ath9k_wiphy_select(struct ath_wiphy *aphy); | 718 | int ath9k_wiphy_select(struct ath_wiphy *aphy); |
719 | void ath9k_wiphy_set_scheduler(struct ath_softc *sc, unsigned int msec_int); | ||
716 | void ath9k_wiphy_chan_work(struct work_struct *work); | 720 | void ath9k_wiphy_chan_work(struct work_struct *work); |
717 | bool ath9k_wiphy_started(struct ath_softc *sc); | 721 | bool ath9k_wiphy_started(struct ath_softc *sc); |
718 | void ath9k_wiphy_pause_all_forced(struct ath_softc *sc, | 722 | void ath9k_wiphy_pause_all_forced(struct ath_softc *sc, |
719 | struct ath_wiphy *selected); | 723 | struct ath_wiphy *selected); |
720 | bool ath9k_wiphy_scanning(struct ath_softc *sc); | 724 | bool ath9k_wiphy_scanning(struct ath_softc *sc); |
725 | void ath9k_wiphy_work(struct work_struct *work); | ||
721 | 726 | ||
722 | #endif /* ATH9K_H */ | 727 | #endif /* ATH9K_H */ |