1e5b7c17b0
Based on patch by Bryan Forbes <bryan@reigndropsfall.net> Also update mt76 to update for API changes Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44655
156 lines
5.3 KiB
Diff
156 lines
5.3 KiB
Diff
--- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c
|
|
@@ -944,55 +944,6 @@ static bool ar5008_hw_ani_control_new(st
|
|
* on == 0 means more noise imm
|
|
*/
|
|
u32 on = param ? 1 : 0;
|
|
- /*
|
|
- * make register setting for default
|
|
- * (weak sig detect ON) come from INI file
|
|
- */
|
|
- int m1ThreshLow = on ?
|
|
- aniState->iniDef.m1ThreshLow : m1ThreshLow_off;
|
|
- int m2ThreshLow = on ?
|
|
- aniState->iniDef.m2ThreshLow : m2ThreshLow_off;
|
|
- int m1Thresh = on ?
|
|
- aniState->iniDef.m1Thresh : m1Thresh_off;
|
|
- int m2Thresh = on ?
|
|
- aniState->iniDef.m2Thresh : m2Thresh_off;
|
|
- int m2CountThr = on ?
|
|
- aniState->iniDef.m2CountThr : m2CountThr_off;
|
|
- int m2CountThrLow = on ?
|
|
- aniState->iniDef.m2CountThrLow : m2CountThrLow_off;
|
|
- int m1ThreshLowExt = on ?
|
|
- aniState->iniDef.m1ThreshLowExt : m1ThreshLowExt_off;
|
|
- int m2ThreshLowExt = on ?
|
|
- aniState->iniDef.m2ThreshLowExt : m2ThreshLowExt_off;
|
|
- int m1ThreshExt = on ?
|
|
- aniState->iniDef.m1ThreshExt : m1ThreshExt_off;
|
|
- int m2ThreshExt = on ?
|
|
- aniState->iniDef.m2ThreshExt : m2ThreshExt_off;
|
|
-
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW,
|
|
- AR_PHY_SFCORR_LOW_M1_THRESH_LOW,
|
|
- m1ThreshLow);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW,
|
|
- AR_PHY_SFCORR_LOW_M2_THRESH_LOW,
|
|
- m2ThreshLow);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR,
|
|
- AR_PHY_SFCORR_M1_THRESH, m1Thresh);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR,
|
|
- AR_PHY_SFCORR_M2_THRESH, m2Thresh);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR,
|
|
- AR_PHY_SFCORR_M2COUNT_THR, m2CountThr);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW,
|
|
- AR_PHY_SFCORR_LOW_M2COUNT_THR_LOW,
|
|
- m2CountThrLow);
|
|
-
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT,
|
|
- AR_PHY_SFCORR_EXT_M1_THRESH_LOW, m1ThreshLowExt);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT,
|
|
- AR_PHY_SFCORR_EXT_M2_THRESH_LOW, m2ThreshLowExt);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT,
|
|
- AR_PHY_SFCORR_EXT_M1_THRESH, m1ThreshExt);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT,
|
|
- AR_PHY_SFCORR_EXT_M2_THRESH, m2ThreshExt);
|
|
|
|
if (on)
|
|
REG_SET_BIT(ah, AR_PHY_SFCORR_LOW,
|
|
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
|
|
@@ -41,20 +41,6 @@ static const int cycpwrThr1_table[] =
|
|
/* level: 0 1 2 3 4 5 6 7 8 */
|
|
{ -6, -4, -2, 0, 2, 4, 6, 8 }; /* lvl 0-7, default 3 */
|
|
|
|
-/*
|
|
- * register values to turn OFDM weak signal detection OFF
|
|
- */
|
|
-static const int m1ThreshLow_off = 127;
|
|
-static const int m2ThreshLow_off = 127;
|
|
-static const int m1Thresh_off = 127;
|
|
-static const int m2Thresh_off = 127;
|
|
-static const int m2CountThr_off = 31;
|
|
-static const int m2CountThrLow_off = 63;
|
|
-static const int m1ThreshLowExt_off = 127;
|
|
-static const int m2ThreshLowExt_off = 127;
|
|
-static const int m1ThreshExt_off = 127;
|
|
-static const int m2ThreshExt_off = 127;
|
|
-
|
|
static const u8 ofdm2pwr[] = {
|
|
ALL_TARGET_LEGACY_6_24,
|
|
ALL_TARGET_LEGACY_6_24,
|
|
@@ -1090,11 +1076,6 @@ static bool ar9003_hw_ani_control(struct
|
|
struct ath_common *common = ath9k_hw_common(ah);
|
|
struct ath9k_channel *chan = ah->curchan;
|
|
struct ar5416AniState *aniState = &ah->ani;
|
|
- int m1ThreshLow, m2ThreshLow;
|
|
- int m1Thresh, m2Thresh;
|
|
- int m2CountThr, m2CountThrLow;
|
|
- int m1ThreshLowExt, m2ThreshLowExt;
|
|
- int m1ThreshExt, m2ThreshExt;
|
|
s32 value, value2;
|
|
|
|
switch (cmd & ah->ani_function) {
|
|
@@ -1108,61 +1089,6 @@ static bool ar9003_hw_ani_control(struct
|
|
*/
|
|
u32 on = param ? 1 : 0;
|
|
|
|
- if (AR_SREV_9462(ah) || AR_SREV_9565(ah))
|
|
- goto skip_ws_det;
|
|
-
|
|
- m1ThreshLow = on ?
|
|
- aniState->iniDef.m1ThreshLow : m1ThreshLow_off;
|
|
- m2ThreshLow = on ?
|
|
- aniState->iniDef.m2ThreshLow : m2ThreshLow_off;
|
|
- m1Thresh = on ?
|
|
- aniState->iniDef.m1Thresh : m1Thresh_off;
|
|
- m2Thresh = on ?
|
|
- aniState->iniDef.m2Thresh : m2Thresh_off;
|
|
- m2CountThr = on ?
|
|
- aniState->iniDef.m2CountThr : m2CountThr_off;
|
|
- m2CountThrLow = on ?
|
|
- aniState->iniDef.m2CountThrLow : m2CountThrLow_off;
|
|
- m1ThreshLowExt = on ?
|
|
- aniState->iniDef.m1ThreshLowExt : m1ThreshLowExt_off;
|
|
- m2ThreshLowExt = on ?
|
|
- aniState->iniDef.m2ThreshLowExt : m2ThreshLowExt_off;
|
|
- m1ThreshExt = on ?
|
|
- aniState->iniDef.m1ThreshExt : m1ThreshExt_off;
|
|
- m2ThreshExt = on ?
|
|
- aniState->iniDef.m2ThreshExt : m2ThreshExt_off;
|
|
-
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW,
|
|
- AR_PHY_SFCORR_LOW_M1_THRESH_LOW,
|
|
- m1ThreshLow);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW,
|
|
- AR_PHY_SFCORR_LOW_M2_THRESH_LOW,
|
|
- m2ThreshLow);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR,
|
|
- AR_PHY_SFCORR_M1_THRESH,
|
|
- m1Thresh);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR,
|
|
- AR_PHY_SFCORR_M2_THRESH,
|
|
- m2Thresh);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR,
|
|
- AR_PHY_SFCORR_M2COUNT_THR,
|
|
- m2CountThr);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW,
|
|
- AR_PHY_SFCORR_LOW_M2COUNT_THR_LOW,
|
|
- m2CountThrLow);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT,
|
|
- AR_PHY_SFCORR_EXT_M1_THRESH_LOW,
|
|
- m1ThreshLowExt);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT,
|
|
- AR_PHY_SFCORR_EXT_M2_THRESH_LOW,
|
|
- m2ThreshLowExt);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT,
|
|
- AR_PHY_SFCORR_EXT_M1_THRESH,
|
|
- m1ThreshExt);
|
|
- REG_RMW_FIELD(ah, AR_PHY_SFCORR_EXT,
|
|
- AR_PHY_SFCORR_EXT_M2_THRESH,
|
|
- m2ThreshExt);
|
|
-skip_ws_det:
|
|
if (on)
|
|
REG_SET_BIT(ah, AR_PHY_SFCORR_LOW,
|
|
AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW);
|