ath9k: Check explicitly for IQ calibration
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Fri, 7 Feb 2014 04:59:50 +0000 (10:29 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 12 Feb 2014 20:36:06 +0000 (15:36 -0500)
In chips like AR955x, the initvals contain the information
whether IQ calibration is to be done in the HW when an
AGC calibration is triggered. Check if IQ-CAL is enabled
in the initvals before flagging 'txiqcal_done' as true.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ar9003_calib.c

index 53f7895..834295d 100644 (file)
@@ -1482,7 +1482,12 @@ static bool ar9003_hw_init_cal_soc(struct ath_hw *ah,
         * AGC calibration. Specifically, AR9550 in SoC chips.
         */
        if (ah->enabled_cals & TX_IQ_ON_AGC_CAL) {
-               txiqcal_done = true;
+               if (REG_READ_FIELD(ah, AR_PHY_TX_IQCAL_CONTROL_0,
+                                  AR_PHY_TX_IQCAL_CONTROL_0_ENABLE_TXIQ_CAL)) {
+                               txiqcal_done = true;
+               } else {
+                       txiqcal_done = false;
+               }
                run_agc_cal = true;
        } else {
                sep_iq_cal = true;