123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- From: Matthias Schiffer <mschiffer@universe-factory.net>
- Date: Tue, 11 Oct 2016 02:54:27 +0200
- Subject: ath9k: revert temperature compensation support patch (FS#111)
- Signed-off-by: Felix Fietkau <nbd@nbd.name>
- Backport of LEDE 3e4d0e3e77dcf9b2116e5ed53f30e2bf53b1c6b7
- diff --git a/package/kernel/mac80211/patches/328-ath9k_hw-implement-temperature-compensation-support-.patch b/package/kernel/mac80211/patches/328-ath9k_hw-implement-temperature-compensation-support-.patch
- deleted file mode 100644
- index cff32ad47cb0b905d9cfa4eb021258b644b2a47a..0000000000000000000000000000000000000000
- --- a/package/kernel/mac80211/patches/328-ath9k_hw-implement-temperature-compensation-support-.patch
- +++ /dev/null
- @@ -1,97 +0,0 @@
- -From: Felix Fietkau <nbd@nbd.name>
- -Date: Mon, 11 Jul 2016 11:35:55 +0200
- -Subject: [PATCH] ath9k_hw: implement temperature compensation support for
- - AR9003+
- -
- -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,6 +33,7 @@ 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,
- -@@ -58,6 +59,12 @@ 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;
- -@@ -86,7 +93,8 @@ static bool ar9003_hw_per_calibration(st
- - /*
- - * Accumulate cal measures for active chains
- - */
- -- cur_caldata->calCollect(ah);
- -+ if (cur_caldata->calCollect)
- -+ cur_caldata->calCollect(ah);
- - ah->cal_samples++;
- -
- - if (ah->cal_samples >= cur_caldata->calNumSamples) {
- -@@ -99,7 +107,8 @@ static bool ar9003_hw_per_calibration(st
- - /*
- - * Process accumulated data
- - */
- -- cur_caldata->calPostProc(ah, numChains);
- -+ if (cur_caldata->calPostProc)
- -+ cur_caldata->calPostProc(ah, numChains);
- -
- - /* Calibration has finished. */
- - caldata->CalValid |= cur_caldata->calType;
- -@@ -314,9 +323,16 @@ 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;
- -@@ -324,7 +340,7 @@ static void ar9003_hw_init_cal_settings(
- - ah->enabled_cals |= TX_IQ_ON_AGC_CAL;
- - }
- -
- -- ah->supp_cals = IQ_MISMATCH_CAL;
- -+ ah->supp_cals = IQ_MISMATCH_CAL | TEMP_COMP_CAL;
- - }
- -
- - #define OFF_UPPER_LT 24
- -@@ -1383,6 +1399,9 @@ 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,6 +830,7 @@ 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;
- diff --git a/package/kernel/mac80211/patches/542-ath9k_debugfs_diag.patch b/package/kernel/mac80211/patches/542-ath9k_debugfs_diag.patch
- index 461564350feb43410e5c702a8a67514cdfaa3961..6edef0975431165285a7b937442b5d89b362c807 100644
- --- a/package/kernel/mac80211/patches/542-ath9k_debugfs_diag.patch
- +++ b/package/kernel/mac80211/patches/542-ath9k_debugfs_diag.patch
- @@ -84,7 +84,7 @@
- bool reset_power_on;
- bool htc_reset_init;
-
- -@@ -1068,6 +1076,7 @@ void ath9k_hw_check_nav(struct ath_hw *a
- +@@ -1067,6 +1075,7 @@ void ath9k_hw_check_nav(struct ath_hw *a
- bool ath9k_hw_check_alive(struct ath_hw *ah);
-
- bool ath9k_hw_setpower(struct ath_hw *ah, enum ath9k_power_mode mode);
|