diff options
Diffstat (limited to 'drivers/staging/rtl8712/rtl8712_xmit.h')
-rw-r--r-- | drivers/staging/rtl8712/rtl8712_xmit.h | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/drivers/staging/rtl8712/rtl8712_xmit.h b/drivers/staging/rtl8712/rtl8712_xmit.h new file mode 100644 index 000000000000..5d77c5107242 --- /dev/null +++ b/drivers/staging/rtl8712/rtl8712_xmit.h @@ -0,0 +1,95 @@ +#ifndef _RTL8712_XMIT_H_ +#define _RTL8712_XMIT_H_ + +#define HWXMIT_ENTRY 4 + +#define VO_QUEUE_INX 0 +#define VI_QUEUE_INX 1 +#define BE_QUEUE_INX 2 +#define BK_QUEUE_INX 3 +#define TS_QUEUE_INX 4 +#define MGT_QUEUE_INX 5 +#define BMC_QUEUE_INX 6 +#define BCN_QUEUE_INX 7 + +#define HW_QUEUE_ENTRY 8 + +#define TXDESC_SIZE 32 +#define TXDESC_OFFSET TXDESC_SIZE + +#define NR_AMSDU_XMITFRAME 8 +#define NR_TXAGG_XMITFRAME 8 + +#define MAX_AMSDU_XMITBUF_SZ 8704 +#define MAX_TXAGG_XMITBUF_SZ 16384 /*16k*/ + + +#define tx_cmd tx_desc + + +/* + *defined for TX DESC Operation + */ + +#define MAX_TID (15) + +/*OFFSET 0*/ +#define OFFSET_SZ (0) +#define OFFSET_SHT (16) +#define OWN BIT(31) +#define FSG BIT(27) +#define LSG BIT(26) + +/*OFFSET 4*/ +#define PKT_OFFSET_SZ (0) +#define QSEL_SHT (8) +#define HWPC BIT(31) + +/*OFFSET 8*/ +#define BMC BIT(7) +#define BK BIT(30) +#define AGG_EN BIT(29) + +/*OFFSET 12*/ +#define SEQ_SHT (16) + +/*OFFSET 16*/ +#define TXBW BIT(18) + +/*OFFSET 20*/ +#define DISFB BIT(15) + +struct tx_desc{ + + /*DWORD 0*/ + unsigned int txdw0; + + unsigned int txdw1; + + unsigned int txdw2; + + unsigned int txdw3; + + unsigned int txdw4; + + unsigned int txdw5; + + unsigned int txdw6; + + unsigned int txdw7; + +}; + + +union txdesc { + struct tx_desc txdesc; + unsigned int value[TXDESC_SIZE>>2]; +}; + +int r8712_xmitframe_complete(struct _adapter *padapter, + struct xmit_priv *pxmitpriv, + struct xmit_buf *pxmitbuf); +void r8712_do_queue_select(struct _adapter *padapter, + struct pkt_attrib *pattrib); + +#endif |