aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-shared.h
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2011-08-26 02:11:18 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-08-29 15:30:31 -0400
commit5f85a7890cbfd2be8f4c6620b2a6774d6b5ac647 (patch)
tree66eaa03491a20c343b1000e7ad4de4f5f282e0de /drivers/net/wireless/iwlwifi/iwl-shared.h
parent1603dd495f87ae97763870d57237744d90bc2bab (diff)
iwlagn: iwl_tid_data moves to iwl-shared
The rate scaling and the transport need to access the data in iwl_tid_data, hence the move. Note that the only component in the upper layer that needs this data is the rate scaling. Refactoring the rate scaling may help to move iwl_tid_data from the shared area to the transport area. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-shared.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-shared.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-shared.h b/drivers/net/wireless/iwlwifi/iwl-shared.h
index 27aee528ce3a..bb61c13d4998 100644
--- a/drivers/net/wireless/iwlwifi/iwl-shared.h
+++ b/drivers/net/wireless/iwlwifi/iwl-shared.h
@@ -68,6 +68,8 @@
68#include <linux/mutex.h> 68#include <linux/mutex.h>
69#include <linux/gfp.h> 69#include <linux/gfp.h>
70 70
71#include "iwl-commands.h"
72
71/*This files includes all the types / functions that are exported by the 73/*This files includes all the types / functions that are exported by the
72 * upper layer to the bus and transport layer */ 74 * upper layer to the bus and transport layer */
73 75
@@ -167,6 +169,34 @@ struct iwl_hw_params {
167}; 169};
168 170
169/** 171/**
172 * struct iwl_ht_agg - aggregation status while waiting for block-ack
173 * @txq_id: Tx queue used for Tx attempt
174 * @wait_for_ba: Expect block-ack before next Tx reply
175 * @rate_n_flags: Rate at which Tx was attempted
176 *
177 * If REPLY_TX indicates that aggregation was attempted, driver must wait
178 * for block ack (REPLY_COMPRESSED_BA). This struct stores tx reply info
179 * until block ack arrives.
180 */
181struct iwl_ht_agg {
182 u16 txq_id;
183 u16 wait_for_ba;
184 u32 rate_n_flags;
185#define IWL_AGG_OFF 0
186#define IWL_AGG_ON 1
187#define IWL_EMPTYING_HW_QUEUE_ADDBA 2
188#define IWL_EMPTYING_HW_QUEUE_DELBA 3
189 u8 state;
190 u8 tx_fifo;
191};
192
193struct iwl_tid_data {
194 u16 seq_number; /* agn only */
195 u16 tfds_in_queue;
196 struct iwl_ht_agg agg;
197};
198
199/**
170 * struct iwl_shared - shared fields for all the layers of the driver 200 * struct iwl_shared - shared fields for all the layers of the driver
171 * 201 *
172 * @dbg_level_dev: dbg level set per device. Prevails on 202 * @dbg_level_dev: dbg level set per device. Prevails on
@@ -200,6 +230,8 @@ struct iwl_shared {
200 spinlock_t lock; 230 spinlock_t lock;
201 spinlock_t sta_lock; 231 spinlock_t sta_lock;
202 struct mutex mutex; 232 struct mutex mutex;
233
234 struct iwl_tid_data tid_data[IWLAGN_STATION_COUNT][IWL_MAX_TID_COUNT];
203}; 235};
204 236
205/*Whatever _m is (iwl_trans, iwl_priv, iwl_bus, these macros will work */ 237/*Whatever _m is (iwl_trans, iwl_priv, iwl_bus, these macros will work */