aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/574-ath9k_remove_old_ani.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-06-18 01:26:36 +0000
committerFelix Fietkau <nbd@openwrt.org>2012-06-18 01:26:36 +0000
commit75a137d38bd701a4062789e7a59b173d20db6928 (patch)
treefe2a28fedad04703b1d6951b1bc0f33b08fa4fce /package/mac80211/patches/574-ath9k_remove_old_ani.patch
parentd787e8414b4ab04ebddbf5d1a5a52278d532c4b3 (diff)
downloadupstream-75a137d38bd701a4062789e7a59b173d20db6928.tar.gz
upstream-75a137d38bd701a4062789e7a59b173d20db6928.tar.bz2
upstream-75a137d38bd701a4062789e7a59b173d20db6928.zip
mac80211: update to wireless-testing 2012-06-14
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32420 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/574-ath9k_remove_old_ani.patch')
-rw-r--r--package/mac80211/patches/574-ath9k_remove_old_ani.patch627
1 files changed, 0 insertions, 627 deletions
diff --git a/package/mac80211/patches/574-ath9k_remove_old_ani.patch b/package/mac80211/patches/574-ath9k_remove_old_ani.patch
deleted file mode 100644
index e90e48c7d2..0000000000
--- a/package/mac80211/patches/574-ath9k_remove_old_ani.patch
+++ /dev/null
@@ -1,627 +0,0 @@
---- a/drivers/net/wireless/ath/ath9k/ani.c
-+++ b/drivers/net/wireless/ath/ath9k/ani.c
-@@ -104,11 +104,6 @@ static const struct ani_cck_level_entry
- #define ATH9K_ANI_CCK_DEF_LEVEL \
- 2 /* default level - matches the INI settings */
-
--static bool use_new_ani(struct ath_hw *ah)
--{
-- return AR_SREV_9300_20_OR_LATER(ah) || modparam_force_new_ani;
--}
--
- static void ath9k_hw_update_mibstats(struct ath_hw *ah,
- struct ath9k_mib_stats *stats)
- {
-@@ -131,11 +126,6 @@ static void ath9k_ani_restart(struct ath
- aniState = &ah->curchan->ani;
- aniState->listenTime = 0;
-
-- if (!use_new_ani(ah)) {
-- ofdm_base = AR_PHY_COUNTMAX - ah->config.ofdm_trig_high;
-- cck_base = AR_PHY_COUNTMAX - ah->config.cck_trig_high;
-- }
--
- ath_dbg(common, ANI, "Writing ofdmbase=%u cckbase=%u\n",
- ofdm_base, cck_base);
-
-@@ -154,110 +144,6 @@ static void ath9k_ani_restart(struct ath
- aniState->cckPhyErrCount = 0;
- }
-
--static void ath9k_hw_ani_ofdm_err_trigger_old(struct ath_hw *ah)
--{
-- struct ieee80211_conf *conf = &ath9k_hw_common(ah)->hw->conf;
-- struct ar5416AniState *aniState;
-- int32_t rssi;
--
-- aniState = &ah->curchan->ani;
--
-- if (aniState->noiseImmunityLevel < HAL_NOISE_IMMUNE_MAX) {
-- if (ath9k_hw_ani_control(ah, ATH9K_ANI_NOISE_IMMUNITY_LEVEL,
-- aniState->noiseImmunityLevel + 1)) {
-- return;
-- }
-- }
--
-- if (aniState->spurImmunityLevel < HAL_SPUR_IMMUNE_MAX) {
-- if (ath9k_hw_ani_control(ah, ATH9K_ANI_SPUR_IMMUNITY_LEVEL,
-- aniState->spurImmunityLevel + 1)) {
-- return;
-- }
-- }
--
-- if (ah->opmode != NL80211_IFTYPE_STATION) {
-- if (aniState->firstepLevel < HAL_FIRST_STEP_MAX) {
-- ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL,
-- aniState->firstepLevel + 1);
-- }
-- return;
-- }
-- rssi = BEACON_RSSI(ah);
-- if (rssi > aniState->rssiThrHigh) {
-- if (aniState->ofdmWeakSigDetect) {
-- if (ath9k_hw_ani_control(ah,
-- ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
-- false)) {
-- ath9k_hw_ani_control(ah,
-- ATH9K_ANI_SPUR_IMMUNITY_LEVEL, 0);
-- return;
-- }
-- }
-- if (aniState->firstepLevel < HAL_FIRST_STEP_MAX) {
-- ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL,
-- aniState->firstepLevel + 1);
-- return;
-- }
-- } else if (rssi > aniState->rssiThrLow) {
-- if (!aniState->ofdmWeakSigDetect)
-- ath9k_hw_ani_control(ah,
-- ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
-- true);
-- if (aniState->firstepLevel < HAL_FIRST_STEP_MAX)
-- ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL,
-- aniState->firstepLevel + 1);
-- return;
-- } else {
-- if ((conf->channel->band == IEEE80211_BAND_2GHZ) &&
-- !conf_is_ht(conf)) {
-- if (aniState->ofdmWeakSigDetect)
-- ath9k_hw_ani_control(ah,
-- ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
-- false);
-- if (aniState->firstepLevel > 0)
-- ath9k_hw_ani_control(ah,
-- ATH9K_ANI_FIRSTEP_LEVEL, 0);
-- return;
-- }
-- }
--}
--
--static void ath9k_hw_ani_cck_err_trigger_old(struct ath_hw *ah)
--{
-- struct ieee80211_conf *conf = &ath9k_hw_common(ah)->hw->conf;
-- struct ar5416AniState *aniState;
-- int32_t rssi;
--
-- aniState = &ah->curchan->ani;
-- if (aniState->noiseImmunityLevel < HAL_NOISE_IMMUNE_MAX) {
-- if (ath9k_hw_ani_control(ah, ATH9K_ANI_NOISE_IMMUNITY_LEVEL,
-- aniState->noiseImmunityLevel + 1)) {
-- return;
-- }
-- }
-- if (ah->opmode != NL80211_IFTYPE_STATION) {
-- if (aniState->firstepLevel < HAL_FIRST_STEP_MAX) {
-- ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL,
-- aniState->firstepLevel + 1);
-- }
-- return;
-- }
-- rssi = BEACON_RSSI(ah);
-- if (rssi > aniState->rssiThrLow) {
-- if (aniState->firstepLevel < HAL_FIRST_STEP_MAX)
-- ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL,
-- aniState->firstepLevel + 1);
-- } else {
-- if ((conf->channel->band == IEEE80211_BAND_2GHZ) &&
-- !conf_is_ht(conf)) {
-- if (aniState->firstepLevel > 0)
-- ath9k_hw_ani_control(ah,
-- ATH9K_ANI_FIRSTEP_LEVEL, 0);
-- }
-- }
--}
--
- /* Adjust the OFDM Noise Immunity Level */
- static void ath9k_hw_set_ofdm_nil(struct ath_hw *ah, u8 immunityLevel)
- {
-@@ -309,11 +195,6 @@ static void ath9k_hw_ani_ofdm_err_trigge
- if (!DO_ANI(ah))
- return;
-
-- if (!use_new_ani(ah)) {
-- ath9k_hw_ani_ofdm_err_trigger_old(ah);
-- return;
-- }
--
- aniState = &ah->curchan->ani;
-
- if (aniState->ofdmNoiseImmunityLevel < ATH9K_ANI_OFDM_MAX_LEVEL)
-@@ -371,70 +252,12 @@ static void ath9k_hw_ani_cck_err_trigger
- if (!DO_ANI(ah))
- return;
-
-- if (!use_new_ani(ah)) {
-- ath9k_hw_ani_cck_err_trigger_old(ah);
-- return;
-- }
--
- aniState = &ah->curchan->ani;
-
- if (aniState->cckNoiseImmunityLevel < ATH9K_ANI_CCK_MAX_LEVEL)
- ath9k_hw_set_cck_nil(ah, aniState->cckNoiseImmunityLevel + 1);
- }
-
--static void ath9k_hw_ani_lower_immunity_old(struct ath_hw *ah)
--{
-- struct ar5416AniState *aniState;
-- int32_t rssi;
--
-- aniState = &ah->curchan->ani;
--
-- if (ah->opmode != NL80211_IFTYPE_STATION) {
-- if (aniState->firstepLevel > 0) {
-- if (ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL,
-- aniState->firstepLevel - 1))
-- return;
-- }
-- } else {
-- rssi = BEACON_RSSI(ah);
-- if (rssi > aniState->rssiThrHigh) {
-- /* XXX: Handle me */
-- } else if (rssi > aniState->rssiThrLow) {
-- if (!aniState->ofdmWeakSigDetect) {
-- if (ath9k_hw_ani_control(ah,
-- ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
-- true))
-- return;
-- }
-- if (aniState->firstepLevel > 0) {
-- if (ath9k_hw_ani_control(ah,
-- ATH9K_ANI_FIRSTEP_LEVEL,
-- aniState->firstepLevel - 1))
-- return;
-- }
-- } else {
-- if (aniState->firstepLevel > 0) {
-- if (ath9k_hw_ani_control(ah,
-- ATH9K_ANI_FIRSTEP_LEVEL,
-- aniState->firstepLevel - 1))
-- return;
-- }
-- }
-- }
--
-- if (aniState->spurImmunityLevel > 0) {
-- if (ath9k_hw_ani_control(ah, ATH9K_ANI_SPUR_IMMUNITY_LEVEL,
-- aniState->spurImmunityLevel - 1))
-- return;
-- }
--
-- if (aniState->noiseImmunityLevel > 0) {
-- ath9k_hw_ani_control(ah, ATH9K_ANI_NOISE_IMMUNITY_LEVEL,
-- aniState->noiseImmunityLevel - 1);
-- return;
-- }
--}
--
- /*
- * only lower either OFDM or CCK errors per turn
- * we lower the other one next time
-@@ -445,11 +268,6 @@ static void ath9k_hw_ani_lower_immunity(
-
- aniState = &ah->curchan->ani;
-
-- if (!use_new_ani(ah)) {
-- ath9k_hw_ani_lower_immunity_old(ah);
-- return;
-- }
--
- /* lower OFDM noise immunity */
- if (aniState->ofdmNoiseImmunityLevel > 0 &&
- (aniState->ofdmsTurn || aniState->cckNoiseImmunityLevel == 0)) {
-@@ -462,71 +280,6 @@ static void ath9k_hw_ani_lower_immunity(
- ath9k_hw_set_cck_nil(ah, aniState->cckNoiseImmunityLevel - 1);
- }
-
--static void ath9k_ani_reset_old(struct ath_hw *ah, bool is_scanning)
--{
-- struct ar5416AniState *aniState;
-- struct ath9k_channel *chan = ah->curchan;
-- struct ath_common *common = ath9k_hw_common(ah);
--
-- if (!DO_ANI(ah))
-- return;
--
-- aniState = &ah->curchan->ani;
--
-- if (ah->opmode != NL80211_IFTYPE_STATION) {
-- ath_dbg(common, ANI, "Reset ANI state opmode %u\n", ah->opmode);
-- ah->stats.ast_ani_reset++;
--
-- if (ah->opmode == NL80211_IFTYPE_AP) {
-- /*
-- * ath9k_hw_ani_control() will only process items set on
-- * ah->ani_function
-- */
-- if (IS_CHAN_2GHZ(chan))
-- ah->ani_function = (ATH9K_ANI_SPUR_IMMUNITY_LEVEL |
-- ATH9K_ANI_FIRSTEP_LEVEL);
-- else
-- ah->ani_function = 0;
-- }
--
-- ath9k_hw_ani_control(ah, ATH9K_ANI_NOISE_IMMUNITY_LEVEL, 0);
-- ath9k_hw_ani_control(ah, ATH9K_ANI_SPUR_IMMUNITY_LEVEL, 0);
-- ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL, 0);
-- ath9k_hw_ani_control(ah, ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
-- !ATH9K_ANI_USE_OFDM_WEAK_SIG);
-- ath9k_hw_ani_control(ah, ATH9K_ANI_CCK_WEAK_SIGNAL_THR,
-- ATH9K_ANI_CCK_WEAK_SIG_THR);
--
-- ath9k_ani_restart(ah);
-- return;
-- }
--
-- if (aniState->noiseImmunityLevel != 0)
-- ath9k_hw_ani_control(ah, ATH9K_ANI_NOISE_IMMUNITY_LEVEL,
-- aniState->noiseImmunityLevel);
-- if (aniState->spurImmunityLevel != 0)
-- ath9k_hw_ani_control(ah, ATH9K_ANI_SPUR_IMMUNITY_LEVEL,
-- aniState->spurImmunityLevel);
-- if (!aniState->ofdmWeakSigDetect)
-- ath9k_hw_ani_control(ah, ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
-- aniState->ofdmWeakSigDetect);
-- if (aniState->cckWeakSigThreshold)
-- ath9k_hw_ani_control(ah, ATH9K_ANI_CCK_WEAK_SIGNAL_THR,
-- aniState->cckWeakSigThreshold);
-- if (aniState->firstepLevel != 0)
-- ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL,
-- aniState->firstepLevel);
--
-- ath9k_ani_restart(ah);
--
-- ENABLE_REGWRITE_BUFFER(ah);
--
-- REG_WRITE(ah, AR_PHY_ERR_MASK_1, AR_PHY_ERR_OFDM_TIMING);
-- REG_WRITE(ah, AR_PHY_ERR_MASK_2, AR_PHY_ERR_CCK_TIMING);
--
-- REGWRITE_BUFFER_FLUSH(ah);
--}
--
- /*
- * Restore the ANI parameters in the HAL and reset the statistics.
- * This routine should be called for every hardware reset and for
-@@ -541,9 +294,6 @@ void ath9k_ani_reset(struct ath_hw *ah,
- if (!DO_ANI(ah))
- return;
-
-- if (!use_new_ani(ah))
-- return ath9k_ani_reset_old(ah, is_scanning);
--
- BUG_ON(aniState == NULL);
- ah->stats.ast_ani_reset++;
-
-@@ -640,11 +390,6 @@ static bool ath9k_hw_ani_read_counters(s
- return false;
- }
-
-- if (!use_new_ani(ah)) {
-- ofdm_base = AR_PHY_COUNTMAX - ah->config.ofdm_trig_high;
-- cck_base = AR_PHY_COUNTMAX - ah->config.cck_trig_high;
-- }
--
- aniState->listenTime += listenTime;
-
- ath9k_hw_update_mibstats(ah, &ah->ah_mibStats);
-@@ -652,26 +397,6 @@ static bool ath9k_hw_ani_read_counters(s
- phyCnt1 = REG_READ(ah, AR_PHY_ERR_1);
- phyCnt2 = REG_READ(ah, AR_PHY_ERR_2);
-
-- if (!use_new_ani(ah) && (phyCnt1 < ofdm_base || phyCnt2 < cck_base)) {
-- if (phyCnt1 < ofdm_base) {
-- ath_dbg(common, ANI,
-- "phyCnt1 0x%x, resetting counter value to 0x%x\n",
-- phyCnt1, ofdm_base);
-- REG_WRITE(ah, AR_PHY_ERR_1, ofdm_base);
-- REG_WRITE(ah, AR_PHY_ERR_MASK_1,
-- AR_PHY_ERR_OFDM_TIMING);
-- }
-- if (phyCnt2 < cck_base) {
-- ath_dbg(common, ANI,
-- "phyCnt2 0x%x, resetting counter value to 0x%x\n",
-- phyCnt2, cck_base);
-- REG_WRITE(ah, AR_PHY_ERR_2, cck_base);
-- REG_WRITE(ah, AR_PHY_ERR_MASK_2,
-- AR_PHY_ERR_CCK_TIMING);
-- }
-- return false;
-- }
--
- ofdmPhyErrCnt = phyCnt1 - ofdm_base;
- ah->stats.ast_ani_ofdmerrs +=
- ofdmPhyErrCnt - aniState->ofdmPhyErrCount;
-@@ -810,9 +535,6 @@ void ath9k_hw_proc_mib_event(struct ath_
- if (((phyCnt1 & AR_MIBCNT_INTRMASK) == AR_MIBCNT_INTRMASK) ||
- ((phyCnt2 & AR_MIBCNT_INTRMASK) == AR_MIBCNT_INTRMASK)) {
-
-- if (!use_new_ani(ah))
-- ath9k_hw_ani_read_counters(ah);
--
- /* NB: always restart to insure the h/w counters are reset */
- ath9k_ani_restart(ah);
- }
-@@ -843,45 +565,28 @@ void ath9k_hw_ani_init(struct ath_hw *ah
-
- ath_dbg(common, ANI, "Initialize ANI\n");
-
-- if (use_new_ani(ah)) {
-- ah->config.ofdm_trig_high = ATH9K_ANI_OFDM_TRIG_HIGH_NEW;
-- ah->config.ofdm_trig_low = ATH9K_ANI_OFDM_TRIG_LOW_NEW;
-+ ah->config.ofdm_trig_high = ATH9K_ANI_OFDM_TRIG_HIGH_NEW;
-+ ah->config.ofdm_trig_low = ATH9K_ANI_OFDM_TRIG_LOW_NEW;
-
-- ah->config.cck_trig_high = ATH9K_ANI_CCK_TRIG_HIGH_NEW;
-- ah->config.cck_trig_low = ATH9K_ANI_CCK_TRIG_LOW_NEW;
-- } else {
-- ah->config.ofdm_trig_high = ATH9K_ANI_OFDM_TRIG_HIGH_OLD;
-- ah->config.ofdm_trig_low = ATH9K_ANI_OFDM_TRIG_LOW_OLD;
--
-- ah->config.cck_trig_high = ATH9K_ANI_CCK_TRIG_HIGH_OLD;
-- ah->config.cck_trig_low = ATH9K_ANI_CCK_TRIG_LOW_OLD;
-- }
-+ ah->config.cck_trig_high = ATH9K_ANI_CCK_TRIG_HIGH_NEW;
-+ ah->config.cck_trig_low = ATH9K_ANI_CCK_TRIG_LOW_NEW;
-
- for (i = 0; i < ARRAY_SIZE(ah->channels); i++) {
- struct ath9k_channel *chan = &ah->channels[i];
- struct ar5416AniState *ani = &chan->ani;
-
-- if (use_new_ani(ah)) {
-- ani->spurImmunityLevel =
-- ATH9K_ANI_SPUR_IMMUNE_LVL_NEW;
-+ ani->spurImmunityLevel =
-+ ATH9K_ANI_SPUR_IMMUNE_LVL_NEW;
-
-- ani->firstepLevel = ATH9K_ANI_FIRSTEP_LVL_NEW;
-+ ani->firstepLevel = ATH9K_ANI_FIRSTEP_LVL_NEW;
-
-- if (AR_SREV_9300_20_OR_LATER(ah))
-- ani->mrcCCKOff =
-- !ATH9K_ANI_ENABLE_MRC_CCK;
-- else
-- ani->mrcCCKOff = true;
--
-- ani->ofdmsTurn = true;
-- } else {
-- ani->spurImmunityLevel =
-- ATH9K_ANI_SPUR_IMMUNE_LVL_OLD;
-- ani->firstepLevel = ATH9K_ANI_FIRSTEP_LVL_OLD;
-+ if (AR_SREV_9300_20_OR_LATER(ah))
-+ ani->mrcCCKOff =
-+ !ATH9K_ANI_ENABLE_MRC_CCK;
-+ else
-+ ani->mrcCCKOff = true;
-
-- ani->cckWeakSigThreshold =
-- ATH9K_ANI_CCK_WEAK_SIG_THR;
-- }
-+ ani->ofdmsTurn = true;
-
- ani->rssiThrHigh = ATH9K_ANI_RSSI_THR_HIGH;
- ani->rssiThrLow = ATH9K_ANI_RSSI_THR_LOW;
-@@ -895,13 +600,8 @@ void ath9k_hw_ani_init(struct ath_hw *ah
- * since we expect some ongoing maintenance on the tables, let's sanity
- * check here default level should not modify INI setting.
- */
-- if (use_new_ani(ah)) {
-- ah->aniperiod = ATH9K_ANI_PERIOD_NEW;
-- ah->config.ani_poll_interval = ATH9K_ANI_POLLINTERVAL_NEW;
-- } else {
-- ah->aniperiod = ATH9K_ANI_PERIOD_OLD;
-- ah->config.ani_poll_interval = ATH9K_ANI_POLLINTERVAL_OLD;
-- }
-+ ah->aniperiod = ATH9K_ANI_PERIOD_NEW;
-+ ah->config.ani_poll_interval = ATH9K_ANI_POLLINTERVAL_NEW;
-
- if (ah->config.enable_ani)
- ah->proc_phyerr |= HAL_PROCESS_ANI;
---- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c
-+++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c
-@@ -995,141 +995,6 @@ static u32 ar5008_hw_compute_pll_control
- return pll;
- }
-
--static bool ar5008_hw_ani_control_old(struct ath_hw *ah,
-- enum ath9k_ani_cmd cmd,
-- int param)
--{
-- struct ar5416AniState *aniState = &ah->curchan->ani;
-- struct ath_common *common = ath9k_hw_common(ah);
--
-- switch (cmd & ah->ani_function) {
-- case ATH9K_ANI_NOISE_IMMUNITY_LEVEL:{
-- u32 level = param;
--
-- if (level >= ARRAY_SIZE(ah->totalSizeDesired)) {
-- ath_dbg(common, ANI, "level out of range (%u > %zu)\n",
-- level, ARRAY_SIZE(ah->totalSizeDesired));
-- return false;
-- }
--
-- REG_RMW_FIELD(ah, AR_PHY_DESIRED_SZ,
-- AR_PHY_DESIRED_SZ_TOT_DES,
-- ah->totalSizeDesired[level]);
-- REG_RMW_FIELD(ah, AR_PHY_AGC_CTL1,
-- AR_PHY_AGC_CTL1_COARSE_LOW,
-- ah->coarse_low[level]);
-- REG_RMW_FIELD(ah, AR_PHY_AGC_CTL1,
-- AR_PHY_AGC_CTL1_COARSE_HIGH,
-- ah->coarse_high[level]);
-- REG_RMW_FIELD(ah, AR_PHY_FIND_SIG,
-- AR_PHY_FIND_SIG_FIRPWR,
-- ah->firpwr[level]);
--
-- if (level > aniState->noiseImmunityLevel)
-- ah->stats.ast_ani_niup++;
-- else if (level < aniState->noiseImmunityLevel)
-- ah->stats.ast_ani_nidown++;
-- aniState->noiseImmunityLevel = level;
-- break;
-- }
-- case ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION:{
-- u32 on = param ? 1 : 0;
--
-- if (on)
-- REG_SET_BIT(ah, AR_PHY_SFCORR_LOW,
-- AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW);
-- else
-- REG_CLR_BIT(ah, AR_PHY_SFCORR_LOW,
-- AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW);
--
-- if (on != aniState->ofdmWeakSigDetect) {
-- if (on)
-- ah->stats.ast_ani_ofdmon++;
-- else
-- ah->stats.ast_ani_ofdmoff++;
-- aniState->ofdmWeakSigDetect = on;
-- }
-- break;
-- }
-- case ATH9K_ANI_CCK_WEAK_SIGNAL_THR:{
-- static const int weakSigThrCck[] = { 8, 6 };
-- u32 high = param ? 1 : 0;
--
-- REG_RMW_FIELD(ah, AR_PHY_CCK_DETECT,
-- AR_PHY_CCK_DETECT_WEAK_SIG_THR_CCK,
-- weakSigThrCck[high]);
-- if (high != aniState->cckWeakSigThreshold) {
-- if (high)
-- ah->stats.ast_ani_cckhigh++;
-- else
-- ah->stats.ast_ani_ccklow++;
-- aniState->cckWeakSigThreshold = high;
-- }
-- break;
-- }
-- case ATH9K_ANI_FIRSTEP_LEVEL:{
-- static const int firstep[] = { 0, 4, 8 };
-- u32 level = param;
--
-- if (level >= ARRAY_SIZE(firstep)) {
-- ath_dbg(common, ANI, "level out of range (%u > %zu)\n",
-- level, ARRAY_SIZE(firstep));
-- return false;
-- }
-- REG_RMW_FIELD(ah, AR_PHY_FIND_SIG,
-- AR_PHY_FIND_SIG_FIRSTEP,
-- firstep[level]);
-- if (level > aniState->firstepLevel)
-- ah->stats.ast_ani_stepup++;
-- else if (level < aniState->firstepLevel)
-- ah->stats.ast_ani_stepdown++;
-- aniState->firstepLevel = level;
-- break;
-- }
-- case ATH9K_ANI_SPUR_IMMUNITY_LEVEL:{
-- static const int cycpwrThr1[] = { 2, 4, 6, 8, 10, 12, 14, 16 };
-- u32 level = param;
--
-- if (level >= ARRAY_SIZE(cycpwrThr1)) {
-- ath_dbg(common, ANI, "level out of range (%u > %zu)\n",
-- level, ARRAY_SIZE(cycpwrThr1));
-- return false;
-- }
-- REG_RMW_FIELD(ah, AR_PHY_TIMING5,
-- AR_PHY_TIMING5_CYCPWR_THR1,
-- cycpwrThr1[level]);
-- if (level > aniState->spurImmunityLevel)
-- ah->stats.ast_ani_spurup++;
-- else if (level < aniState->spurImmunityLevel)
-- ah->stats.ast_ani_spurdown++;
-- aniState->spurImmunityLevel = level;
-- break;
-- }
-- case ATH9K_ANI_PRESENT:
-- break;
-- default:
-- ath_dbg(common, ANI, "invalid cmd %u\n", cmd);
-- return false;
-- }
--
-- ath_dbg(common, ANI, "ANI parameters:\n");
-- ath_dbg(common, ANI,
-- "noiseImmunityLevel=%d, spurImmunityLevel=%d, ofdmWeakSigDetect=%d\n",
-- aniState->noiseImmunityLevel,
-- aniState->spurImmunityLevel,
-- aniState->ofdmWeakSigDetect);
-- ath_dbg(common, ANI,
-- "cckWeakSigThreshold=%d, firstepLevel=%d, listenTime=%d\n",
-- aniState->cckWeakSigThreshold,
-- aniState->firstepLevel,
-- aniState->listenTime);
-- ath_dbg(common, ANI, "ofdmPhyErrCount=%d, cckPhyErrCount=%d\n\n",
-- aniState->ofdmPhyErrCount,
-- aniState->cckPhyErrCount);
--
-- return true;
--}
--
- static bool ar5008_hw_ani_control_new(struct ath_hw *ah,
- enum ath9k_ani_cmd cmd,
- int param)
-@@ -1545,11 +1410,8 @@ void ar5008_hw_attach_phy_ops(struct ath
- priv_ops->do_getnf = ar5008_hw_do_getnf;
- priv_ops->set_radar_params = ar5008_hw_set_radar_params;
-
-- if (modparam_force_new_ani) {
-- priv_ops->ani_control = ar5008_hw_ani_control_new;
-- priv_ops->ani_cache_ini_regs = ar5008_hw_ani_cache_ini_regs;
-- } else
-- priv_ops->ani_control = ar5008_hw_ani_control_old;
-+ priv_ops->ani_control = ar5008_hw_ani_control_new;
-+ priv_ops->ani_cache_ini_regs = ar5008_hw_ani_cache_ini_regs;
-
- if (AR_SREV_9100(ah) || AR_SREV_9160_10_OR_LATER(ah))
- priv_ops->compute_pll_control = ar9160_hw_compute_pll_control;
---- a/drivers/net/wireless/ath/ath9k/ar9002_hw.c
-+++ b/drivers/net/wireless/ath/ath9k/ar9002_hw.c
-@@ -21,10 +21,6 @@
- #include "ar9002_initvals.h"
- #include "ar9002_phy.h"
-
--int modparam_force_new_ani;
--module_param_named(force_new_ani, modparam_force_new_ani, int, 0444);
--MODULE_PARM_DESC(force_new_ani, "Force new ANI for AR5008, AR9001, AR9002");
--
- /* General hardware code for the A5008/AR9001/AR9002 hadware families */
-
- static void ar9002_hw_init_mode_regs(struct ath_hw *ah)
---- a/drivers/net/wireless/ath/ath9k/hw.h
-+++ b/drivers/net/wireless/ath/ath9k/hw.h
-@@ -1021,14 +1021,7 @@ void ar9002_hw_attach_ops(struct ath_hw
- void ar9003_hw_attach_ops(struct ath_hw *ah);
-
- void ar9002_hw_load_ani_reg(struct ath_hw *ah, struct ath9k_channel *chan);
--/*
-- * ANI work can be shared between all families but a next
-- * generation implementation of ANI will be used only for AR9003 only
-- * for now as the other families still need to be tested with the same
-- * next generation ANI. Feel free to start testing it though for the
-- * older families (AR5008, AR9001, AR9002) by using modparam_force_new_ani.
-- */
--extern int modparam_force_new_ani;
-+
- void ath9k_ani_reset(struct ath_hw *ah, bool is_scanning);
- void ath9k_hw_proc_mib_event(struct ath_hw *ah);
- void ath9k_hw_ani_monitor(struct ath_hw *ah, struct ath9k_channel *chan);