1 /* SPDX-License-Identifier: GPL-2.0 */
2 /******************************************************************************
3  *
4  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
5  *
6  ******************************************************************************/
7 #ifndef __RTL8723B_RECV_H__
8 #define __RTL8723B_RECV_H__
9 
10 #include <rtl8192c_recv.h>
11 
12 struct rxreport_8723b {
13 	/* DWORD 0 */
14 	u32 pktlen:14;
15 	u32 crc32:1;
16 	u32 icverr:1;
17 	u32 drvinfosize:4;
18 	u32 security:3;
19 	u32 qos:1;
20 	u32 shift:2;
21 	u32 physt:1;
22 	u32 swdec:1;
23 	u32 rsvd0028:2;
24 	u32 eor:1;
25 	u32 rsvd0031:1;
26 
27 	/* DWORD 1 */
28 	u32 macid:7;
29 	u32 rsvd0407:1;
30 	u32 tid:4;
31 	u32 macid_vld:1;
32 	u32 amsdu:1;
33 	u32 rxid_match:1;
34 	u32 paggr:1;
35 	u32 a1fit:4;
36 	u32 chkerr:1;  /* 20 */
37 	u32 rx_ipv:1;
38 	u32 rx_is_tcp_udp:1;
39 	u32 chk_vld:1;   /* 23 */
40 	u32 pam:1;
41 	u32 pwr:1;
42 	u32 md:1;
43 	u32 mf:1;
44 	u32 type:2;
45 	u32 mc:1;
46 	u32 bc:1;
47 
48 	/* DWORD 2 */
49 	u32 seq:12;
50 	u32 frag:4;
51 	u32 rx_is_qos:1;
52 	u32 rsvd0817:1;
53 	u32 wlanhd_iv_len:6;
54 	u32 hwrsvd0824:4;
55 	u32 c2h_ind:1;
56 	u32 rsvd0829:2;
57 	u32 fcs_ok:1;
58 
59 	/* DWORD 3 */
60 	u32 rx_rate:7;
61 	u32 rsvd1207:3;
62 	u32 htc:1;
63 	u32 esop:1;
64 	u32 bssid_fit:2;
65 	u32 rsvd1214:2;
66 	u32 dma_agg_num:8;
67 	u32 rsvd1224:5;
68 	u32 patternmatch:1;
69 	u32 unicastwake:1;
70 	u32 magicwake:1;
71 
72 	/* DWORD 4 */
73 	u32 splcp:1;	/* Ofdm sgi or cck_splcp */
74 	u32 ldpc:1;
75 	u32 stbc:1;
76 	u32 not_sounding:1;
77 	u32 bw:2;
78 	u32 rsvd1606:26;
79 
80 	/* DWORD 5 */
81 	u32 tsfl;
82 };
83 
84 s32 rtl8723bs_init_recv_priv(struct adapter *padapter);
85 void rtl8723bs_free_recv_priv(struct adapter *padapter);
86 
87 void rtl8723b_query_rx_phy_status(union recv_frame *prframe, struct phy_stat *pphy_stat);
88 void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe);
89 
90 #endif
91