Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 202766
b: refs/heads/master
c: afe8628
h: refs/heads/master
v: v3
  • Loading branch information
Bruno Randolf authored and John W. Linville committed Jun 2, 2010
1 parent e612586 commit 6445fe1
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0e8e02dddc528f1c650ba13bb3b61e818c39dd2f
refs/heads/master: afe86286a166881d2ae7ce4469036735254d1263
2 changes: 2 additions & 0 deletions trunk/drivers/net/wireless/ath/ath5k/ath5k.h
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,7 @@
#define AR5K_TUNE_TPC_TXPOWER false
#define ATH5K_TUNE_CALIBRATION_INTERVAL_FULL 10000 /* 10 sec */
#define ATH5K_TUNE_CALIBRATION_INTERVAL_ANI 1000 /* 1 sec */
#define ATH5K_TUNE_CALIBRATION_INTERVAL_NF 60000 /* 60 sec */

#define AR5K_INIT_CARR_SENSE_EN 1

Expand Down Expand Up @@ -1118,6 +1119,7 @@ struct ath5k_hw {
/* Calibration timestamp */
unsigned long ah_cal_next_full;
unsigned long ah_cal_next_ani;
unsigned long ah_cal_next_nf;

/* Calibration mask */
u8 ah_cal_mask;
Expand Down
18 changes: 11 additions & 7 deletions trunk/drivers/net/wireless/ath/ath5k/base.c
Original file line number Diff line number Diff line change
Expand Up @@ -2803,14 +2803,16 @@ ath5k_tasklet_calibrate(unsigned long data)
ieee80211_frequency_to_channel(
sc->curchan->center_freq));

/* TODO: We don't need to run noise floor calibration as often
* as I/Q calibration.*/

/* Noise floor calibration interrupts rx/tx path while I/Q calibration
* doesn't. Stop queues so that calibration doesn't interfere with tx */
ieee80211_stop_queues(sc->hw);
ath5k_hw_update_noise_floor(ah);
ieee80211_wake_queues(sc->hw);
* doesn't. We stop the queues so that calibration doesn't interfere
* with TX and don't run it as often */
if (time_is_before_eq_jiffies(ah->ah_cal_next_nf)) {
ah->ah_cal_next_nf = jiffies +
msecs_to_jiffies(ATH5K_TUNE_CALIBRATION_INTERVAL_NF);
ieee80211_stop_queues(sc->hw);
ath5k_hw_update_noise_floor(ah);
ieee80211_wake_queues(sc->hw);
}

ah->ah_cal_mask &= ~AR5K_CALIBRATION_FULL;
}
Expand Down Expand Up @@ -2931,6 +2933,8 @@ ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan)

ah->ah_cal_next_full = jiffies;
ah->ah_cal_next_ani = jiffies;
ah->ah_cal_next_nf = jiffies;

/*
* Change channels and update the h/w rate map if we're switching;
* e.g. 11a to 11b/g.
Expand Down

0 comments on commit 6445fe1

Please sign in to comment.