Merge tag 'lsk-v3.10-android-15.01'
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723bs / include / rtl8188e_recv.h
1 /******************************************************************************\r
2  *\r
3  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.\r
4  *\r
5  * This program is free software; you can redistribute it and/or modify it\r
6  * under the terms of version 2 of the GNU General Public License as\r
7  * published by the Free Software Foundation.\r
8  *\r
9  * This program is distributed in the hope that it will be useful, but WITHOUT\r
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\r
12  * more details.\r
13  *\r
14  * You should have received a copy of the GNU General Public License along with\r
15  * this program; if not, write to the Free Software Foundation, Inc.,\r
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA\r
17  *\r
18  *\r
19  ******************************************************************************/\r
20 #ifndef __RTL8188E_RECV_H__\r
21 #define __RTL8188E_RECV_H__\r
22 \r
23 #include <rtl8192c_recv.h>\r
24 \r
25 #define TX_RPT1_PKT_LEN 8\r
26 \r
27 typedef struct rxreport_8188e\r
28 {\r
29         //Offset 0\r
30         u32 pktlen:14;\r
31         u32 crc32:1;\r
32         u32 icverr:1;\r
33         u32 drvinfosize:4;\r
34         u32 security:3;\r
35         u32 qos:1;\r
36         u32 shift:2;\r
37         u32 physt:1;\r
38         u32 swdec:1;\r
39         u32 ls:1;\r
40         u32 fs:1;\r
41         u32 eor:1;\r
42         u32 own:1;\r
43 \r
44         //Offset 4\r
45         u32 macid:5;\r
46         u32 tid:4;\r
47         u32 hwrsvd:4;\r
48         u32 amsdu:1;\r
49         u32 paggr:1;\r
50         u32 faggr:1;\r
51         u32 a1fit:4;\r
52         u32 a2fit:4;\r
53         u32 pam:1;\r
54         u32 pwr:1;\r
55         u32 md:1;\r
56         u32 mf:1;\r
57         u32 type:2;\r
58         u32 mc:1;\r
59         u32 bc:1;\r
60 \r
61         //Offset 8\r
62         u32 seq:12;\r
63         u32 frag:4;\r
64         u32 nextpktlen:14;\r
65         u32 nextind:1;\r
66         u32 rsvd0831:1;\r
67 \r
68         //Offset 12\r
69         u32 rxmcs:6;\r
70         u32 rxht:1;\r
71         u32 gf:1;\r
72         u32 splcp:1;\r
73         u32 bw:1;\r
74         u32 htc:1;\r
75         u32 eosp:1;\r
76         u32 bssidfit:2;\r
77         u32 rpt_sel:2;\r
78         u32 rsvd1216:13;\r
79         u32 pattern_match:1;\r
80         u32 unicastwake:1;\r
81         u32 magicwake:1;\r
82 \r
83         //Offset 16\r
84         /*\r
85         u32 pattern0match:1;\r
86         u32 pattern1match:1;\r
87         u32 pattern2match:1;\r
88         u32 pattern3match:1;\r
89         u32 pattern4match:1;\r
90         u32 pattern5match:1;\r
91         u32 pattern6match:1;\r
92         u32 pattern7match:1;\r
93         u32 pattern8match:1;\r
94         u32 pattern9match:1;\r
95         u32 patternamatch:1;\r
96         u32 patternbmatch:1;\r
97         u32 patterncmatch:1;    \r
98         u32 rsvd1613:19;\r
99         */\r
100         u32 rsvd16;\r
101 \r
102         //Offset 20\r
103         u32 tsfl;\r
104 \r
105         //Offset 24\r
106         u32 bassn:12;\r
107         u32 bavld:1;\r
108         u32 rsvd2413:19;\r
109 } RXREPORT, *PRXREPORT;\r
110 \r
111 \r
112 #ifdef CONFIG_SDIO_HCI\r
113 s32 rtl8188es_init_recv_priv(PADAPTER padapter);\r
114 void rtl8188es_free_recv_priv(PADAPTER padapter);\r
115 void rtl8188es_recv_hdl(PADAPTER padapter, struct recv_buf *precvbuf);\r
116 #endif\r
117 \r
118 #ifdef CONFIG_USB_HCI\r
119 #define INTERRUPT_MSG_FORMAT_LEN 60\r
120 void rtl8188eu_init_recvbuf(_adapter *padapter, struct recv_buf *precvbuf);\r
121 s32 rtl8188eu_init_recv_priv(PADAPTER padapter);\r
122 void rtl8188eu_free_recv_priv(PADAPTER padapter);\r
123 void rtl8188eu_recv_hdl(PADAPTER padapter, struct recv_buf *precvbuf);\r
124 void rtl8188eu_recv_tasklet(void *priv);\r
125 \r
126 #endif\r
127 \r
128 #ifdef CONFIG_PCI_HCI\r
129 s32 rtl8188ee_init_recv_priv(PADAPTER padapter);\r
130 void rtl8188ee_free_recv_priv(PADAPTER padapter);\r
131 #endif\r
132 \r
133 void rtl8188e_query_rx_phy_status(union recv_frame *prframe, struct phy_stat *pphy_stat);\r
134 void rtl8188e_process_phy_info(PADAPTER padapter, void *prframe);\r
135 void update_recvframe_phyinfo_88e(union recv_frame      *precvframe,struct phy_stat *pphy_status);\r
136 void update_recvframe_attrib_88e(       union recv_frame *precvframe,   struct recv_stat *prxstat);\r
137 \r
138 #endif\r
139 \r