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
12struct 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
84s32 rtl8723bs_init_recv_priv(struct adapter *padapter);
85void rtl8723bs_free_recv_priv(struct adapter *padapter);
86
87void rtl8723b_query_rx_phy_status(union recv_frame *prframe, struct phy_stat *pphy_stat);
88void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe);
89
90#endif
91