ath9k: Set keep awake timer
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Thu, 5 Feb 2015 04:52:39 +0000 (10:22 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 26 Feb 2015 12:58:35 +0000 (14:58 +0200)
When MCI is enabled and WoW sleep is enabled,
make sure that the RTC keep awake timer is set
with the required value. This is also required
when the AR_WA is programmed.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath9k/ar9003_wow.c

index 5e707c8..721caf3 100644 (file)
@@ -44,6 +44,9 @@ static void ath9k_hw_set_powermode_wow_sleep(struct ath_hw *ah)
                        REG_CLR_BIT(ah, AR_DIRECT_CONNECT, AR_DC_TSF2_ENABLE);
        }
 
+       if (ath9k_hw_mci_is_enabled(ah))
+               REG_WRITE(ah, AR_RTC_KEEP_AWAKE, 0x2);
+
        REG_WRITE(ah, AR_RTC_FORCE_WAKE, AR_RTC_FORCE_WAKE_ON_INT);
 }
 
@@ -407,6 +410,9 @@ void ath9k_hw_wow_enable(struct ath_hw *ah, u32 pattern_enable)
 
        ath9k_hw_wow_set_arwr_reg(ah);
 
+       if (ath9k_hw_mci_is_enabled(ah))
+               REG_WRITE(ah, AR_RTC_KEEP_AWAKE, 0x2);
+
        /* HW WoW */
        REG_CLR_BIT(ah, AR_PCU_MISC_MODE3, BIT(5));