aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/580-ath9k-fix-XPABIASLEVEL-settings-for-AR9550.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/580-ath9k-fix-XPABIASLEVEL-settings-for-AR9550.patch')
-rw-r--r--package/mac80211/patches/580-ath9k-fix-XPABIASLEVEL-settings-for-AR9550.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/package/mac80211/patches/580-ath9k-fix-XPABIASLEVEL-settings-for-AR9550.patch b/package/mac80211/patches/580-ath9k-fix-XPABIASLEVEL-settings-for-AR9550.patch
new file mode 100644
index 0000000000..5fc02f9fbe
--- /dev/null
+++ b/package/mac80211/patches/580-ath9k-fix-XPABIASLEVEL-settings-for-AR9550.patch
@@ -0,0 +1,36 @@
+From a317eaa189d885e53400dc86c131390be17fd760 Mon Sep 17 00:00:00 2001
+From: Gabor Juhos <juhosg@openwrt.org>
+Date: Mon, 2 Jul 2012 17:15:58 +0200
+Subject: [PATCH 11/20] ath9k: fix XPABIASLEVEL settings for AR9550
+
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
+---
+ drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 2 +-
+ drivers/net/wireless/ath/ath9k/ar9003_phy.h | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
++++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+@@ -3519,7 +3519,7 @@ static void ar9003_hw_xpa_bias_level_app
+
+ if (AR_SREV_9485(ah) || AR_SREV_9330(ah) || AR_SREV_9340(ah))
+ REG_RMW_FIELD(ah, AR_CH0_TOP2, AR_CH0_TOP2_XPABIASLVL, bias);
+- else if (AR_SREV_9462(ah))
++ else if (AR_SREV_9462(ah) || AR_SREV_9550(ah))
+ REG_RMW_FIELD(ah, AR_CH0_TOP, AR_CH0_TOP_XPABIASLVL, bias);
+ else {
+ REG_RMW_FIELD(ah, AR_CH0_TOP, AR_CH0_TOP_XPABIASLVL, bias);
+--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.h
++++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.h
+@@ -636,8 +636,8 @@
+
+ #define AR_CH0_TOP (AR_SREV_9300(ah) ? 0x16288 : \
+ ((AR_SREV_9462(ah) ? 0x1628c : 0x16280)))
+-#define AR_CH0_TOP_XPABIASLVL (0x300)
+-#define AR_CH0_TOP_XPABIASLVL_S (8)
++#define AR_CH0_TOP_XPABIASLVL (AR_SREV_9550(ah) ? 0x3c0 : 0x300)
++#define AR_CH0_TOP_XPABIASLVL_S (AR_SREV_9550(ah) ? 6 : 8)
+
+ #define AR_CH0_THERM (AR_SREV_9300(ah) ? 0x16290 : \
+ ((AR_SREV_9485(ah) ? 0x1628c : 0x16294)))