Hi Raj, On Tuesday 19 June 2012 11:08 PM, Rajkumar Manoharan wrote: > On Tue, Jun 19, 2012 at 09:17:22PM +0530, Mohammed Shafi Shajakhan wrote: >> From: Mohammed Shafi Shajakhan<moham...@qca.qualcomm.com> >> >> *add structures, macros and variables for WoW, so that the driver >> can make use of it. >> *maintain a list for user enabled patterns and masks >> *track pattern slots for the hardware limitation on the >> maximum number of patterns that can be stored. >> *track interrupts enabled before WoW suspend, so >> that can be reconfigured after resume >> *have macros to parse user defined wow configurations to >> hardware code >> >> Cc: Senthil Balasubramanian<senth...@qca.qualcomm.com> >> Cc: Rajkumar Manoharan<rmano...@qca.qualcomm.com> >> Cc: vadi...@qca.qualcomm.com >> Tested-by: Mohammed Shafi Shajakhan<moham...@qca.qualcomm.com> >> Signed-off-by: Luis R. Rodriguez<mcg...@qca.qualcomm.com> >> Signed-off-by: Mohammed Shafi Shajakhan<moham...@qca.qualcomm.com> >> --- >> drivers/net/wireless/ath/ath9k/ath9k.h | 20 ++++++++++++++++++++ >> drivers/net/wireless/ath/ath9k/hw.h | 21 +++++++++++++++++++++ >> 2 files changed, 41 insertions(+), 0 deletions(-) >> >> diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h >> b/drivers/net/wireless/ath/ath9k/ath9k.h >> index a8c0500..264c25b 100644 >> --- a/drivers/net/wireless/ath/ath9k/ath9k.h >> +++ b/drivers/net/wireless/ath/ath9k/ath9k.h >> @@ -505,6 +505,19 @@ static inline u16 ath9k_btcoex_aggr_limit(struct >> ath_softc *sc, >> } >> #endif /* CONFIG_ATH9K_BTCOEX_SUPPORT */ >> >> +struct ath9k_wow_pattern { >> + bool slot; >> + u8 pattern_bytes[MAX_PATTERN_SIZE]; >> + u8 mask_bytes[MAX_PATTERN_SIZE]; >> + u32 pattern_len; >> + struct list_head list; >> +}; >> + >> +struct ath9k_wow_info { >> + u32 num_of_patterns; >> + struct list_head wow_patterns; >> +}; >> + >> /********************/ >> /* LED Control */ >> /********************/ >> @@ -706,6 +719,13 @@ struct ath_softc { >> struct ath_ant_comb ant_comb; >> u8 ant_tx, ant_rx; >> struct dfs_pattern_detector *dfs_detector; >> + >> +#ifdef CONFIG_PM_SLEEP >> + bool wow_got_bmiss_intr; >> + bool wow_sleep_proc_intr; /* in the middle of WoW sleep ? */ >> + u32 wow_intr_before_sleep; >> + struct ath9k_wow_info wow_info; >> +#endif >> }; >> >> void ath9k_tasklet(unsigned long data); >> diff --git a/drivers/net/wireless/ath/ath9k/hw.h >> b/drivers/net/wireless/ath/ath9k/hw.h >> index 03d5909..d0e14a3 100644 >> --- a/drivers/net/wireless/ath/ath9k/hw.h >> +++ b/drivers/net/wireless/ath/ath9k/hw.h >> @@ -179,6 +179,24 @@ >> #define PAPRD_TABLE_SZ 24 >> #define PAPRD_IDEAL_AGC2_PWR_RANGE 0xe0 >> >> +/* Wake on Wireless */ >> + >> +#define MAX_PATTERN_SIZE 256 >> +#define MAX_PATTERN_MASK_SIZE 32 >> +#define MAX_NUM_PATTERN 8 >> +#define MAX_NUM_USER_PATTERN 6 /* deducting the >> disassociate and >> + deauthenticate packets */ >> + >> +/* >> + * WoW trigger mapping to hardware code >> + */ >> + >> +#define AH_WOW_USER_PATTERN_EN BIT(0) >> +#define AH_WOW_MAGIC_PATTERN_EN BIT(1) >> +#define AH_WOW_LINK_CHANGE BIT(2) >> +#define AH_WOW_BEACON_MISS BIT(3) >> +#define AH_WOW_MAX_EVENTS 4 > Why do you need AH_WOW_MAX_EVENT? It looks like out of sync and also it is > never be used.
i will correct this out in v2. also found few more unused stuff, will correct it out. thanks for your review. -- thanks, shafi _______________________________________________ ath9k-devel mailing list ath9k-devel@lists.ath9k.org https://lists.ath9k.org/mailman/listinfo/ath9k-devel