ath9k_hw: add pcieSerDesWrite to disable SERDES ASPM tweaks
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Mon, 21 Jun 2010 22:38:49 +0000 (18:38 -0400)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 23 Jun 2010 19:14:02 +0000 (15:14 -0400)
This can be useful during testing of new ASPM tweaks which often
have to be done through the PCI Serializer-Deserializer (SERDES).

Cc: Aeolus Yang <aeolus.yang@atheros.com>
Cc: Madhan Jaganathan <madhan.jaganathan@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ar9003_hw.c
drivers/net/wireless/ath/ath9k/hw.c
drivers/net/wireless/ath/ath9k/hw.h

index efabab8d50c9f639dd41c20e193335de71b00740..99bde5f96a83e3c483dc0da0e8002ec35d8b919b 100644 (file)
@@ -303,7 +303,7 @@ static void ar9003_hw_configpcipowersave(struct ath_hw *ah,
         * Configire PCIE after Ini init. SERDES values now come from ini file
         * This enables PCIe low power mode.
         */
-       if (AR_SREV_9300_20_OR_LATER(ah)) {
+       if (ah->config.pcieSerDesWrite) {
                unsigned int i;
 
                for (i = 0; i < ah->iniPcieSerdesLowPower.ia_rows; i++) {
index 3ee7d4e0499f80ceeffc76ed9724bd9113db6514..e9764dc43121729523b302f7594a1b6ba38d441c 100644 (file)
@@ -388,6 +388,7 @@ static void ath9k_hw_init_config(struct ath_hw *ah)
                ah->config.ht_enable = 0;
 
        ah->config.rx_intr_mitigation = true;
+       ah->config.pcieSerDesWrite = true;
 
        /*
         * We need this for PCI devices only (Cardbus, PCI, miniPCI)
index 6c6d47b0ed1b3c9d84ef529f2baea8cd6392122d..e9578a4c912f510b713f4e6248dbbfd7eb06ca97 100644 (file)
@@ -235,6 +235,7 @@ struct ath9k_ops_config {
        int ack_6mb;
        u32 cwm_ignore_extcca;
        u8 pcie_powersave_enable;
+       bool pcieSerDesWrite;
        u8 pcie_clock_req;
        u32 pcie_waen;
        u8 analog_shiftreg;