1 /* SPDX-License-Identifier: GPL-2.0 */
2 /******************************************************************************
4 * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
6 * Modifications for inclusion into the Linux staging tree are
7 * Copyright(c) 2010 Larry Finger. All rights reserved.
10 * WLAN FAE <wlanfae@realtek.com>
11 * Larry Finger <Larry.Finger@lwfinger.net>
13 ******************************************************************************/
14 #ifndef _RTL8712_XMIT_H_
15 #define _RTL8712_XMIT_H_
17 #define HWXMIT_ENTRY 4
19 #define VO_QUEUE_INX 0
20 #define VI_QUEUE_INX 1
21 #define BE_QUEUE_INX 2
22 #define BK_QUEUE_INX 3
23 #define TS_QUEUE_INX 4
24 #define MGT_QUEUE_INX 5
25 #define BMC_QUEUE_INX 6
26 #define BCN_QUEUE_INX 7
28 #define HW_QUEUE_ENTRY 8
30 #define TXDESC_SIZE 32
31 #define TXDESC_OFFSET TXDESC_SIZE
33 #define NR_AMSDU_XMITFRAME 8
34 #define NR_TXAGG_XMITFRAME 8
36 #define MAX_AMSDU_XMITBUF_SZ 8704
37 #define MAX_TXAGG_XMITBUF_SZ 16384 /*16k*/
39 #define tx_cmd tx_desc
42 *defined for TX DESC Operation
49 #define OFFSET_SHT (16)
54 #define TYPE_MSK (0x03000000)
57 #define PKT_OFFSET_SZ (0)
64 #define AGG_EN BIT(29)
65 #define RTS_RC_SHT (16)
75 #define RSVD6_MSK (0x00E00000)
76 #define RSVD6_SHT (21)
91 struct tx_desc txdesc;
92 unsigned int value[TXDESC_SIZE >> 2];
95 int r8712_xmitframe_complete(struct _adapter *padapter,
96 struct xmit_priv *pxmitpriv,
97 struct xmit_buf *pxmitbuf);
98 void r8712_do_queue_select(struct _adapter *padapter,
99 struct pkt_attrib *pattrib);
101 #ifdef CONFIG_R8712_TX_AGGR
102 void r8712_xmitframe_aggr_1st(struct xmit_buf *pxmitbuf,
103 struct xmit_frame *pxmitframe);
104 void r8712_dump_aggr_xframe(struct xmit_buf *pxmitbuf,
105 struct xmit_frame *pxmitframe);