aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/hw.c
diff options
context:
space:
mode:
authorMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>2011-11-30 00:11:25 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-11-30 15:08:52 -0500
commit7a9233ff6de823d14a26662697813bee82617268 (patch)
treed79065b79e2ff74d30f441006a8835a40ec49642 /drivers/net/wireless/ath/ath9k/hw.c
parent1010911ec389fe7a342b9962877fdb88d7f04247 (diff)
ath9k_hw: MCI related changes in set_reset_reg
Cc: Wilson Tsao <wtsao@qca.qualcomm.com> Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com> Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index ba5734aa46c4..1d71d1ba202c 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1350,6 +1350,7 @@ static bool ath9k_hw_set_reset_power_on(struct ath_hw *ah)
1350 1350
1351static bool ath9k_hw_set_reset_reg(struct ath_hw *ah, u32 type) 1351static bool ath9k_hw_set_reset_reg(struct ath_hw *ah, u32 type)
1352{ 1352{
1353 bool ret = false;
1353 1354
1354 if (AR_SREV_9300_20_OR_LATER(ah)) { 1355 if (AR_SREV_9300_20_OR_LATER(ah)) {
1355 REG_WRITE(ah, AR_WA, ah->WARegVal); 1356 REG_WRITE(ah, AR_WA, ah->WARegVal);
@@ -1361,13 +1362,20 @@ static bool ath9k_hw_set_reset_reg(struct ath_hw *ah, u32 type)
1361 1362
1362 switch (type) { 1363 switch (type) {
1363 case ATH9K_RESET_POWER_ON: 1364 case ATH9K_RESET_POWER_ON:
1364 return ath9k_hw_set_reset_power_on(ah); 1365 ret = ath9k_hw_set_reset_power_on(ah);
1366 break;
1365 case ATH9K_RESET_WARM: 1367 case ATH9K_RESET_WARM:
1366 case ATH9K_RESET_COLD: 1368 case ATH9K_RESET_COLD:
1367 return ath9k_hw_set_reset(ah, type); 1369 ret = ath9k_hw_set_reset(ah, type);
1370 break;
1368 default: 1371 default:
1369 return false; 1372 break;
1370 } 1373 }
1374
1375 if (ah->caps.hw_caps & ATH9K_HW_CAP_MCI)
1376 REG_WRITE(ah, AR_RTC_KEEP_AWAKE, 0x2);
1377
1378 return ret;
1371} 1379}
1372 1380
1373static bool ath9k_hw_chip_reset(struct ath_hw *ah, 1381static bool ath9k_hw_chip_reset(struct ath_hw *ah,