aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/ar9003_hw.c
diff options
context:
space:
mode:
authorSujith Manoharan <c_manoha@qca.qualcomm.com>2013-08-25 05:13:09 -0400
committerJohn W. Linville <linville@tuxdriver.com>2013-08-26 14:09:05 -0400
commitb380a43b52bee70f2e31ed573d33191efd82f5ae (patch)
tree1b05b7dd7a7ec9e85a8cdbdd92d44e65091c251f /drivers/net/wireless/ath/ath9k/ar9003_hw.c
parent587b36d3642bdc921f4d624a740b6d91f779324b (diff)
ath9k: Fix ASPM for AR9462
If the L1 entrance latency is not calibrated properly in the EEPROM in WB222 boards, there could be problems in connectivity. Check and correct the calibrated value if it doesn't match the optimal value for WB222, 4us. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ar9003_hw.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_hw.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_hw.c b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
index 738aa7e454d8..582cddddddd7 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_hw.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
@@ -745,6 +745,20 @@ static void ar9003_hw_init_mode_gain_regs(struct ath_hw *ah)
745static void ar9003_hw_configpcipowersave(struct ath_hw *ah, 745static void ar9003_hw_configpcipowersave(struct ath_hw *ah,
746 bool power_off) 746 bool power_off)
747{ 747{
748 /*
749 * Increase L1 Entry Latency. Some WB222 boards don't have
750 * this change in eeprom/OTP.
751 *
752 */
753 if (AR_SREV_9462(ah)) {
754 u32 val = ah->config.aspm_l1_fix;
755 if ((val & 0xff000000) == 0x17000000) {
756 val &= 0x00ffffff;
757 val |= 0x27000000;
758 REG_WRITE(ah, 0x570c, val);
759 }
760 }
761
748 /* Nothing to do on restore for 11N */ 762 /* Nothing to do on restore for 11N */
749 if (!power_off /* !restore */) { 763 if (!power_off /* !restore */) {
750 /* set bit 19 to allow forcing of pcie core into L1 state */ 764 /* set bit 19 to allow forcing of pcie core into L1 state */