diff options
Diffstat (limited to 'package/mac80211/patches/565-ath9k_fix_txgain.patch')
-rw-r--r-- | package/mac80211/patches/565-ath9k_fix_txgain.patch | 66 |
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 0000000000..c2f54d6464 --- /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; + } + } + |