|
|
@@ -0,0 +1,161 @@
|
|
|
+From 0f1a8ac314c886aa3a4c14e3d868207483ad343c Mon Sep 17 00:00:00 2001
|
|
|
+From: Gabor Juhos <[email protected]>
|
|
|
+Date: Thu, 5 Mar 2009 10:18:35 +0100
|
|
|
+Subject: [PATCH v2 1/3] ath9k: cleanup AR5416 version checking macros
|
|
|
+
|
|
|
+Currently we have two different versions of this macros. Because they
|
|
|
+would have to do the same thing, we should simplify and merge them.
|
|
|
+
|
|
|
+Changes-licensed-under: ISC
|
|
|
+
|
|
|
+Signed-off-by: Gabor Juhos <[email protected]>
|
|
|
+Signed-off-by: Imre Kaloz <[email protected]>
|
|
|
+---
|
|
|
+ drivers/net/wireless/ath9k/eeprom.c | 16 ++++++++--------
|
|
|
+ drivers/net/wireless/ath9k/hw.c | 4 ++--
|
|
|
+ drivers/net/wireless/ath9k/mac.h | 2 +-
|
|
|
+ drivers/net/wireless/ath9k/reg.h | 19 +++++++++++--------
|
|
|
+ 4 files changed, 22 insertions(+), 19 deletions(-)
|
|
|
+
|
|
|
+--- a/drivers/net/wireless/ath9k/eeprom.c
|
|
|
++++ b/drivers/net/wireless/ath9k/eeprom.c
|
|
|
+@@ -640,7 +640,7 @@ static void ath9k_hw_get_4k_gain_boundar
|
|
|
+ pPdGainBoundaries[i] =
|
|
|
+ min((u16)AR5416_MAX_RATE_POWER, pPdGainBoundaries[i]);
|
|
|
+
|
|
|
+- if ((i == 0) && !AR_SREV_5416_V20_OR_LATER(ah)) {
|
|
|
++ if ((i == 0) && !AR_SREV_5416_20_OR_LATER(ah)) {
|
|
|
+ minDelta = pPdGainBoundaries[0] - 23;
|
|
|
+ pPdGainBoundaries[0] = 23;
|
|
|
+ } else {
|
|
|
+@@ -755,7 +755,7 @@ static bool ath9k_hw_set_4k_power_cal_ta
|
|
|
+ REG_RMW_FIELD(ah, AR_PHY_TPCRG1, AR_PHY_TPCRG1_PD_GAIN_3, 0);
|
|
|
+
|
|
|
+ for (i = 0; i < AR5416_MAX_CHAINS; i++) {
|
|
|
+- if (AR_SREV_5416_V20_OR_LATER(ah) &&
|
|
|
++ if (AR_SREV_5416_20_OR_LATER(ah) &&
|
|
|
+ (ah->rxchainmask == 5 || ah->txchainmask == 5) &&
|
|
|
+ (i != 0)) {
|
|
|
+ regChainOffset = (i == 1) ? 0x2000 : 0x1000;
|
|
|
+@@ -771,7 +771,7 @@ static bool ath9k_hw_set_4k_power_cal_ta
|
|
|
+ &tMinCalPower, gainBoundaries,
|
|
|
+ pdadcValues, numXpdGain);
|
|
|
+
|
|
|
+- if ((i == 0) || AR_SREV_5416_V20_OR_LATER(ah)) {
|
|
|
++ if ((i == 0) || AR_SREV_5416_20_OR_LATER(ah)) {
|
|
|
+ REG_WRITE(ah, AR_PHY_TPCRG5 + regChainOffset,
|
|
|
+ SM(pdGainOverlap_t2,
|
|
|
+ AR_PHY_TPCRG5_PD_GAIN_OVERLAP)
|
|
|
+@@ -1707,7 +1707,7 @@ static bool ath9k_hw_def_set_board_value
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+- if (AR_SREV_5416_V20_OR_LATER(ah) &&
|
|
|
++ if (AR_SREV_5416_20_OR_LATER(ah) &&
|
|
|
+ (ah->rxchainmask == 5 || ah->txchainmask == 5)
|
|
|
+ && (i != 0))
|
|
|
+ regChainOffset = (i == 1) ? 0x2000 : 0x1000;
|
|
|
+@@ -1728,7 +1728,7 @@ static bool ath9k_hw_def_set_board_value
|
|
|
+ SM(pModal->iqCalQCh[i],
|
|
|
+ AR_PHY_TIMING_CTRL4_IQCORR_Q_Q_COFF));
|
|
|
+
|
|
|
+- if ((i == 0) || AR_SREV_5416_V20_OR_LATER(ah)) {
|
|
|
++ if ((i == 0) || AR_SREV_5416_20_OR_LATER(ah)) {
|
|
|
+ if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_3) {
|
|
|
+ txRxAttenLocal = pModal->txRxAttenCh[i];
|
|
|
+ if (AR_SREV_9280_10_OR_LATER(ah)) {
|
|
|
+@@ -2094,7 +2094,7 @@ static void ath9k_hw_get_def_gain_bounda
|
|
|
+ pPdGainBoundaries[i] =
|
|
|
+ min((u16)AR5416_MAX_RATE_POWER, pPdGainBoundaries[i]);
|
|
|
+
|
|
|
+- if ((i == 0) && !AR_SREV_5416_V20_OR_LATER(ah)) {
|
|
|
++ if ((i == 0) && !AR_SREV_5416_20_OR_LATER(ah)) {
|
|
|
+ minDelta = pPdGainBoundaries[0] - 23;
|
|
|
+ pPdGainBoundaries[0] = 23;
|
|
|
+ } else {
|
|
|
+@@ -2228,7 +2228,7 @@ static bool ath9k_hw_set_def_power_cal_t
|
|
|
+ xpdGainValues[2]);
|
|
|
+
|
|
|
+ for (i = 0; i < AR5416_MAX_CHAINS; i++) {
|
|
|
+- if (AR_SREV_5416_V20_OR_LATER(ah) &&
|
|
|
++ if (AR_SREV_5416_20_OR_LATER(ah) &&
|
|
|
+ (ah->rxchainmask == 5 || ah->txchainmask == 5) &&
|
|
|
+ (i != 0)) {
|
|
|
+ regChainOffset = (i == 1) ? 0x2000 : 0x1000;
|
|
|
+@@ -2262,7 +2262,7 @@ static bool ath9k_hw_set_def_power_cal_t
|
|
|
+ numXpdGain);
|
|
|
+ }
|
|
|
+
|
|
|
+- if ((i == 0) || AR_SREV_5416_V20_OR_LATER(ah)) {
|
|
|
++ if ((i == 0) || AR_SREV_5416_20_OR_LATER(ah)) {
|
|
|
+ if (OLC_FOR_AR9280_20_LATER) {
|
|
|
+ REG_WRITE(ah,
|
|
|
+ AR_PHY_TPCRG5 + regChainOffset,
|
|
|
+--- a/drivers/net/wireless/ath9k/hw.c
|
|
|
++++ b/drivers/net/wireless/ath9k/hw.c
|
|
|
+@@ -1160,7 +1160,7 @@ static void ath9k_hw_override_ini(struct
|
|
|
+ REG_SET_BIT(ah, AR_DIAG_SW, (AR_DIAG_RX_DIS | AR_DIAG_RX_ABORT));
|
|
|
+
|
|
|
+
|
|
|
+- if (!AR_SREV_5416_V20_OR_LATER(ah) ||
|
|
|
++ if (!AR_SREV_5416_20_OR_LATER(ah) ||
|
|
|
+ AR_SREV_9280_10_OR_LATER(ah))
|
|
|
+ return;
|
|
|
+
|
|
|
+@@ -1262,7 +1262,7 @@ static int ath9k_hw_process_ini(struct a
|
|
|
+ REG_WRITE(ah, AR_PHY_ADC_SERIAL_CTL, AR_PHY_SEL_EXTERNAL_RADIO);
|
|
|
+ ah->eep_ops->set_addac(ah, chan);
|
|
|
+
|
|
|
+- if (AR_SREV_5416_V22_OR_LATER(ah)) {
|
|
|
++ if (AR_SREV_5416_22_OR_LATER(ah)) {
|
|
|
+ REG_WRITE_ARRAY(&ah->iniAddac, 1, regWrites);
|
|
|
+ } else {
|
|
|
+ struct ar5416IniArray temp;
|
|
|
+--- a/drivers/net/wireless/ath9k/mac.h
|
|
|
++++ b/drivers/net/wireless/ath9k/mac.h
|
|
|
+@@ -17,7 +17,7 @@
|
|
|
+ #ifndef MAC_H
|
|
|
+ #define MAC_H
|
|
|
+
|
|
|
+-#define RXSTATUS_RATE(ah, ads) (AR_SREV_5416_V20_OR_LATER(ah) ? \
|
|
|
++#define RXSTATUS_RATE(ah, ads) (AR_SREV_5416_20_OR_LATER(ah) ? \
|
|
|
+ MS(ads->ds_rxstatus0, AR_RxRate) : \
|
|
|
+ (ads->ds_rxstatus3 >> 2) & 0xFF)
|
|
|
+
|
|
|
+--- a/drivers/net/wireless/ath9k/reg.h
|
|
|
++++ b/drivers/net/wireless/ath9k/reg.h
|
|
|
+@@ -161,10 +161,6 @@
|
|
|
+ #define AR_SREV_VERSION_9100 0x014
|
|
|
+
|
|
|
+ #define AR_SREV_9100(ah) ((ah->hw_version.macVersion) == AR_SREV_VERSION_9100)
|
|
|
+-#define AR_SREV_5416_V20_OR_LATER(_ah) \
|
|
|
+- (AR_SREV_9100((_ah)) || AR_SREV_5416_20_OR_LATER(_ah))
|
|
|
+-#define AR_SREV_5416_V22_OR_LATER(_ah) \
|
|
|
+- (AR_SREV_9100((_ah)) || AR_SREV_5416_22_OR_LATER(_ah))
|
|
|
+
|
|
|
+ #define AR_ISR 0x0080
|
|
|
+ #define AR_ISR_RXOK 0x00000001
|
|
|
+@@ -748,12 +744,19 @@
|
|
|
+
|
|
|
+ #define AR_SREV_9100_OR_LATER(_ah) \
|
|
|
+ (((_ah)->hw_version.macVersion >= AR_SREV_VERSION_5416_PCIE))
|
|
|
++
|
|
|
++#define AR_SREV_5416(_ah) \
|
|
|
++ (((_ah)->hw_version.macVersion == AR_SREV_VERSION_5416_PCI) || \
|
|
|
++ ((_ah)->hw_version.macVersion == AR_SREV_VERSION_5416_PCIE))
|
|
|
+ #define AR_SREV_5416_20_OR_LATER(_ah) \
|
|
|
+- (((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9160) || \
|
|
|
+- ((_ah)->hw_version.macRev >= AR_SREV_REVISION_5416_20))
|
|
|
++ (((AR_SREV_5416(_ah)) && \
|
|
|
++ ((_ah)->hw_version.macRev >= AR_SREV_REVISION_5416_20)) || \
|
|
|
++ ((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9100))
|
|
|
+ #define AR_SREV_5416_22_OR_LATER(_ah) \
|
|
|
+- (((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9160) || \
|
|
|
+- ((_ah)->hw_version.macRev >= AR_SREV_REVISION_5416_22))
|
|
|
++ (((AR_SREV_5416(_ah)) && \
|
|
|
++ ((_ah)->hw_version.macRev >= AR_SREV_REVISION_5416_22)) || \
|
|
|
++ ((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9100))
|
|
|
++
|
|
|
+ #define AR_SREV_9160(_ah) \
|
|
|
+ (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9160))
|
|
|
+ #define AR_SREV_9160_10_OR_LATER(_ah) \
|