summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 8f37f1c2a380..f2d0389a66c0 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -573,6 +573,26 @@ static int __ath9k_hw_init(struct ath_hw *ah)
573 573
574 ath9k_hw_init_mode_regs(ah); 574 ath9k_hw_init_mode_regs(ah);
575 575
576 /*
577 * Configire PCIE after Ini init. SERDES values now come from ini file
578 * This enables PCIe low power mode.
579 */
580 if (AR_SREV_9300_20_OR_LATER(ah)) {
581 u32 regval;
582 unsigned int i;
583
584 /* Set Bits 16 and 17 in the AR_WA register. */
585 regval = REG_READ(ah, AR_WA);
586 regval |= 0x00030000;
587 REG_WRITE(ah, AR_WA, regval);
588
589 for (i = 0; i < ah->iniPcieSerdesLowPower.ia_rows; i++) {
590 REG_WRITE(ah,
591 INI_RA(&ah->iniPcieSerdesLowPower, i, 0),
592 INI_RA(&ah->iniPcieSerdesLowPower, i, 1));
593 }
594 }
595
576 if (ah->is_pciexpress) 596 if (ah->is_pciexpress)
577 ath9k_hw_configpcipowersave(ah, 0, 0); 597 ath9k_hw_configpcipowersave(ah, 0, 0);
578 else 598 else