diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2010-05-07 18:23:22 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-05-10 14:56:46 -0400 |
commit | 5efa3a6bf4dd1674920d7419cbde9d731cdb61f1 (patch) | |
tree | e7c229de1a6b9abd7f0d5941c96074ae210a7c16 /drivers/net | |
parent | 9e385c56a1eecfb62dbc5162037fb4ed1676b27e (diff) |
ath9k_hw: enable PCIe low power mode for AR9003
Cc: Paul Shaw <paul.shaw@atheros.com>
Cc: Don Breslin <don.breslin@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 20 |
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 |