소스 검색

ath9k_hw: add pcieSerDesWrite to disable SERDES ASPM tweaks

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>
Luis R. Rodriguez 15 년 전
부모
커밋
6a0ec30ad4
3개의 변경된 파일3개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      drivers/net/wireless/ath/ath9k/ar9003_hw.c
  2. 1 0
      drivers/net/wireless/ath/ath9k/hw.c
  3. 1 0
      drivers/net/wireless/ath/ath9k/hw.h

+ 1 - 1
drivers/net/wireless/ath/ath9k/ar9003_hw.c

@@ -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++) {

+ 1 - 0
drivers/net/wireless/ath/ath9k/hw.c

@@ -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)

+ 1 - 0
drivers/net/wireless/ath/ath9k/hw.h

@@ -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;