diff options
author | Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> | 2012-07-10 05:26:52 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-07-12 15:27:17 -0400 |
commit | b11e640aef3e23ef3834ce95b27640d28680c79b (patch) | |
tree | 9d350ee2d51a4ad790f49c6f229819371c687a49 /drivers/net/wireless/ath/ath9k/ath9k.h | |
parent | b3ba6c529b80e714b8941a7fa7397272afc685b6 (diff) |
ath9k: Add WoW related mac80211 callbacks
add suspend/resume/set_wakeup callbacks to the driver
*suspend
- bail out only if all the conditions for configuring WoW.
is fine, currently multivif case is not handled
- check for associated state.
- map wow triggers from user space data.
- add deauth/disassoc pattern and user defined pattern,
for the later a list is maintained.
- store the interrupt mask before suspend, enabled beacon
miss interrupt for WoW.
- configure WoW in the hardware by calling ath9k_hw_wow_enable.
*resume
- restore the interrupts based on the interrupt mask
stored before suspend.
- call ath9k_hw_wow_wakeup to configure/restore the hardware.
- after wow wakeup clear away WoW events and query the
WoW wakeup reason from the status register
*set_wakeup
- to call 'device_set_wakeup_enable' from cfg80211/mac80211
when wow is configured and as per Rafael/Johannnes the
right way to do so rather in the driver suspend/resume
call back
Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Cc: vadivel@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ath9k.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ath9k.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h index f9c88dc0ef96..54f0c9d00493 100644 --- a/drivers/net/wireless/ath/ath9k/ath9k.h +++ b/drivers/net/wireless/ath/ath9k/ath9k.h | |||
@@ -717,6 +717,7 @@ struct ath_softc { | |||
717 | struct ath_ant_comb ant_comb; | 717 | struct ath_ant_comb ant_comb; |
718 | u8 ant_tx, ant_rx; | 718 | u8 ant_tx, ant_rx; |
719 | struct dfs_pattern_detector *dfs_detector; | 719 | struct dfs_pattern_detector *dfs_detector; |
720 | u32 wow_enabled; | ||
720 | 721 | ||
721 | #ifdef CONFIG_PM_SLEEP | 722 | #ifdef CONFIG_PM_SLEEP |
722 | atomic_t wow_got_bmiss_intr; | 723 | atomic_t wow_got_bmiss_intr; |