diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ath9k.h')
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/ath9k.h | 31 | 
1 files changed, 18 insertions, 13 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h index 099bd4183ad..03b37d7be1c 100644 --- a/drivers/net/wireless/ath/ath9k/ath9k.h +++ b/drivers/net/wireless/ath/ath9k/ath9k.h @@ -62,7 +62,6 @@ struct ath_node;  #define	ATH_TXQ_SETUP(sc, i)        ((sc)->tx.txqsetup & (1<<i))  struct ath_config { -	u32 ath_aggr_prot;  	u16 txpowlimit;  	u8 cabqReadytime;  }; @@ -120,13 +119,11 @@ void ath_descdma_cleanup(struct ath_softc *sc, struct ath_descdma *dd,  /* RX / TX */  /***********/ -#define ATH_MAX_ANTENNA         3  #define ATH_RXBUF               512  #define ATH_TXBUF               512  #define ATH_TXBUF_RESERVE       5  #define ATH_MAX_QDEPTH          (ATH_TXBUF / 4 - ATH_TXBUF_RESERVE)  #define ATH_TXMAXTRY            13 -#define ATH_MGT_TXMAXTRY        4  #define TID_TO_WME_AC(_tid)				\  	((((_tid) == 0) || ((_tid) == 3)) ? WME_AC_BE :	\ @@ -202,6 +199,7 @@ struct ath_atx_ac {  	int sched;  	struct list_head list;  	struct list_head tid_q; +	bool clear_ps_filter;  };  struct ath_frame_info { @@ -257,8 +255,12 @@ struct ath_node {  #endif  	struct ath_atx_tid tid[WME_NUM_TID];  	struct ath_atx_ac ac[WME_NUM_AC]; +	int ps_key; +  	u16 maxampdu;  	u8 mpdudensity; + +	bool sleeping;  };  #define AGGR_CLEANUP         BIT(1) @@ -340,17 +342,18 @@ int ath_tx_aggr_start(struct ath_softc *sc, struct ieee80211_sta *sta,  void ath_tx_aggr_stop(struct ath_softc *sc, struct ieee80211_sta *sta, u16 tid);  void ath_tx_aggr_resume(struct ath_softc *sc, struct ieee80211_sta *sta, u16 tid); +void ath_tx_aggr_wakeup(struct ath_softc *sc, struct ath_node *an); +bool ath_tx_aggr_sleep(struct ath_softc *sc, struct ath_node *an); +  /********/  /* VIFs */  /********/  struct ath_vif {  	int av_bslot; -	bool is_bslot_active; +	bool is_bslot_active, primary_sta_vif;  	__le64 tsf_adjust; /* TSF adjustment for staggered beacons */ -	enum nl80211_iftype av_opmode;  	struct ath_buf *av_bcbuf; -	u8 bssid[ETH_ALEN]; /* current BSSID from config_interface */  };  /*******************/ @@ -362,7 +365,7 @@ struct ath_vif {   * number of BSSIDs) if a given beacon does not go out even after waiting this   * number of beacon intervals, the game's up.   */ -#define BSTUCK_THRESH           	(9 * ATH_BCBUF) +#define BSTUCK_THRESH           	9  #define	ATH_BCBUF               	4  #define ATH_DEFAULT_BINTVAL     	100 /* TU */  #define ATH_DEFAULT_BMISS_LIMIT 	10 @@ -386,7 +389,7 @@ struct ath_beacon {  	u32 beaconq;  	u32 bmisscnt;  	u32 ast_be_xmit; -	u64 bc_tstamp; +	u32 bc_tstamp;  	struct ieee80211_vif *bslot[ATH_BCBUF];  	int slottime;  	int slotupdate; @@ -401,6 +404,7 @@ void ath_beacon_config(struct ath_softc *sc, struct ieee80211_vif *vif);  int ath_beacon_alloc(struct ath_softc *sc, struct ieee80211_vif *vif);  void ath_beacon_return(struct ath_softc *sc, struct ath_vif *avp);  int ath_beaconq_config(struct ath_softc *sc); +void ath_set_beacon(struct ath_softc *sc);  void ath9k_set_beaconing_status(struct ath_softc *sc, bool status);  /*******/ @@ -418,6 +422,7 @@ void ath9k_set_beaconing_status(struct ath_softc *sc, bool status);  #define ATH_PAPRD_TIMEOUT	100 /* msecs */  void ath_hw_check(struct work_struct *work); +void ath_hw_pll_work(struct work_struct *work);  void ath_paprd_calibrate(struct work_struct *work);  void ath_ani_calibrate(unsigned long data); @@ -448,6 +453,7 @@ void ath9k_btcoex_timer_pause(struct ath_softc *sc);  #define ATH_LED_PIN_DEF 		1  #define ATH_LED_PIN_9287		8 +#define ATH_LED_PIN_9300		10  #define ATH_LED_PIN_9485		6  #ifdef CONFIG_MAC80211_LEDS @@ -477,7 +483,6 @@ static inline void ath_deinit_leds(struct ath_softc *sc)  #define ATH_ANT_DIV_COMB_ALT_ANT_RATIO 30  #define ATH_ANT_DIV_COMB_ALT_ANT_RATIO2 20 -#define ATH_ANT_DIV_COMB_LNA1_LNA2_DELTA -3  #define ATH_ANT_DIV_COMB_LNA1_LNA2_SWITCH_DELTA -1  #define ATH_ANT_DIV_COMB_LNA1_DELTA_HI -4  #define ATH_ANT_DIV_COMB_LNA1_DELTA_MID -2 @@ -550,6 +555,7 @@ struct ath_ant_comb {  #define SC_OP_BT_SCAN		     BIT(13)  #define SC_OP_ANI_RUN		     BIT(14)  #define SC_OP_ENABLE_APM	     BIT(15) +#define SC_OP_PRIM_STA_VIF	     BIT(16)  /* Powersave flags */  #define PS_WAIT_FOR_BEACON        BIT(0) @@ -557,6 +563,7 @@ struct ath_ant_comb {  #define PS_WAIT_FOR_PSPOLL_DATA   BIT(2)  #define PS_WAIT_FOR_TX_ACK        BIT(3)  #define PS_BEACON_SYNC            BIT(4) +#define PS_TSFOOR_SYNC            BIT(5)  struct ath_rate_table; @@ -667,7 +674,7 @@ void ath_radio_disable(struct ath_softc *sc, struct ieee80211_hw *hw);  bool ath9k_setpower(struct ath_softc *sc, enum ath9k_power_mode mode);  bool ath9k_uses_beacons(int type); -#ifdef CONFIG_PCI +#ifdef CONFIG_ATH9K_PCI  int ath_pci_init(void);  void ath_pci_exit(void);  #else @@ -675,7 +682,7 @@ static inline int ath_pci_init(void) { return 0; };  static inline void ath_pci_exit(void) {};  #endif -#ifdef CONFIG_ATHEROS_AR71XX +#ifdef CONFIG_ATH9K_AHB  int ath_ahb_init(void);  void ath_ahb_exit(void);  #else @@ -688,8 +695,6 @@ void ath9k_ps_restore(struct ath_softc *sc);  u8 ath_txchainmask_reduction(struct ath_softc *sc, u8 chainmask, u32 rate); -void ath9k_set_bssid_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif); -  void ath_start_rfkill_poll(struct ath_softc *sc);  extern void ath9k_rfkill_poll_state(struct ieee80211_hw *hw);  void ath9k_calculate_iter_data(struct ieee80211_hw *hw,  |