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

Reply via email to