aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/ath9k.h
diff options
context:
space:
mode:
authorSujith <Sujith.Manoharan@atheros.com>2010-05-20 06:04:40 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-02 16:13:30 -0400
commit93ef24b29bb6d6d50763c44c0debec4a9547fc58 (patch)
tree082a1debe29208f2f1eb8c76f82980e9b24c2c20 /drivers/net/wireless/ath/ath9k/ath9k.h
parentd435700fcdf03646ff070b35ea19dd5501c4b946 (diff)
ath9k: Move driver specific structures
A bunch of data structures are present in the common module, which are internal to ath9k. Move them to ath9k.h Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ath9k.h')
-rw-r--r--drivers/net/wireless/ath/ath9k/ath9k.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h
index fbb7dec6ddeb..cc6ea4272fde 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -206,6 +206,69 @@ struct ath_txq {
206 u8 txq_tailidx; 206 u8 txq_tailidx;
207}; 207};
208 208
209struct ath_atx_ac {
210 int sched;
211 int qnum;
212 struct list_head list;
213 struct list_head tid_q;
214};
215
216struct ath_buf_state {
217 int bfs_nframes;
218 u16 bfs_al;
219 u16 bfs_frmlen;
220 int bfs_seqno;
221 int bfs_tidno;
222 int bfs_retries;
223 u8 bf_type;
224 u32 bfs_keyix;
225 enum ath9k_key_type bfs_keytype;
226};
227
228struct ath_buf {
229 struct list_head list;
230 struct ath_buf *bf_lastbf; /* last buf of this unit (a frame or
231 an aggregate) */
232 struct ath_buf *bf_next; /* next subframe in the aggregate */
233 struct sk_buff *bf_mpdu; /* enclosing frame structure */
234 void *bf_desc; /* virtual addr of desc */
235 dma_addr_t bf_daddr; /* physical addr of desc */
236 dma_addr_t bf_buf_addr; /* physical addr of data buffer */
237 bool bf_stale;
238 bool bf_isnullfunc;
239 bool bf_tx_aborted;
240 u16 bf_flags;
241 struct ath_buf_state bf_state;
242 dma_addr_t bf_dmacontext;
243 struct ath_wiphy *aphy;
244};
245
246struct ath_atx_tid {
247 struct list_head list;
248 struct list_head buf_q;
249 struct ath_node *an;
250 struct ath_atx_ac *ac;
251 struct ath_buf *tx_buf[ATH_TID_MAX_BUFS];
252 u16 seq_start;
253 u16 seq_next;
254 u16 baw_size;
255 int tidno;
256 int baw_head; /* first un-acked tx buffer */
257 int baw_tail; /* next unused tx buffer slot */
258 int sched;
259 int paused;
260 u8 state;
261};
262
263struct ath_node {
264 struct ath_common *common;
265 struct ath_atx_tid tid[WME_NUM_TID];
266 struct ath_atx_ac ac[WME_NUM_AC];
267 u16 maxampdu;
268 u8 mpdudensity;
269 int last_rssi;
270};
271
209#define AGGR_CLEANUP BIT(1) 272#define AGGR_CLEANUP BIT(1)
210#define AGGR_ADDBA_COMPLETE BIT(2) 273#define AGGR_ADDBA_COMPLETE BIT(2)
211#define AGGR_ADDBA_PROGRESS BIT(3) 274#define AGGR_ADDBA_PROGRESS BIT(3)