123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- From: Felix Fietkau <nbd@nbd.name>
- Date: Tue, 11 Oct 2016 19:45:41 +0200
- Subject: [PATCH] Revert "ath9k_hw: implement temperature compensation support
- for AR9003+"
- This reverts commit 171f6402e4aa5cd3b8407f82501f7ea21fa54ccc.
- Some users report that this commit causes a regression in performance
- under some conditions.
- Signed-off-by: Felix Fietkau <nbd@nbd.name>
- ---
- --- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c
- +++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
- @@ -33,7 +33,6 @@ struct coeff {
-
- enum ar9003_cal_types {
- IQ_MISMATCH_CAL = BIT(0),
- - TEMP_COMP_CAL = BIT(1),
- };
-
- static void ar9003_hw_setup_calibration(struct ath_hw *ah,
- @@ -59,12 +58,6 @@ static void ar9003_hw_setup_calibration(
- /* Kick-off cal */
- REG_SET_BIT(ah, AR_PHY_TIMING4, AR_PHY_TIMING4_DO_CAL);
- break;
- - case TEMP_COMP_CAL:
- - ath_dbg(common, CALIBRATE,
- - "starting Temperature Compensation Calibration\n");
- - REG_SET_BIT(ah, AR_CH0_THERM, AR_CH0_THERM_LOCAL);
- - REG_SET_BIT(ah, AR_CH0_THERM, AR_CH0_THERM_START);
- - break;
- default:
- ath_err(common, "Invalid calibration type\n");
- break;
- @@ -93,8 +86,7 @@ static bool ar9003_hw_per_calibration(st
- /*
- * Accumulate cal measures for active chains
- */
- - if (cur_caldata->calCollect)
- - cur_caldata->calCollect(ah);
- + cur_caldata->calCollect(ah);
- ah->cal_samples++;
-
- if (ah->cal_samples >= cur_caldata->calNumSamples) {
- @@ -107,8 +99,7 @@ static bool ar9003_hw_per_calibration(st
- /*
- * Process accumulated data
- */
- - if (cur_caldata->calPostProc)
- - cur_caldata->calPostProc(ah, numChains);
- + cur_caldata->calPostProc(ah, numChains);
-
- /* Calibration has finished. */
- caldata->CalValid |= cur_caldata->calType;
- @@ -323,16 +314,9 @@ static const struct ath9k_percal_data iq
- ar9003_hw_iqcalibrate
- };
-
- -static const struct ath9k_percal_data temp_cal_single_sample = {
- - TEMP_COMP_CAL,
- - MIN_CAL_SAMPLES,
- - PER_MAX_LOG_COUNT,
- -};
- -
- static void ar9003_hw_init_cal_settings(struct ath_hw *ah)
- {
- ah->iq_caldata.calData = &iq_cal_single_sample;
- - ah->temp_caldata.calData = &temp_cal_single_sample;
-
- if (AR_SREV_9300_20_OR_LATER(ah)) {
- ah->enabled_cals |= TX_IQ_CAL;
- @@ -340,7 +324,7 @@ static void ar9003_hw_init_cal_settings(
- ah->enabled_cals |= TX_IQ_ON_AGC_CAL;
- }
-
- - ah->supp_cals = IQ_MISMATCH_CAL | TEMP_COMP_CAL;
- + ah->supp_cals = IQ_MISMATCH_CAL;
- }
-
- #define OFF_UPPER_LT 24
- @@ -1399,9 +1383,6 @@ static void ar9003_hw_init_cal_common(st
- INIT_CAL(&ah->iq_caldata);
- INSERT_CAL(ah, &ah->iq_caldata);
-
- - INIT_CAL(&ah->temp_caldata);
- - INSERT_CAL(ah, &ah->temp_caldata);
- -
- /* Initialize current pointer to first element in list */
- ah->cal_list_curr = ah->cal_list;
-
- --- a/drivers/net/wireless/ath/ath9k/hw.h
- +++ b/drivers/net/wireless/ath/ath9k/hw.h
- @@ -830,7 +830,6 @@ struct ath_hw {
- /* Calibration */
- u32 supp_cals;
- struct ath9k_cal_list iq_caldata;
- - struct ath9k_cal_list temp_caldata;
- struct ath9k_cal_list adcgain_caldata;
- struct ath9k_cal_list adcdc_caldata;
- struct ath9k_cal_list *cal_list;
|