diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2011-08-26 02:11:18 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-08-29 15:30:31 -0400 |
commit | 5f85a7890cbfd2be8f4c6620b2a6774d6b5ac647 (patch) | |
tree | 66eaa03491a20c343b1000e7ad4de4f5f282e0de /drivers/net/wireless/iwlwifi/iwl-shared.h | |
parent | 1603dd495f87ae97763870d57237744d90bc2bab (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.h | 32 |
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 | */ | ||
181 | struct 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 | |||
193 | struct 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 */ |