Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | /* SPDX-License-Identifier: GPL-2.0 */ /****************************************************************************** * * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved. * * Modifications for inclusion into the Linux staging tree are * Copyright(c) 2010 Larry Finger. All rights reserved. * * Contact information: * WLAN FAE <wlanfae@realtek.com> * Larry Finger <Larry.Finger@lwfinger.net> * ******************************************************************************/ #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) #define TYPE_SHT (24) #define TYPE_MSK (0x03000000) /*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) #define RTS_RC_SHT (16) /*OFFSET 12*/ #define SEQ_SHT (16) /*OFFSET 16*/ #define TXBW BIT(18) /*OFFSET 20*/ #define DISFB BIT(15) #define RSVD6_MSK (0x00E00000) #define RSVD6_SHT (21) struct tx_desc { /*DWORD 0*/ __le32 txdw0; __le32 txdw1; __le32 txdw2; __le32 txdw3; __le32 txdw4; __le32 txdw5; __le32 txdw6; __le32 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); #ifdef CONFIG_R8712_TX_AGGR void r8712_xmitframe_aggr_1st(struct xmit_buf *pxmitbuf, struct xmit_frame *pxmitframe); void r8712_dump_aggr_xframe(struct xmit_buf *pxmitbuf, struct xmit_frame *pxmitframe); #endif #endif |