Commit 3277b202 authored by Sujith Manoharan's avatar Sujith Manoharan Committed by Kalle Valo

ath9k: Clear additional WoW events

The events for patterns 8..15 need to be
cleared on wakeup.
Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 6aaefab6
...@@ -230,10 +230,12 @@ u32 ath9k_hw_wow_wakeup(struct ath_hw *ah) ...@@ -230,10 +230,12 @@ u32 ath9k_hw_wow_wakeup(struct ath_hw *ah)
AR_PMCTRL_PWR_STATE_D1D3); AR_PMCTRL_PWR_STATE_D1D3);
/* /*
* clear all events * Clear all events.
*/ */
REG_WRITE(ah, AR_WOW_PATTERN, REG_WRITE(ah, AR_WOW_PATTERN,
AR_WOW_CLEAR_EVENTS(REG_READ(ah, AR_WOW_PATTERN))); AR_WOW_CLEAR_EVENTS(REG_READ(ah, AR_WOW_PATTERN)));
REG_WRITE(ah, AR_MAC_PCU_WOW4,
AR_WOW_CLEAR_EVENTS2(REG_READ(ah, AR_MAC_PCU_WOW4)));
/* /*
* restore the beacon threshold to init value * restore the beacon threshold to init value
...@@ -251,6 +253,7 @@ u32 ath9k_hw_wow_wakeup(struct ath_hw *ah) ...@@ -251,6 +253,7 @@ u32 ath9k_hw_wow_wakeup(struct ath_hw *ah)
ath9k_hw_configpcipowersave(ah, false); ath9k_hw_configpcipowersave(ah, false);
ah->wow.wow_event_mask = 0; ah->wow.wow_event_mask = 0;
ah->wow.wow_event_mask2 = 0;
return wow_status; return wow_status;
} }
......
...@@ -90,11 +90,13 @@ ...@@ -90,11 +90,13 @@
AR_WOW_BEACON_FAIL | \ AR_WOW_BEACON_FAIL | \
AR_WOW_KEEP_ALIVE_FAIL)) AR_WOW_KEEP_ALIVE_FAIL))
#define AR_WOW2_PATTERN_EN(x) ((x & 0xff) << 0)
#define AR_WOW2_PATTERN_FOUND_SHIFT 8 #define AR_WOW2_PATTERN_FOUND_SHIFT 8
#define AR_WOW2_PATTERN_FOUND(x) (x & (0xff << AR_WOW2_PATTERN_FOUND_SHIFT)) #define AR_WOW2_PATTERN_FOUND(x) (x & (0xff << AR_WOW2_PATTERN_FOUND_SHIFT))
#define AR_WOW2_PATTERN_FOUND_MASK ((0xff) << AR_WOW2_PATTERN_FOUND_SHIFT) #define AR_WOW2_PATTERN_FOUND_MASK ((0xff) << AR_WOW2_PATTERN_FOUND_SHIFT)
#define AR_WOW_STATUS2(x) (x & AR_WOW2_PATTERN_FOUND_MASK) #define AR_WOW_STATUS2(x) (x & AR_WOW2_PATTERN_FOUND_MASK)
#define AR_WOW_CLEAR_EVENTS2(x) (x & ~(AR_WOW2_PATTERN_EN(0xff)))
#define AR_WOW_AIFS_CNT(x) (x & 0xff) #define AR_WOW_AIFS_CNT(x) (x & 0xff)
#define AR_WOW_SLOT_CNT(x) ((x & 0xff) << 8) #define AR_WOW_SLOT_CNT(x) ((x & 0xff) << 8)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment