1
2
3
4
5
6
7 #ifndef __RTL8723B_RECV_H__
8 #define __RTL8723B_RECV_H__
9
10 #include <rtl8192c_recv.h>
11
12 typedef struct rxreport_8723b
13 {
14
15 u32 pktlen:14;
16 u32 crc32:1;
17 u32 icverr:1;
18 u32 drvinfosize:4;
19 u32 security:3;
20 u32 qos:1;
21 u32 shift:2;
22 u32 physt:1;
23 u32 swdec:1;
24 u32 rsvd0028:2;
25 u32 eor:1;
26 u32 rsvd0031:1;
27
28
29 u32 macid:7;
30 u32 rsvd0407:1;
31 u32 tid:4;
32 u32 macid_vld:1;
33 u32 amsdu:1;
34 u32 rxid_match:1;
35 u32 paggr:1;
36 u32 a1fit:4;
37 u32 chkerr:1;
38 u32 rx_ipv:1;
39 u32 rx_is_tcp_udp:1;
40 u32 chk_vld:1;
41 u32 pam:1;
42 u32 pwr:1;
43 u32 md:1;
44 u32 mf:1;
45 u32 type:2;
46 u32 mc:1;
47 u32 bc:1;
48
49
50 u32 seq:12;
51 u32 frag:4;
52 u32 rx_is_qos:1;
53 u32 rsvd0817:1;
54 u32 wlanhd_iv_len:6;
55 u32 hwrsvd0824:4;
56 u32 c2h_ind:1;
57 u32 rsvd0829:2;
58 u32 fcs_ok:1;
59
60
61 u32 rx_rate:7;
62 u32 rsvd1207:3;
63 u32 htc:1;
64 u32 esop:1;
65 u32 bssid_fit:2;
66 u32 rsvd1214:2;
67 u32 dma_agg_num:8;
68 u32 rsvd1224:5;
69 u32 patternmatch:1;
70 u32 unicastwake:1;
71 u32 magicwake:1;
72
73
74 u32 splcp:1;
75 u32 ldpc:1;
76 u32 stbc:1;
77 u32 not_sounding:1;
78 u32 bw:2;
79 u32 rsvd1606:26;
80
81
82 u32 tsfl;
83 } RXREPORT, *PRXREPORT;
84
85 typedef struct phystatus_8723b
86 {
87 u32 rxgain_a:7;
88 u32 trsw_a:1;
89 u32 rxgain_b:7;
90 u32 trsw_b:1;
91 u32 chcorr_l:16;
92
93 u32 sigqualcck:8;
94 u32 cfo_a:8;
95 u32 cfo_b:8;
96 u32 chcorr_h:8;
97
98 u32 noisepwrdb_h:8;
99 u32 cfo_tail_a:8;
100 u32 cfo_tail_b:8;
101 u32 rsvd0824:8;
102
103 u32 rsvd1200:8;
104 u32 rxevm_a:8;
105 u32 rxevm_b:8;
106 u32 rxsnr_a:8;
107
108 u32 rxsnr_b:8;
109 u32 noisepwrdb_l:8;
110 u32 rsvd1616:8;
111 u32 postsnr_a:8;
112
113 u32 postsnr_b:8;
114 u32 csi_a:8;
115 u32 csi_b:8;
116 u32 targetcsi_a:8;
117
118 u32 targetcsi_b:8;
119 u32 sigevm:8;
120 u32 maxexpwr:8;
121 u32 exintflag:1;
122 u32 sgien:1;
123 u32 rxsc:2;
124 u32 idlelong:1;
125 u32 anttrainen:1;
126 u32 antselb:1;
127 u32 antsel:1;
128 } PHYSTATUS, *PPHYSTATUS;
129
130 s32 rtl8723bs_init_recv_priv(struct adapter *padapter);
131 void rtl8723bs_free_recv_priv(struct adapter *padapter);
132
133 void rtl8723b_query_rx_phy_status(union recv_frame *prframe, struct phy_stat *pphy_stat);
134 void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe);
135
136 #endif