diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2010-05-19 16:45:50 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-02 16:13:28 -0400 |
commit | c5395b67437b47c4a4c0686d3db99be9327ef67e (patch) | |
tree | 6a382391a51f1899cdb92c63de7d79cf8fa53b41 /drivers/net/wireless/ath/ath9k/ar9003_calib.c | |
parent | 252aa631f88080920a7083ac5a5844ffc5463629 (diff) |
ath9k_hw: Enable TX IQ calibration on AR9003
To enable it we now disable and re-enable the PHY chips
after TX IQ calibration.
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ar9003_calib.c')
-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 56a9e5fa6d66..5a0650399136 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c | |||
@@ -739,6 +739,12 @@ static bool ar9003_hw_init_cal(struct ath_hw *ah, | |||
739 | */ | 739 | */ |
740 | ar9003_hw_set_chain_masks(ah, 0x7, 0x7); | 740 | ar9003_hw_set_chain_masks(ah, 0x7, 0x7); |
741 | 741 | ||
742 | /* Do Tx IQ Calibration */ | ||
743 | ar9003_hw_tx_iq_cal(ah); | ||
744 | REG_WRITE(ah, AR_PHY_ACTIVE, AR_PHY_ACTIVE_DIS); | ||
745 | udelay(5); | ||
746 | REG_WRITE(ah, AR_PHY_ACTIVE, AR_PHY_ACTIVE_EN); | ||
747 | |||
742 | /* Calibrate the AGC */ | 748 | /* Calibrate the AGC */ |
743 | REG_WRITE(ah, AR_PHY_AGC_CONTROL, | 749 | REG_WRITE(ah, AR_PHY_AGC_CONTROL, |
744 | REG_READ(ah, AR_PHY_AGC_CONTROL) | | 750 | REG_READ(ah, AR_PHY_AGC_CONTROL) | |
@@ -753,10 +759,6 @@ static bool ar9003_hw_init_cal(struct ath_hw *ah, | |||
753 | return false; | 759 | return false; |
754 | } | 760 | } |
755 | 761 | ||
756 | /* Do Tx IQ Calibration */ | ||
757 | if (ah->config.tx_iq_calibration) | ||
758 | ar9003_hw_tx_iq_cal(ah); | ||
759 | |||
760 | /* Revert chainmasks to their original values before NF cal */ | 762 | /* Revert chainmasks to their original values before NF cal */ |
761 | ar9003_hw_set_chain_masks(ah, ah->rxchainmask, ah->txchainmask); | 763 | ar9003_hw_set_chain_masks(ah, ah->rxchainmask, ah->txchainmask); |
762 | 764 | ||