diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/htc.h')
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/htc.h | 38 | 
1 files changed, 17 insertions, 21 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc.h b/drivers/net/wireless/ath/ath9k/htc.h index c251603ab03..3756400e6bf 100644 --- a/drivers/net/wireless/ath/ath9k/htc.h +++ b/drivers/net/wireless/ath/ath9k/htc.h @@ -223,15 +223,6 @@ struct ath9k_htc_sta {  	enum tid_aggr_state tid_state[ATH9K_HTC_MAX_TID];  }; -struct ath9k_htc_aggr_work { -	u16 tid; -	u8 sta_addr[ETH_ALEN]; -	struct ieee80211_hw *hw; -	struct ieee80211_vif *vif; -	enum ieee80211_ampdu_mlme_action action; -	struct mutex mutex; -}; -  #define ATH9K_HTC_RXBUF 256  #define HTC_RX_FRAME_HEADER_SIZE 40 @@ -257,12 +248,15 @@ struct ath9k_htc_tx_ctl {  #define TX_STAT_INC(c) (hif_dev->htc_handle->drv_priv->debug.tx_stats.c++)  #define RX_STAT_INC(c) (hif_dev->htc_handle->drv_priv->debug.rx_stats.c++) +#define TX_QSTAT_INC(q) (priv->debug.tx_stats.queue_stats[q]++) +  struct ath_tx_stats {  	u32 buf_queued;  	u32 buf_completed;  	u32 skb_queued;  	u32 skb_completed;  	u32 skb_dropped; +	u32 queue_stats[WME_NUM_AC];  };  struct ath_rx_stats { @@ -286,11 +280,14 @@ struct ath9k_debug {  #define TX_STAT_INC(c) do { } while (0)  #define RX_STAT_INC(c) do { } while (0) +#define TX_QSTAT_INC(c) do { } while (0) +  #endif /* CONFIG_ATH9K_HTC_DEBUGFS */  #define ATH_LED_PIN_DEF             1  #define ATH_LED_PIN_9287            8  #define ATH_LED_PIN_9271            15 +#define ATH_LED_PIN_7010            12  #define ATH_LED_ON_DURATION_IDLE    350	/* in msecs */  #define ATH_LED_OFF_DURATION_IDLE   250	/* in msecs */ @@ -326,11 +323,10 @@ struct htc_beacon_config {  #define OP_LED_ON         BIT(4)  #define OP_PREAMBLE_SHORT BIT(5)  #define OP_PROTECT_ENABLE BIT(6) -#define OP_TXAGGR         BIT(7) -#define OP_ASSOCIATED     BIT(8) -#define OP_ENABLE_BEACON  BIT(9) -#define OP_LED_DEINIT     BIT(10) -#define OP_UNPLUGGED      BIT(11) +#define OP_ASSOCIATED     BIT(7) +#define OP_ENABLE_BEACON  BIT(8) +#define OP_LED_DEINIT     BIT(9) +#define OP_UNPLUGGED      BIT(10)  struct ath9k_htc_priv {  	struct device *dev; @@ -371,8 +367,6 @@ struct ath9k_htc_priv {  	struct ath9k_htc_rx rx;  	struct tasklet_struct tx_tasklet;  	struct sk_buff_head tx_queue; -	struct ath9k_htc_aggr_work aggr_work; -	struct delayed_work ath9k_aggr_work;  	struct delayed_work ath9k_ani_work;  	struct work_struct ps_work; @@ -390,13 +384,14 @@ struct ath9k_htc_priv {  	int led_off_duration;  	int led_on_cnt;  	int led_off_cnt; -	int hwq_map[ATH9K_WME_AC_VO+1]; + +	int beaconq; +	int cabq; +	int hwq_map[WME_NUM_AC];  #ifdef CONFIG_ATH9K_HTC_DEBUGFS  	struct ath9k_debug debug;  #endif -	struct ath9k_htc_target_rate tgt_rate; -  	struct mutex mutex;  }; @@ -405,6 +400,7 @@ static inline void ath_read_cachesize(struct ath_common *common, int *csz)  	common->bus_ops->read_cachesize(common, csz);  } +void ath9k_htc_beaconq_config(struct ath9k_htc_priv *priv);  void ath9k_htc_beacon_config(struct ath9k_htc_priv *priv,  			     struct ieee80211_vif *vif);  void ath9k_htc_swba(struct ath9k_htc_priv *priv, u8 beacon_pending); @@ -424,8 +420,8 @@ int ath9k_tx_init(struct ath9k_htc_priv *priv);  void ath9k_tx_tasklet(unsigned long data);  int ath9k_htc_tx_start(struct ath9k_htc_priv *priv, struct sk_buff *skb);  void ath9k_tx_cleanup(struct ath9k_htc_priv *priv); -bool ath9k_htc_txq_setup(struct ath9k_htc_priv *priv, -			 enum ath9k_tx_queue_subtype qtype); +bool ath9k_htc_txq_setup(struct ath9k_htc_priv *priv, int subtype); +int ath9k_htc_cabq_setup(struct ath9k_htc_priv *priv);  int get_hw_qnum(u16 queue, int *hwq_map);  int ath_htc_txq_update(struct ath9k_htc_priv *priv, int qnum,  		       struct ath9k_tx_queue_info *qinfo);  |