xref: /freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_tx_desc.h (revision 2ff63af9b88c7413b7d71715b5532625752a248e)
1*7453645fSAndriy Voskoboinyk /*	$OpenBSD: if_rtwnreg.h,v 1.3 2015/06/14 08:02:47 stsp Exp $	*/
2*7453645fSAndriy Voskoboinyk 
3*7453645fSAndriy Voskoboinyk /*-
4*7453645fSAndriy Voskoboinyk  * Copyright (c) 2010 Damien Bergamini <damien.bergamini@free.fr>
5*7453645fSAndriy Voskoboinyk  * Copyright (c) 2015 Stefan Sperling <stsp@openbsd.org>
6*7453645fSAndriy Voskoboinyk  * Copyright (c) 2016 Andriy Voskoboinyk <avos@FreeBSD.org>
7*7453645fSAndriy Voskoboinyk  *
8*7453645fSAndriy Voskoboinyk  * Permission to use, copy, modify, and distribute this software for any
9*7453645fSAndriy Voskoboinyk  * purpose with or without fee is hereby granted, provided that the above
10*7453645fSAndriy Voskoboinyk  * copyright notice and this permission notice appear in all copies.
11*7453645fSAndriy Voskoboinyk  *
12*7453645fSAndriy Voskoboinyk  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13*7453645fSAndriy Voskoboinyk  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14*7453645fSAndriy Voskoboinyk  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15*7453645fSAndriy Voskoboinyk  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16*7453645fSAndriy Voskoboinyk  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17*7453645fSAndriy Voskoboinyk  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18*7453645fSAndriy Voskoboinyk  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19*7453645fSAndriy Voskoboinyk  *
20*7453645fSAndriy Voskoboinyk  */
21*7453645fSAndriy Voskoboinyk 
22*7453645fSAndriy Voskoboinyk #ifndef R92CE_TX_DESC_H
23*7453645fSAndriy Voskoboinyk #define R92CE_TX_DESC_H
24*7453645fSAndriy Voskoboinyk 
25*7453645fSAndriy Voskoboinyk #include <dev/rtwn/rtl8192c/r92c_tx_desc.h>
26*7453645fSAndriy Voskoboinyk 
27*7453645fSAndriy Voskoboinyk /* Tx MAC descriptor (PCIe). */
28*7453645fSAndriy Voskoboinyk struct r92ce_tx_desc {
29*7453645fSAndriy Voskoboinyk 	uint16_t 	pktlen;
30*7453645fSAndriy Voskoboinyk 	uint8_t		offset;
31*7453645fSAndriy Voskoboinyk 	uint8_t		flags0;
32*7453645fSAndriy Voskoboinyk 
33*7453645fSAndriy Voskoboinyk 	uint32_t	txdw1;
34*7453645fSAndriy Voskoboinyk 	uint32_t	txdw2;
35*7453645fSAndriy Voskoboinyk 	uint16_t	txdw3;
36*7453645fSAndriy Voskoboinyk 	uint16_t	txdseq;
37*7453645fSAndriy Voskoboinyk 
38*7453645fSAndriy Voskoboinyk 	uint32_t	txdw4;
39*7453645fSAndriy Voskoboinyk 	uint32_t	txdw5;
40*7453645fSAndriy Voskoboinyk 	uint32_t	txdw6;
41*7453645fSAndriy Voskoboinyk 
42*7453645fSAndriy Voskoboinyk 	uint16_t	txbufsize;
43*7453645fSAndriy Voskoboinyk 	uint16_t	pad;
44*7453645fSAndriy Voskoboinyk 
45*7453645fSAndriy Voskoboinyk 	uint32_t	txbufaddr;
46*7453645fSAndriy Voskoboinyk 	uint32_t	txbufaddr64;
47*7453645fSAndriy Voskoboinyk 
48*7453645fSAndriy Voskoboinyk 	uint32_t	nextdescaddr;
49*7453645fSAndriy Voskoboinyk 	uint32_t	nextdescaddr64;
50*7453645fSAndriy Voskoboinyk 
51*7453645fSAndriy Voskoboinyk 	uint32_t	reserved[4];
52*7453645fSAndriy Voskoboinyk } __packed __attribute__((aligned(4)));
53*7453645fSAndriy Voskoboinyk 
54*7453645fSAndriy Voskoboinyk #endif	/* R92CE_TX_DESC_H */
55