forked from Minki/linux
ath9k: Clear additional WoW events
The events for patterns 8..15 need to be cleared on wakeup. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
6aaefab6cf
commit
3277b20270
@ -230,10 +230,12 @@ u32 ath9k_hw_wow_wakeup(struct ath_hw *ah)
|
||||
AR_PMCTRL_PWR_STATE_D1D3);
|
||||
|
||||
/*
|
||||
* clear all events
|
||||
* Clear all events.
|
||||
*/
|
||||
REG_WRITE(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
|
||||
@ -251,6 +253,7 @@ u32 ath9k_hw_wow_wakeup(struct ath_hw *ah)
|
||||
ath9k_hw_configpcipowersave(ah, false);
|
||||
|
||||
ah->wow.wow_event_mask = 0;
|
||||
ah->wow.wow_event_mask2 = 0;
|
||||
|
||||
return wow_status;
|
||||
}
|
||||
|
@ -90,11 +90,13 @@
|
||||
AR_WOW_BEACON_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(x) (x & (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_CLEAR_EVENTS2(x) (x & ~(AR_WOW2_PATTERN_EN(0xff)))
|
||||
|
||||
#define AR_WOW_AIFS_CNT(x) (x & 0xff)
|
||||
#define AR_WOW_SLOT_CNT(x) ((x & 0xff) << 8)
|
||||
|
Loading…
Reference in New Issue
Block a user