]> git.karo-electronics.de Git - mv-sheeva.git/blob - drivers/staging/rtl8712/rtl8712_xmit.h
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6
[mv-sheeva.git] / drivers / staging / rtl8712 / rtl8712_xmit.h
1 #ifndef _RTL8712_XMIT_H_
2 #define _RTL8712_XMIT_H_
3
4 #define HWXMIT_ENTRY    4
5
6 #define VO_QUEUE_INX    0
7 #define VI_QUEUE_INX    1
8 #define BE_QUEUE_INX    2
9 #define BK_QUEUE_INX    3
10 #define TS_QUEUE_INX    4
11 #define MGT_QUEUE_INX   5
12 #define BMC_QUEUE_INX   6
13 #define BCN_QUEUE_INX   7
14
15 #define HW_QUEUE_ENTRY  8
16
17 #define TXDESC_SIZE 32
18 #define TXDESC_OFFSET TXDESC_SIZE
19
20 #define NR_AMSDU_XMITFRAME 8
21 #define NR_TXAGG_XMITFRAME 8
22
23 #define MAX_AMSDU_XMITBUF_SZ 8704
24 #define MAX_TXAGG_XMITBUF_SZ 16384 /*16k*/
25
26
27 #define tx_cmd tx_desc
28
29
30 /*
31  *defined for TX DESC Operation
32  */
33
34 #define MAX_TID (15)
35
36 /*OFFSET 0*/
37 #define OFFSET_SZ (0)
38 #define OFFSET_SHT (16)
39 #define OWN     BIT(31)
40 #define FSG     BIT(27)
41 #define LSG     BIT(26)
42
43 /*OFFSET 4*/
44 #define PKT_OFFSET_SZ (0)
45 #define QSEL_SHT (8)
46 #define HWPC BIT(31)
47
48 /*OFFSET 8*/
49 #define BMC BIT(7)
50 #define BK BIT(30)
51 #define AGG_EN BIT(29)
52
53 /*OFFSET 12*/
54 #define SEQ_SHT (16)
55
56 /*OFFSET 16*/
57 #define TXBW BIT(18)
58
59 /*OFFSET 20*/
60 #define DISFB BIT(15)
61
62 struct tx_desc{
63
64         /*DWORD 0*/
65         unsigned int txdw0;
66
67         unsigned int txdw1;
68
69         unsigned int txdw2;
70
71         unsigned int txdw3;
72
73         unsigned int txdw4;
74
75         unsigned int txdw5;
76
77         unsigned int txdw6;
78
79         unsigned int txdw7;
80
81 };
82
83
84 union txdesc {
85         struct tx_desc txdesc;
86         unsigned int value[TXDESC_SIZE>>2];
87 };
88
89 int r8712_xmitframe_complete(struct _adapter *padapter,
90                              struct xmit_priv *pxmitpriv,
91                              struct xmit_buf *pxmitbuf);
92 void r8712_do_queue_select(struct _adapter *padapter,
93                            struct pkt_attrib *pattrib);
94
95 #endif