diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-06-27 02:15:25 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-06-27 02:15:25 +0000 |
commit | fc00da6b46c5e45d936845b6ab0f1caf269b5d3a (patch) | |
tree | 7f9e0b469befc4cc0ad97ff5eb75a5b7c7668557 | |
parent | 5f0e5c8f58a45ae9ee4ffe27bd3aa77d665ef0f0 (diff) |
ath9k: more ani fixes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32510 3c298f89-4303-0410-b956-a3cf2f4a3e73
3 files changed, 83 insertions, 0 deletions
diff --git a/package/mac80211/patches/562-ath9k_reduce_ani_interval.patch b/package/mac80211/patches/562-ath9k_reduce_ani_interval.patch new file mode 100644 index 0000000000..e2a0d124a3 --- /dev/null +++ b/package/mac80211/patches/562-ath9k_reduce_ani_interval.patch @@ -0,0 +1,11 @@ +--- a/drivers/net/wireless/ath/ath9k/ani.h ++++ b/drivers/net/wireless/ath/ath9k/ani.h +@@ -51,7 +51,7 @@ + #define ATH9K_ANI_PERIOD 300 + + /* in ms */ +-#define ATH9K_ANI_POLLINTERVAL 1000 ++#define ATH9K_ANI_POLLINTERVAL 100 + + #define HAL_NOISE_IMMUNE_MAX 4 + #define HAL_SPUR_IMMUNE_MAX 7 diff --git a/package/mac80211/patches/563-ath9k_enable_ar9340_ani.patch b/package/mac80211/patches/563-ath9k_enable_ar9340_ani.patch new file mode 100644 index 0000000000..7503634776 --- /dev/null +++ b/package/mac80211/patches/563-ath9k_enable_ar9340_ani.patch @@ -0,0 +1,13 @@ +--- a/drivers/net/wireless/ath/ath9k/hw.c ++++ b/drivers/net/wireless/ath/ath9k/hw.c +@@ -676,10 +676,6 @@ static int __ath9k_hw_init(struct ath_hw + if (!AR_SREV_9300_20_OR_LATER(ah)) + ah->ani_function &= ~ATH9K_ANI_MRC_CCK; + +- /* disable ANI for 9340 */ +- if (AR_SREV_9340(ah)) +- ah->config.enable_ani = false; +- + ath9k_hw_init_mode_regs(ah); + + if (!ah->is_pciexpress) diff --git a/package/mac80211/patches/564-ath9k_fix_ani_update.patch b/package/mac80211/patches/564-ath9k_fix_ani_update.patch new file mode 100644 index 0000000000..91ba67db7b --- /dev/null +++ b/package/mac80211/patches/564-ath9k_fix_ani_update.patch @@ -0,0 +1,59 @@ +--- a/drivers/net/wireless/ath/ath9k/ani.c ++++ b/drivers/net/wireless/ath/ath9k/ani.c +@@ -153,9 +153,7 @@ static void ath9k_hw_set_ofdm_nil(struct + immunityLevel, BEACON_RSSI(ah), + aniState->rssiThrLow, aniState->rssiThrHigh); + +- if (aniState->update_ani) +- aniState->ofdmNoiseImmunityLevel = immunityLevel; +- ++ aniState->ofdmNoiseImmunityLevel = immunityLevel; + entry_ofdm = &ofdm_level_table[aniState->ofdmNoiseImmunityLevel]; + entry_cck = &cck_level_table[aniState->cckNoiseImmunityLevel]; + +@@ -222,9 +220,7 @@ static void ath9k_hw_set_cck_nil(struct + immunityLevel > ATH9K_ANI_CCK_MAX_LEVEL_LOW_RSSI) + immunityLevel = ATH9K_ANI_CCK_MAX_LEVEL_LOW_RSSI; + +- if (aniState->update_ani) +- aniState->cckNoiseImmunityLevel = immunityLevel; +- ++ aniState->cckNoiseImmunityLevel = immunityLevel; + entry_ofdm = &ofdm_level_table[aniState->ofdmNoiseImmunityLevel]; + entry_cck = &cck_level_table[aniState->cckNoiseImmunityLevel]; + +@@ -338,7 +334,6 @@ void ath9k_ani_reset(struct ath_hw *ah, + aniState->ofdmNoiseImmunityLevel, + aniState->cckNoiseImmunityLevel); + +- aniState->update_ani = false; + ofdm_nil = ATH9K_ANI_OFDM_DEF_LEVEL; + cck_nil = ATH9K_ANI_CCK_DEF_LEVEL; + } +@@ -354,8 +349,6 @@ void ath9k_ani_reset(struct ath_hw *ah, + is_scanning, + aniState->ofdmNoiseImmunityLevel, + aniState->cckNoiseImmunityLevel); +- +- aniState->update_ani = true; + } + ath9k_hw_set_ofdm_nil(ah, ofdm_nil); + ath9k_hw_set_cck_nil(ah, cck_nil); +@@ -538,7 +531,6 @@ void ath9k_hw_ani_init(struct ath_hw *ah + ani->ofdmWeakSigDetect = ATH9K_ANI_USE_OFDM_WEAK_SIG; + ani->cckNoiseImmunityLevel = ATH9K_ANI_CCK_DEF_LEVEL; + ani->ofdmNoiseImmunityLevel = ATH9K_ANI_OFDM_DEF_LEVEL; +- ani->update_ani = false; + } + + /* +--- a/drivers/net/wireless/ath/ath9k/ani.h ++++ b/drivers/net/wireless/ath/ath9k/ani.h +@@ -116,7 +116,6 @@ struct ar5416AniState { + u8 firstepLevel; + u8 ofdmWeakSigDetect; + u8 cckWeakSigThreshold; +- bool update_ani; + u32 listenTime; + int32_t rssiThrLow; + int32_t rssiThrHigh; |