ath9k: disable PA predistortion on AR93xx for now until it is properly fixed
SVN-Revision: 25056
This commit is contained in:
parent
be39c9dc6e
commit
02bf1599a3
4 changed files with 35 additions and 3 deletions
|
@ -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;
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <asm/unaligned.h>
|
#include <asm/unaligned.h>
|
||||||
|
|
||||||
#include "hw.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] = eeval >> 8;
|
||||||
common->macaddr[2 * i + 1] = eeval & 0xff;
|
common->macaddr[2 * i + 1] = eeval & 0xff;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
common->ops = &ath9k_common_ops;
|
common->ops = &ath9k_common_ops;
|
||||||
--- a/drivers/net/wireless/ath/ath9k/hw.h
|
--- a/drivers/net/wireless/ath/ath9k/hw.h
|
||||||
+++ b/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];
|
u32 originalGain[22];
|
||||||
int initPDADC;
|
int initPDADC;
|
||||||
int PDADCdelta;
|
int PDADCdelta;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||||
+++ b/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);
|
REG_WRITE(ah, AR_OBS, 8);
|
||||||
|
|
||||||
if (ah->config.rx_intr_mitigation) {
|
if (ah->config.rx_intr_mitigation) {
|
||||||
|
|
Loading…
Reference in a new issue