0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef _RTL8712_XMIT_H_
0015 #define _RTL8712_XMIT_H_
0016
0017 #define HWXMIT_ENTRY 4
0018
0019 #define VO_QUEUE_INX 0
0020 #define VI_QUEUE_INX 1
0021 #define BE_QUEUE_INX 2
0022 #define BK_QUEUE_INX 3
0023 #define TS_QUEUE_INX 4
0024 #define MGT_QUEUE_INX 5
0025 #define BMC_QUEUE_INX 6
0026 #define BCN_QUEUE_INX 7
0027
0028 #define HW_QUEUE_ENTRY 8
0029
0030 #define TXDESC_SIZE 32
0031 #define TXDESC_OFFSET TXDESC_SIZE
0032
0033 #define NR_AMSDU_XMITFRAME 8
0034 #define NR_TXAGG_XMITFRAME 8
0035
0036 #define MAX_AMSDU_XMITBUF_SZ 8704
0037 #define MAX_TXAGG_XMITBUF_SZ 16384
0038
0039 #define tx_cmd tx_desc
0040
0041
0042
0043
0044
0045 #define MAX_TID (15)
0046
0047
0048 #define OFFSET_SZ (0)
0049 #define OFFSET_SHT (16)
0050 #define OWN BIT(31)
0051 #define FSG BIT(27)
0052 #define LSG BIT(26)
0053 #define TYPE_SHT (24)
0054 #define TYPE_MSK (0x03000000)
0055
0056
0057 #define PKT_OFFSET_SZ (0)
0058 #define QSEL_SHT (8)
0059 #define HWPC BIT(31)
0060
0061
0062 #define BMC BIT(7)
0063 #define BK BIT(30)
0064 #define AGG_EN BIT(29)
0065 #define RTS_RC_SHT (16)
0066
0067
0068 #define SEQ_SHT (16)
0069
0070
0071 #define TXBW BIT(18)
0072
0073
0074 #define DISFB BIT(15)
0075 #define RSVD6_MSK (0x00E00000)
0076 #define RSVD6_SHT (21)
0077
0078 struct tx_desc {
0079
0080 __le32 txdw0;
0081 __le32 txdw1;
0082 __le32 txdw2;
0083 __le32 txdw3;
0084 __le32 txdw4;
0085 __le32 txdw5;
0086 __le32 txdw6;
0087 __le32 txdw7;
0088 };
0089
0090 union txdesc {
0091 struct tx_desc txdesc;
0092 unsigned int value[TXDESC_SIZE >> 2];
0093 };
0094
0095 int r8712_xmitframe_complete(struct _adapter *padapter,
0096 struct xmit_priv *pxmitpriv,
0097 struct xmit_buf *pxmitbuf);
0098 void r8712_do_queue_select(struct _adapter *padapter,
0099 struct pkt_attrib *pattrib);
0100
0101 #ifdef CONFIG_R8712_TX_AGGR
0102 void r8712_xmitframe_aggr_1st(struct xmit_buf *pxmitbuf,
0103 struct xmit_frame *pxmitframe);
0104 void r8712_dump_aggr_xframe(struct xmit_buf *pxmitbuf,
0105 struct xmit_frame *pxmitframe);
0106 #endif
0107
0108 #endif