diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/htc.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/htc.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc.h b/drivers/net/wireless/ath/ath9k/htc.h index 777064945fca..78213fc71b09 100644 --- a/drivers/net/wireless/ath/ath9k/htc.h +++ b/drivers/net/wireless/ath/ath9k/htc.h | |||
@@ -309,6 +309,14 @@ struct ath_led { | |||
309 | int brightness; | 309 | int brightness; |
310 | }; | 310 | }; |
311 | 311 | ||
312 | struct htc_beacon_config { | ||
313 | u16 beacon_interval; | ||
314 | u16 listen_interval; | ||
315 | u16 dtim_period; | ||
316 | u16 bmiss_timeout; | ||
317 | u8 dtim_count; | ||
318 | }; | ||
319 | |||
312 | #define OP_INVALID BIT(0) | 320 | #define OP_INVALID BIT(0) |
313 | #define OP_SCANNING BIT(1) | 321 | #define OP_SCANNING BIT(1) |
314 | #define OP_FULL_RESET BIT(2) | 322 | #define OP_FULL_RESET BIT(2) |
@@ -349,7 +357,11 @@ struct ath9k_htc_priv { | |||
349 | struct sk_buff *beacon; | 357 | struct sk_buff *beacon; |
350 | spinlock_t beacon_lock; | 358 | spinlock_t beacon_lock; |
351 | 359 | ||
360 | bool tx_queues_stop; | ||
361 | spinlock_t tx_lock; | ||
362 | |||
352 | struct ieee80211_vif *vif; | 363 | struct ieee80211_vif *vif; |
364 | struct htc_beacon_config cur_beacon_conf; | ||
353 | unsigned int rxfilter; | 365 | unsigned int rxfilter; |
354 | struct tasklet_struct wmi_tasklet; | 366 | struct tasklet_struct wmi_tasklet; |
355 | struct tasklet_struct rx_tasklet; | 367 | struct tasklet_struct rx_tasklet; |
@@ -360,6 +372,11 @@ struct ath9k_htc_priv { | |||
360 | struct ath9k_htc_aggr_work aggr_work; | 372 | struct ath9k_htc_aggr_work aggr_work; |
361 | struct delayed_work ath9k_aggr_work; | 373 | struct delayed_work ath9k_aggr_work; |
362 | struct delayed_work ath9k_ani_work; | 374 | struct delayed_work ath9k_ani_work; |
375 | struct work_struct ps_work; | ||
376 | |||
377 | struct mutex htc_pm_lock; | ||
378 | unsigned long ps_usecount; | ||
379 | bool ps_enabled; | ||
363 | 380 | ||
364 | struct ath_led radio_led; | 381 | struct ath_led radio_led; |
365 | struct ath_led assoc_led; | 382 | struct ath_led assoc_led; |
@@ -386,8 +403,7 @@ static inline void ath_read_cachesize(struct ath_common *common, int *csz) | |||
386 | } | 403 | } |
387 | 404 | ||
388 | void ath9k_htc_beacon_config(struct ath9k_htc_priv *priv, | 405 | void ath9k_htc_beacon_config(struct ath9k_htc_priv *priv, |
389 | struct ieee80211_vif *vif, | 406 | struct ieee80211_vif *vif); |
390 | struct ieee80211_bss_conf *bss_conf); | ||
391 | void ath9k_htc_swba(struct ath9k_htc_priv *priv, u8 beacon_pending); | 407 | void ath9k_htc_swba(struct ath9k_htc_priv *priv, u8 beacon_pending); |
392 | void ath9k_htc_beacon_update(struct ath9k_htc_priv *priv, | 408 | void ath9k_htc_beacon_update(struct ath9k_htc_priv *priv, |
393 | struct ieee80211_vif *vif); | 409 | struct ieee80211_vif *vif); |
@@ -415,6 +431,11 @@ int ath9k_rx_init(struct ath9k_htc_priv *priv); | |||
415 | void ath9k_rx_cleanup(struct ath9k_htc_priv *priv); | 431 | void ath9k_rx_cleanup(struct ath9k_htc_priv *priv); |
416 | void ath9k_host_rx_init(struct ath9k_htc_priv *priv); | 432 | void ath9k_host_rx_init(struct ath9k_htc_priv *priv); |
417 | void ath9k_rx_tasklet(unsigned long data); | 433 | void ath9k_rx_tasklet(unsigned long data); |
434 | u32 ath9k_htc_calcrxfilter(struct ath9k_htc_priv *priv); | ||
435 | |||
436 | void ath9k_htc_ps_wakeup(struct ath9k_htc_priv *priv); | ||
437 | void ath9k_htc_ps_restore(struct ath9k_htc_priv *priv); | ||
438 | void ath9k_ps_work(struct work_struct *work); | ||
418 | 439 | ||
419 | void ath9k_start_rfkill_poll(struct ath9k_htc_priv *priv); | 440 | void ath9k_start_rfkill_poll(struct ath9k_htc_priv *priv); |
420 | void ath9k_init_leds(struct ath9k_htc_priv *priv); | 441 | void ath9k_init_leds(struct ath9k_htc_priv *priv); |