diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-02-24 03:43:30 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2010-02-24 03:43:30 +0000 |
commit | e08dd936ef1eaa7aedfbc2dfb331fa6586d79540 (patch) | |
tree | 6928ad6a52623e26e096530745c8b50ff103e0ed /package | |
parent | 0ab4d7e848ead11fcc85c04834519861682cd9ef (diff) | |
download | mtk-20170518-e08dd936ef1eaa7aedfbc2dfb331fa6586d79540.zip mtk-20170518-e08dd936ef1eaa7aedfbc2dfb331fa6586d79540.tar.gz mtk-20170518-e08dd936ef1eaa7aedfbc2dfb331fa6586d79540.tar.bz2 |
ath9k: disable RIFS search on some chips to avoid baseband hangs
SVN-Revision: 19829
Diffstat (limited to 'package')
-rw-r--r-- | package/mac80211/patches/550-ath9k_rifs_disable.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/package/mac80211/patches/550-ath9k_rifs_disable.patch b/package/mac80211/patches/550-ath9k_rifs_disable.patch new file mode 100644 index 0000000..57441b6 --- /dev/null +++ b/package/mac80211/patches/550-ath9k_rifs_disable.patch @@ -0,0 +1,31 @@ +--- a/drivers/net/wireless/ath/ath9k/hw.c ++++ b/drivers/net/wireless/ath/ath9k/hw.c +@@ -1326,6 +1326,16 @@ static void ath9k_hw_override_ini(struct + * Necessary to avoid issues on AR5416 2.0 + */ + REG_WRITE(ah, 0x9800 + (651 << 2), 0x11); ++ ++ /* ++ * Disable RIFS search on some chips to avoid baseband ++ * hang issues. ++ */ ++ if (AR_SREV_9100(ah) || AR_SREV_9160(ah)) { ++ val = REG_READ(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS); ++ val &= ~AR_PHY_RIFS_INIT_DELAY; ++ REG_WRITE(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS, val); ++ } + } + + static u32 ath9k_hw_def_ini_fixup(struct ath_hw *ah, +--- a/drivers/net/wireless/ath/ath9k/phy.h ++++ b/drivers/net/wireless/ath/ath9k/phy.h +@@ -384,6 +384,9 @@ bool ath9k_hw_set_rf_regs(struct ath_hw + + #define AR_PHY_HEAVY_CLIP_ENABLE 0x99E0 + ++#define AR_PHY_HEAVY_CLIP_FACTOR_RIFS 0x99EC ++#define AR_PHY_RIFS_INIT_DELAY 0x03ff0000 ++ + #define AR_PHY_M_SLEEP 0x99f0 + #define AR_PHY_REFCLKDLY 0x99f4 + #define AR_PHY_REFCLKPD 0x99f8 |