summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/565-ath9k_fix_txgain.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-07-10 00:21:25 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-07-10 00:21:25 +0000
commitb01eb369ce4b236f214c74dc7a30f65474ddf8d3 (patch)
tree5b2c6f7f1a90ddd05e706bbe1dbce54223eea283 /package/mac80211/patches/565-ath9k_fix_txgain.patch
parent718ffca5834751d2a352dd7a1fc6b9c09b0aeef5 (diff)
mac80211: update to latest version, fix tx gain patch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32655 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/565-ath9k_fix_txgain.patch')
-rw-r--r--package/mac80211/patches/565-ath9k_fix_txgain.patch66
1 files changed, 66 insertions, 0 deletions
diff --git a/package/mac80211/patches/565-ath9k_fix_txgain.patch b/package/mac80211/patches/565-ath9k_fix_txgain.patch
new file mode 100644
index 000000000..c2f54d646
--- /dev/null
+++ b/package/mac80211/patches/565-ath9k_fix_txgain.patch
@@ -0,0 +1,66 @@
+--- a/drivers/net/wireless/ath/ath9k/ar9003_hw.c
++++ b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
+@@ -561,8 +561,8 @@ static void ar9003_tx_gain_table_mode1(s
+ 5);
+ else if (AR_SREV_9340(ah))
+ INIT_INI_ARRAY(&ah->iniModesTxGain,
+- ar9340Modes_lowest_ob_db_tx_gain_table_1p0,
+- ARRAY_SIZE(ar9340Modes_lowest_ob_db_tx_gain_table_1p0),
++ ar9340Modes_high_ob_db_tx_gain_table_1p0,
++ ARRAY_SIZE(ar9340Modes_high_ob_db_tx_gain_table_1p0),
+ 5);
+ else if (AR_SREV_9485_11(ah))
+ INIT_INI_ARRAY(&ah->iniModesTxGain,
+@@ -605,8 +605,8 @@ static void ar9003_tx_gain_table_mode2(s
+ 5);
+ else if (AR_SREV_9340(ah))
+ INIT_INI_ARRAY(&ah->iniModesTxGain,
+- ar9340Modes_lowest_ob_db_tx_gain_table_1p0,
+- ARRAY_SIZE(ar9340Modes_lowest_ob_db_tx_gain_table_1p0),
++ ar9340Modes_low_ob_db_tx_gain_table_1p0,
++ ARRAY_SIZE(ar9340Modes_low_ob_db_tx_gain_table_1p0),
+ 5);
+ else if (AR_SREV_9485_11(ah))
+ INIT_INI_ARRAY(&ah->iniModesTxGain,
+@@ -639,8 +639,8 @@ static void ar9003_tx_gain_table_mode3(s
+ 5);
+ else if (AR_SREV_9340(ah))
+ INIT_INI_ARRAY(&ah->iniModesTxGain,
+- ar9340Modes_lowest_ob_db_tx_gain_table_1p0,
+- ARRAY_SIZE(ar9340Modes_lowest_ob_db_tx_gain_table_1p0),
++ ar9340Modes_high_power_tx_gain_table_1p0,
++ ARRAY_SIZE(ar9340Modes_high_power_tx_gain_table_1p0),
+ 5);
+ else if (AR_SREV_9485_11(ah))
+ INIT_INI_ARRAY(&ah->iniModesTxGain,
+@@ -659,6 +659,20 @@ static void ar9003_tx_gain_table_mode3(s
+ 5);
+ }
+
++static void ar9003_tx_gain_table_mode4(struct ath_hw *ah)
++{
++ if (AR_SREV_9340(ah))
++ INIT_INI_ARRAY(&ah->iniModesTxGain,
++ ar9340Modes_mixed_ob_db_tx_gain_table_1p0,
++ ARRAY_SIZE(ar9340Modes_mixed_ob_db_tx_gain_table_1p0),
++ 5);
++ else if (AR_SREV_9580(ah))
++ INIT_INI_ARRAY(&ah->iniModesTxGain,
++ ar9580_1p0_mixed_ob_db_tx_gain_table,
++ ARRAY_SIZE(ar9580_1p0_mixed_ob_db_tx_gain_table),
++ 5);
++}
++
+ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
+ {
+ switch (ar9003_hw_get_tx_gain_idx(ah)) {
+@@ -675,6 +689,9 @@ static void ar9003_tx_gain_table_apply(s
+ case 3:
+ ar9003_tx_gain_table_mode3(ah);
+ break;
++ case 4:
++ ar9003_tx_gain_table_mode4(ah);
++ break;
+ }
+ }
+