diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-dev.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-dev.h | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h index 16956b777f96..99be58940e27 100644 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h | |||
@@ -220,8 +220,7 @@ enum iwl_agg_state { | |||
220 | * Tx response (REPLY_TX), and the block ack notification | 220 | * Tx response (REPLY_TX), and the block ack notification |
221 | * (REPLY_COMPRESSED_BA). | 221 | * (REPLY_COMPRESSED_BA). |
222 | * @state: state of the BA agreement establishment / tear down. | 222 | * @state: state of the BA agreement establishment / tear down. |
223 | * @txq_id: Tx queue used by the BA session - used by the transport layer. | 223 | * @txq_id: Tx queue used by the BA session |
224 | * Needed by the upper layer for debugfs only. | ||
225 | * @ssn: the first packet to be sent in AGG HW queue in Tx AGG start flow, or | 224 | * @ssn: the first packet to be sent in AGG HW queue in Tx AGG start flow, or |
226 | * the first packet to be sent in legacy HW queue in Tx AGG stop flow. | 225 | * the first packet to be sent in legacy HW queue in Tx AGG stop flow. |
227 | * Basically when next_reclaimed reaches ssn, we can tell mac80211 that | 226 | * Basically when next_reclaimed reaches ssn, we can tell mac80211 that |
@@ -623,6 +622,10 @@ struct iwl_force_reset { | |||
623 | struct iwl_rxon_context { | 622 | struct iwl_rxon_context { |
624 | struct ieee80211_vif *vif; | 623 | struct ieee80211_vif *vif; |
625 | 624 | ||
625 | u8 mcast_queue; | ||
626 | u8 ac_to_queue[IEEE80211_NUM_ACS]; | ||
627 | u8 ac_to_fifo[IEEE80211_NUM_ACS]; | ||
628 | |||
626 | /* | 629 | /* |
627 | * We could use the vif to indicate active, but we | 630 | * We could use the vif to indicate active, but we |
628 | * also need it to be active during disabling when | 631 | * also need it to be active during disabling when |
@@ -720,6 +723,11 @@ struct iwl_priv { | |||
720 | 723 | ||
721 | unsigned long transport_queue_stop; | 724 | unsigned long transport_queue_stop; |
722 | bool passive_no_rx; | 725 | bool passive_no_rx; |
726 | #define IWL_INVALID_AC 0xff | ||
727 | u8 queue_to_ac[IWL_MAX_HW_QUEUES]; | ||
728 | atomic_t ac_stop_count[IEEE80211_NUM_ACS]; | ||
729 | |||
730 | unsigned long agg_q_alloc[BITS_TO_LONGS(IWL_MAX_HW_QUEUES)]; | ||
723 | 731 | ||
724 | /* ieee device used by generic ieee processing code */ | 732 | /* ieee device used by generic ieee processing code */ |
725 | struct ieee80211_hw *hw; | 733 | struct ieee80211_hw *hw; |
@@ -731,6 +739,7 @@ struct iwl_priv { | |||
731 | struct workqueue_struct *workqueue; | 739 | struct workqueue_struct *workqueue; |
732 | 740 | ||
733 | enum ieee80211_band band; | 741 | enum ieee80211_band band; |
742 | u8 valid_contexts; | ||
734 | 743 | ||
735 | void (*pre_rx_handler)(struct iwl_priv *priv, | 744 | void (*pre_rx_handler)(struct iwl_priv *priv, |
736 | struct iwl_rx_cmd_buffer *rxb); | 745 | struct iwl_rx_cmd_buffer *rxb); |
@@ -982,6 +991,15 @@ struct iwl_priv { | |||
982 | __le64 replay_ctr; | 991 | __le64 replay_ctr; |
983 | __le16 last_seq_ctl; | 992 | __le16 last_seq_ctl; |
984 | bool have_rekey_data; | 993 | bool have_rekey_data; |
994 | |||
995 | /* device_pointers: pointers to ucode event tables */ | ||
996 | struct { | ||
997 | u32 error_event_table; | ||
998 | u32 log_event_table; | ||
999 | } device_pointers; | ||
1000 | |||
1001 | /* indicator of loaded ucode image */ | ||
1002 | enum iwl_ucode_type cur_ucode; | ||
985 | }; /*iwl_priv */ | 1003 | }; /*iwl_priv */ |
986 | 1004 | ||
987 | extern struct kmem_cache *iwl_tx_cmd_pool; | 1005 | extern struct kmem_cache *iwl_tx_cmd_pool; |
@@ -998,7 +1016,7 @@ iwl_rxon_ctx_from_vif(struct ieee80211_vif *vif) | |||
998 | #define for_each_context(priv, ctx) \ | 1016 | #define for_each_context(priv, ctx) \ |
999 | for (ctx = &priv->contexts[IWL_RXON_CTX_BSS]; \ | 1017 | for (ctx = &priv->contexts[IWL_RXON_CTX_BSS]; \ |
1000 | ctx < &priv->contexts[NUM_IWL_RXON_CTX]; ctx++) \ | 1018 | ctx < &priv->contexts[NUM_IWL_RXON_CTX]; ctx++) \ |
1001 | if (priv->shrd->valid_contexts & BIT(ctx->ctxid)) | 1019 | if (priv->valid_contexts & BIT(ctx->ctxid)) |
1002 | 1020 | ||
1003 | static inline int iwl_is_associated_ctx(struct iwl_rxon_context *ctx) | 1021 | static inline int iwl_is_associated_ctx(struct iwl_rxon_context *ctx) |
1004 | { | 1022 | { |