aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-01-21 01:43:32 +0000
committerFelix Fietkau <nbd@openwrt.org>2011-01-21 01:43:32 +0000
commit02bf1599a3b87a41686bf1cb78d62fe71040b192 (patch)
tree6f22855403460ac626c9aef2fd165932b872110f /package/mac80211
parentbe39c9dc6e0c34292d10330c643b1fa903eb3cf7 (diff)
downloadupstream-02bf1599a3b87a41686bf1cb78d62fe71040b192.tar.gz
upstream-02bf1599a3b87a41686bf1cb78d62fe71040b192.tar.bz2
upstream-02bf1599a3b87a41686bf1cb78d62fe71040b192.zip
ath9k: disable PA predistortion on AR93xx for now until it is properly fixed
SVN-Revision: 25056
Diffstat (limited to 'package/mac80211')
-rw-r--r--package/mac80211/patches/310-ath9k_pending_work.patch32
-rw-r--r--package/mac80211/patches/403-ath9k-fix-invalid-mac-address-handling.patch2
-rw-r--r--package/mac80211/patches/409-ath9k_platform_settings.patch2
-rw-r--r--package/mac80211/patches/520-ath9k_intr_mitigation_tweak.patch2
4 files changed, 35 insertions, 3 deletions
diff --git a/package/mac80211/patches/310-ath9k_pending_work.patch b/package/mac80211/patches/310-ath9k_pending_work.patch
index 0a3372c467..d0c2f39142 100644
--- a/package/mac80211/patches/310-ath9k_pending_work.patch
+++ b/package/mac80211/patches/310-ath9k_pending_work.patch
@@ -88,3 +88,35 @@
}
}
+--- a/drivers/net/wireless/ath/ath9k/hw.c
++++ b/drivers/net/wireless/ath/ath9k/hw.c
+@@ -369,6 +369,9 @@ static void ath9k_hw_init_config(struct
+ else
+ ah->config.ht_enable = 0;
+
++ /* PAPRD needs some more work to be enabled */
++ ah->config.paprd_disable = 1;
++
+ ah->config.rx_intr_mitigation = true;
+ ah->config.pcieSerDesWrite = true;
+
+@@ -1949,7 +1952,8 @@ int ath9k_hw_fill_cap_info(struct ath_hw
+ pCap->rx_status_len = sizeof(struct ar9003_rxs);
+ pCap->tx_desc_len = sizeof(struct ar9003_txc);
+ pCap->txs_len = sizeof(struct ar9003_txs);
+- if (ah->eep_ops->get_eeprom(ah, EEP_PAPRD))
++ if (!ah->config.paprd_disable &&
++ ah->eep_ops->get_eeprom(ah, EEP_PAPRD))
+ pCap->hw_caps |= ATH9K_HW_CAP_PAPRD;
+ } else {
+ pCap->tx_desc_len = sizeof(struct ath_desc);
+--- a/drivers/net/wireless/ath/ath9k/hw.h
++++ b/drivers/net/wireless/ath/ath9k/hw.h
+@@ -228,6 +228,7 @@ struct ath9k_ops_config {
+ u32 pcie_waen;
+ u8 analog_shiftreg;
+ u8 ht_enable;
++ u8 paprd_disable;
+ u32 ofdm_trig_low;
+ u32 ofdm_trig_high;
+ u32 cck_trig_high;
diff --git a/package/mac80211/patches/403-ath9k-fix-invalid-mac-address-handling.patch b/package/mac80211/patches/403-ath9k-fix-invalid-mac-address-handling.patch
index 700854d21c..cf3f96bb17 100644
--- a/package/mac80211/patches/403-ath9k-fix-invalid-mac-address-handling.patch
+++ b/package/mac80211/patches/403-ath9k-fix-invalid-mac-address-handling.patch
@@ -8,7 +8,7 @@
#include <asm/unaligned.h>
#include "hw.h"
-@@ -428,8 +429,16 @@ static int ath9k_hw_init_macaddr(struct
+@@ -431,8 +432,16 @@ static int ath9k_hw_init_macaddr(struct
common->macaddr[2 * i] = eeval >> 8;
common->macaddr[2 * i + 1] = eeval & 0xff;
}
diff --git a/package/mac80211/patches/409-ath9k_platform_settings.patch b/package/mac80211/patches/409-ath9k_platform_settings.patch
index 31de3e4092..ba3479b581 100644
--- a/package/mac80211/patches/409-ath9k_platform_settings.patch
+++ b/package/mac80211/patches/409-ath9k_platform_settings.patch
@@ -18,7 +18,7 @@
common->ops = &ath9k_common_ops;
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
-@@ -793,7 +793,7 @@ struct ath_hw {
+@@ -794,7 +794,7 @@ struct ath_hw {
u32 originalGain[22];
int initPDADC;
int PDADCdelta;
diff --git a/package/mac80211/patches/520-ath9k_intr_mitigation_tweak.patch b/package/mac80211/patches/520-ath9k_intr_mitigation_tweak.patch
index be17062ccb..797c950f90 100644
--- a/package/mac80211/patches/520-ath9k_intr_mitigation_tweak.patch
+++ b/package/mac80211/patches/520-ath9k_intr_mitigation_tweak.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -1426,8 +1426,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st
+@@ -1429,8 +1429,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st
REG_WRITE(ah, AR_OBS, 8);
if (ah->config.rx_intr_mitigation) {