aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan <vasanth@atheros.com>2010-12-06 07:27:48 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-12-07 16:34:56 -0500
commit9936e65fae6d95c2acc2438c60a8f4908130530e (patch)
tree672db50364c1ae7e35cf7981b8a8ad1fd3dc0998 /drivers/net/wireless/ath
parentd9a2545ac713e26ab8c8eee741d2da1626cebd6e (diff)
ath9k_hw: Configure xpa bias level for AR9485
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath')
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_eeprom.c12
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_phy.h4
2 files changed, 13 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
index 372831dc94bd..819b0a6cb83e 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
@@ -3450,9 +3450,15 @@ static s32 ar9003_hw_xpa_bias_level_get(struct ath_hw *ah, bool is2ghz)
3450static void ar9003_hw_xpa_bias_level_apply(struct ath_hw *ah, bool is2ghz) 3450static void ar9003_hw_xpa_bias_level_apply(struct ath_hw *ah, bool is2ghz)
3451{ 3451{
3452 int bias = ar9003_hw_xpa_bias_level_get(ah, is2ghz); 3452 int bias = ar9003_hw_xpa_bias_level_get(ah, is2ghz);
3453 REG_RMW_FIELD(ah, AR_CH0_TOP, AR_CH0_TOP_XPABIASLVL, bias); 3453
3454 REG_RMW_FIELD(ah, AR_CH0_THERM, AR_CH0_THERM_XPABIASLVL_MSB, bias >> 2); 3454 if (AR_SREV_9485(ah))
3455 REG_RMW_FIELD(ah, AR_CH0_THERM, AR_CH0_THERM_XPASHORT2GND, 1); 3455 REG_RMW_FIELD(ah, AR_CH0_TOP2, AR_CH0_TOP2_XPABIASLVL, bias);
3456 else {
3457 REG_RMW_FIELD(ah, AR_CH0_TOP, AR_CH0_TOP_XPABIASLVL, bias);
3458 REG_RMW_FIELD(ah, AR_CH0_THERM, AR_CH0_THERM_XPABIASLVL_MSB,
3459 bias >> 2);
3460 REG_RMW_FIELD(ah, AR_CH0_THERM, AR_CH0_THERM_XPASHORT2GND, 1);
3461 }
3456} 3462}
3457 3463
3458static u32 ar9003_hw_ant_ctrl_common_get(struct ath_hw *ah, bool is2ghz) 3464static u32 ar9003_hw_ant_ctrl_common_get(struct ath_hw *ah, bool is2ghz)
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.h b/drivers/net/wireless/ath/ath9k/ar9003_phy.h
index 3394dfe52b42..b7720819872b 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.h
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.h
@@ -584,6 +584,10 @@
584#define AR_PHY_65NM_CH2_RXTX1 0x16900 584#define AR_PHY_65NM_CH2_RXTX1 0x16900
585#define AR_PHY_65NM_CH2_RXTX2 0x16904 585#define AR_PHY_65NM_CH2_RXTX2 0x16904
586 586
587#define AR_CH0_TOP2 (AR_SREV_9485(ah) ? 0x00016284 : 0x0001628c)
588#define AR_CH0_TOP2_XPABIASLVL 0xf000
589#define AR_CH0_TOP2_XPABIASLVL_S 12
590
587#define AR_PHY_RX1DB_BIQUAD_LONG_SHIFT 0x00380000 591#define AR_PHY_RX1DB_BIQUAD_LONG_SHIFT 0x00380000
588#define AR_PHY_RX1DB_BIQUAD_LONG_SHIFT_S 19 592#define AR_PHY_RX1DB_BIQUAD_LONG_SHIFT_S 19
589#define AR_PHY_RX6DB_BIQUAD_LONG_SHIFT 0x00c00000 593#define AR_PHY_RX6DB_BIQUAD_LONG_SHIFT 0x00c00000