ath9k: fix some ANI related stability issues

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40427
This commit is contained in:
Felix Fietkau 2014-04-08 22:11:13 +00:00
parent dd58e15b84
commit b8795d6b66
2 changed files with 30 additions and 2 deletions

View file

@ -0,0 +1,28 @@
commit 93f310a38a1d81a4bc8fcd9bf29628bd721cf2ef
Author: Felix Fietkau <nbd@openwrt.org>
Date: Sun Apr 6 23:35:28 2014 +0200
ath9k_hw: reduce ANI firstep range for older chips
Use 0-8 instead of 0-16, which is closer to the old implementation.
Also drop the overwrite of the firstep_low parameter to improve
stability.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
--- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c
@@ -1004,11 +1004,9 @@ static bool ar5008_hw_ani_control_new(st
case ATH9K_ANI_FIRSTEP_LEVEL:{
u32 level = param;
- value = level * 2;
+ value = level;
REG_RMW_FIELD(ah, AR_PHY_FIND_SIG,
AR_PHY_FIND_SIG_FIRSTEP, value);
- REG_RMW_FIELD(ah, AR_PHY_FIND_SIG_LOW,
- AR_PHY_FIND_SIG_FIRSTEP_LOW, value);
if (level != aniState->firstepLevel) {
ath_dbg(common, ANI,

View file

@ -124,7 +124,7 @@
long_cal_interval = ATH_LONG_CALINTERVAL_INT; long_cal_interval = ATH_LONG_CALINTERVAL_INT;
--- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c --- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c +++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c
@@ -1233,9 +1233,30 @@ static void ar5008_hw_set_radar_conf(str @@ -1231,9 +1231,30 @@ static void ar5008_hw_set_radar_conf(str
conf->radar_inband = 8; conf->radar_inband = 8;
} }
@ -155,7 +155,7 @@
static const u32 ar5416_cca_regs[6] = { static const u32 ar5416_cca_regs[6] = {
AR_PHY_CCA, AR_PHY_CCA,
AR_PHY_CH1_CCA, AR_PHY_CH1_CCA,
@@ -1250,6 +1271,8 @@ int ar5008_hw_attach_phy_ops(struct ath_ @@ -1248,6 +1269,8 @@ int ar5008_hw_attach_phy_ops(struct ath_
if (ret) if (ret)
return ret; return ret;