diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-04-19 15:18:27 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-04-23 15:35:31 -0400 |
commit | e5d821a4ff5bdaba2281b213582e3da7edfb1d3f (patch) | |
tree | 92442702676ae27b166796a853a62eae2db8aa6b | |
parent | 7c5adc8d83c344dbad251091879baf1244007564 (diff) |
ath9k_hw: disable Tx IQ calibration on half/quarter channels
It does not work properly and reduces throughput.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ar9003_calib.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_calib.c b/drivers/net/wireless/ath/ath9k/ar9003_calib.c index 63089cc1fafd..a0387a027db0 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c | |||
@@ -1000,10 +1000,12 @@ static bool ar9003_hw_init_cal(struct ath_hw *ah, | |||
1000 | if (mci && IS_CHAN_2GHZ(chan) && run_agc_cal) | 1000 | if (mci && IS_CHAN_2GHZ(chan) && run_agc_cal) |
1001 | ar9003_mci_init_cal_req(ah, &is_reusable); | 1001 | ar9003_mci_init_cal_req(ah, &is_reusable); |
1002 | 1002 | ||
1003 | txiqcal_done = ar9003_hw_tx_iq_cal_run(ah); | 1003 | if (!(IS_CHAN_HALF_RATE(chan) || IS_CHAN_QUARTER_RATE(chan))) { |
1004 | REG_WRITE(ah, AR_PHY_ACTIVE, AR_PHY_ACTIVE_DIS); | 1004 | txiqcal_done = ar9003_hw_tx_iq_cal_run(ah); |
1005 | udelay(5); | 1005 | REG_WRITE(ah, AR_PHY_ACTIVE, AR_PHY_ACTIVE_DIS); |
1006 | REG_WRITE(ah, AR_PHY_ACTIVE, AR_PHY_ACTIVE_EN); | 1006 | udelay(5); |
1007 | REG_WRITE(ah, AR_PHY_ACTIVE, AR_PHY_ACTIVE_EN); | ||
1008 | } | ||
1007 | 1009 | ||
1008 | skip_tx_iqcal: | 1010 | skip_tx_iqcal: |
1009 | if (run_agc_cal || !(ah->ah_flags & AH_FASTCC)) { | 1011 | if (run_agc_cal || !(ah->ah_flags & AH_FASTCC)) { |