Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d5c4d193 authored by Luis R. Rodriguez's avatar Luis R. Rodriguez Committed by John W. Linville
Browse files

ath9k_hw: dynamically choose the SERDES array for low power



The array we use will vary depending on whether or not we are
to go to lower power or not. The default values (iniPcieSerdes)
are a copy or what go into the registers through the INI files.

Cc: Aeolus Yang <aeolus.yang@atheros.com>
Cc: Madhan Jaganathan <madhan.jaganathan@atheros.com>
Signed-off-by: default avatarLuis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 6a0ec30a
Loading
Loading
Loading
Loading
+7 −3
Original line number Original line Diff line number Diff line
@@ -305,11 +305,15 @@ static void ar9003_hw_configpcipowersave(struct ath_hw *ah,
	 */
	 */
	if (ah->config.pcieSerDesWrite) {
	if (ah->config.pcieSerDesWrite) {
		unsigned int i;
		unsigned int i;
		struct ar5416IniArray *array;


		for (i = 0; i < ah->iniPcieSerdesLowPower.ia_rows; i++) {
		array = power_off ? &ah->iniPcieSerdes :
				    &ah->iniPcieSerdesLowPower;

		for (i = 0; i < array->ia_rows; i++) {
			REG_WRITE(ah,
			REG_WRITE(ah,
				  INI_RA(&ah->iniPcieSerdesLowPower, i, 0),
				  INI_RA(array, i, 0),
				  INI_RA(&ah->iniPcieSerdesLowPower, i, 1));
				  INI_RA(array, i, 1));
		}
		}
	}
	}
}
}