1 /*
2  * Copyright (c) 2019 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 //
20 // DO NOT EDIT!  This file is automatically generated
21 //               These definitions are tied to a particular hardware layout
22 
23 
24 #ifndef _RX_PPDU_END_USER_STATS_EXT_H_
25 #define _RX_PPDU_END_USER_STATS_EXT_H_
26 #if !defined(__ASSEMBLER__)
27 #endif
28 
29 #include "rx_rxpcu_classification_overview.h"
30 
31 // ################ START SUMMARY #################
32 //
33 //	Dword	Fields
34 //	0	struct rx_rxpcu_classification_overview rxpcu_classification_details;
35 //	1	fcs_ok_bitmap_95_64[31:0]
36 //	2	fcs_ok_bitmap_127_96[31:0]
37 //	3	fcs_ok_bitmap_159_128[31:0]
38 //	4	fcs_ok_bitmap_191_160[31:0]
39 //	5	fcs_ok_bitmap_223_192[31:0]
40 //	6	fcs_ok_bitmap_255_224[31:0]
41 //
42 // ################ END SUMMARY #################
43 
44 #define NUM_OF_DWORDS_RX_PPDU_END_USER_STATS_EXT 7
45 
46 struct rx_ppdu_end_user_stats_ext {
47     struct            rx_rxpcu_classification_overview                       rxpcu_classification_details;
48              uint32_t fcs_ok_bitmap_95_64             : 32; //[31:0]
49              uint32_t fcs_ok_bitmap_127_96            : 32; //[31:0]
50              uint32_t fcs_ok_bitmap_159_128           : 32; //[31:0]
51              uint32_t fcs_ok_bitmap_191_160           : 32; //[31:0]
52              uint32_t fcs_ok_bitmap_223_192           : 32; //[31:0]
53              uint32_t fcs_ok_bitmap_255_224           : 32; //[31:0]
54 };
55 
56 /*
57 
58 struct rx_rxpcu_classification_overview rxpcu_classification_details
59 
60 			Details related to what RXPCU classification types of
61 			MPDUs have been received
62 
63 fcs_ok_bitmap_95_64
64 
65 			Bitmap indicates in order of received MPDUs, which MPDUs
66 			had an passing FCS or had an error.
67 
68 			1: FCS OK
69 
70 			0: FCS error
71 
72 			<legal all>
73 
74 fcs_ok_bitmap_127_96
75 
76 			Bitmap indicates in order of received MPDUs, which MPDUs
77 			had an passing FCS or had an error.
78 
79 			1: FCS OK
80 
81 			0: FCS error
82 
83 			<legal all>
84 
85 fcs_ok_bitmap_159_128
86 
87 			Bitmap indicates in order of received MPDUs, which MPDUs
88 			had an passing FCS or had an error.
89 
90 			1: FCS OK
91 
92 			0: FCS error
93 
94 			<legal all>
95 
96 fcs_ok_bitmap_191_160
97 
98 			Bitmap indicates in order of received MPDUs, which MPDUs
99 			had an passing FCS or had an error.
100 
101 			1: FCS OK
102 
103 			0: FCS error
104 
105 			<legal all>
106 
107 fcs_ok_bitmap_223_192
108 
109 			Bitmap indicates in order of received MPDUs, which MPDUs
110 			had an passing FCS or had an error.
111 
112 			1: FCS OK
113 
114 			0: FCS error
115 
116 			<legal all>
117 
118 fcs_ok_bitmap_255_224
119 
120 			Bitmap indicates in order of received MPDUs, which MPDUs
121 			had an passing FCS or had an error.
122 
123 			1: FCS OK
124 
125 			0: FCS error
126 
127 			<legal all>
128 */
129 
130 
131  /* EXTERNAL REFERENCE : struct rx_rxpcu_classification_overview rxpcu_classification_details */
132 
133 
134 /* Description		RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS
135 
136 			When set, at least one Filter Pass MPDU has been
137 			received. FCS might or might not have been passing.
138 
139 
140 
141 			For MU UL, in  TLVs RX_PPDU_END and
142 			RX_PPDU_END_STATUS_DONE, this field is the OR of all the
143 			users.
144 
145 			<legal all>
146 */
147 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_OFFSET 0x00000000
148 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_LSB 0
149 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_MASK 0x00000001
150 
151 /* Description		RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_FCS_OK
152 
153 			When set, at least one Filter Pass MPDU has been
154 			received that has a correct FCS.
155 
156 
157 
158 			For MU UL, in  TLVs RX_PPDU_END and
159 			RX_PPDU_END_STATUS_DONE, this field is the OR of all the
160 			users.
161 
162 
163 
164 			<legal all>
165 */
166 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_FCS_OK_OFFSET 0x00000000
167 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_FCS_OK_LSB 1
168 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_FCS_OK_MASK 0x00000002
169 
170 /* Description		RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS
171 
172 			When set, at least one Monitor Direct MPDU has been
173 			received. FCS might or might not have been passing
174 
175 
176 
177 			For MU UL, in  TLVs RX_PPDU_END and
178 			RX_PPDU_END_STATUS_DONE, this field is the OR of all the
179 			users.
180 
181 			<legal all>
182 */
183 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_OFFSET 0x00000000
184 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_LSB 2
185 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_MASK 0x00000004
186 
187 /* Description		RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_FCS_OK
188 
189 			When set, at least one Monitor Direct MPDU has been
190 			received that has a correct FCS.
191 
192 
193 
194 			For MU UL, in  TLVs RX_PPDU_END and
195 			RX_PPDU_END_STATUS_DONE, this field is the OR of all the
196 			users.
197 
198 
199 
200 			<legal all>
201 */
202 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_FCS_OK_OFFSET 0x00000000
203 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_FCS_OK_LSB 3
204 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_FCS_OK_MASK 0x00000008
205 
206 /* Description		RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS
207 
208 			When set, at least one Monitor Direct MPDU has been
209 			received. FCS might or might not have been passing.
210 
211 
212 
213 			For MU UL, in  TLVs RX_PPDU_END and
214 			RX_PPDU_END_STATUS_DONE, this field is the OR of all the
215 			users.
216 
217 			<legal all>
218 */
219 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_OFFSET 0x00000000
220 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_LSB 4
221 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_MASK 0x00000010
222 
223 /* Description		RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_FCS_OK
224 
225 			When set, at least one Monitor Direct MPDU has been
226 			received that has a correct FCS.
227 
228 
229 
230 			For MU UL, in  TLVs RX_PPDU_END and
231 			RX_PPDU_END_STATUS_DONE, this field is the OR of all the
232 			users.
233 
234 			<legal all>
235 */
236 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_FCS_OK_OFFSET 0x00000000
237 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_FCS_OK_LSB 5
238 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_FCS_OK_MASK 0x00000020
239 
240 /* Description		RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHYRX_ABORT_RECEIVED
241 
242 			When set, PPDU reception was aborted by the PHY
243 
244 			<legal all>
245 */
246 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHYRX_ABORT_RECEIVED_OFFSET 0x00000000
247 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHYRX_ABORT_RECEIVED_LSB 6
248 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHYRX_ABORT_RECEIVED_MASK 0x00000040
249 
250 /* Description		RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_RESERVED_0
251 
252 			<legal 0>
253 */
254 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_RESERVED_0_OFFSET 0x00000000
255 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_RESERVED_0_LSB 7
256 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_RESERVED_0_MASK 0x0000ff80
257 
258 /* Description		RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHY_PPDU_ID
259 
260 			A ppdu counter value that PHY increments for every PPDU
261 			received. The counter value wraps around
262 
263 			<legal all>
264 */
265 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHY_PPDU_ID_OFFSET 0x00000000
266 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHY_PPDU_ID_LSB 16
267 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHY_PPDU_ID_MASK 0xffff0000
268 
269 /* Description		RX_PPDU_END_USER_STATS_EXT_1_FCS_OK_BITMAP_95_64
270 
271 			Bitmap indicates in order of received MPDUs, which MPDUs
272 			had an passing FCS or had an error.
273 
274 			1: FCS OK
275 
276 			0: FCS error
277 
278 			<legal all>
279 */
280 #define RX_PPDU_END_USER_STATS_EXT_1_FCS_OK_BITMAP_95_64_OFFSET      0x00000004
281 #define RX_PPDU_END_USER_STATS_EXT_1_FCS_OK_BITMAP_95_64_LSB         0
282 #define RX_PPDU_END_USER_STATS_EXT_1_FCS_OK_BITMAP_95_64_MASK        0xffffffff
283 
284 /* Description		RX_PPDU_END_USER_STATS_EXT_2_FCS_OK_BITMAP_127_96
285 
286 			Bitmap indicates in order of received MPDUs, which MPDUs
287 			had an passing FCS or had an error.
288 
289 			1: FCS OK
290 
291 			0: FCS error
292 
293 			<legal all>
294 */
295 #define RX_PPDU_END_USER_STATS_EXT_2_FCS_OK_BITMAP_127_96_OFFSET     0x00000008
296 #define RX_PPDU_END_USER_STATS_EXT_2_FCS_OK_BITMAP_127_96_LSB        0
297 #define RX_PPDU_END_USER_STATS_EXT_2_FCS_OK_BITMAP_127_96_MASK       0xffffffff
298 
299 /* Description		RX_PPDU_END_USER_STATS_EXT_3_FCS_OK_BITMAP_159_128
300 
301 			Bitmap indicates in order of received MPDUs, which MPDUs
302 			had an passing FCS or had an error.
303 
304 			1: FCS OK
305 
306 			0: FCS error
307 
308 			<legal all>
309 */
310 #define RX_PPDU_END_USER_STATS_EXT_3_FCS_OK_BITMAP_159_128_OFFSET    0x0000000c
311 #define RX_PPDU_END_USER_STATS_EXT_3_FCS_OK_BITMAP_159_128_LSB       0
312 #define RX_PPDU_END_USER_STATS_EXT_3_FCS_OK_BITMAP_159_128_MASK      0xffffffff
313 
314 /* Description		RX_PPDU_END_USER_STATS_EXT_4_FCS_OK_BITMAP_191_160
315 
316 			Bitmap indicates in order of received MPDUs, which MPDUs
317 			had an passing FCS or had an error.
318 
319 			1: FCS OK
320 
321 			0: FCS error
322 
323 			<legal all>
324 */
325 #define RX_PPDU_END_USER_STATS_EXT_4_FCS_OK_BITMAP_191_160_OFFSET    0x00000010
326 #define RX_PPDU_END_USER_STATS_EXT_4_FCS_OK_BITMAP_191_160_LSB       0
327 #define RX_PPDU_END_USER_STATS_EXT_4_FCS_OK_BITMAP_191_160_MASK      0xffffffff
328 
329 /* Description		RX_PPDU_END_USER_STATS_EXT_5_FCS_OK_BITMAP_223_192
330 
331 			Bitmap indicates in order of received MPDUs, which MPDUs
332 			had an passing FCS or had an error.
333 
334 			1: FCS OK
335 
336 			0: FCS error
337 
338 			<legal all>
339 */
340 #define RX_PPDU_END_USER_STATS_EXT_5_FCS_OK_BITMAP_223_192_OFFSET    0x00000014
341 #define RX_PPDU_END_USER_STATS_EXT_5_FCS_OK_BITMAP_223_192_LSB       0
342 #define RX_PPDU_END_USER_STATS_EXT_5_FCS_OK_BITMAP_223_192_MASK      0xffffffff
343 
344 /* Description		RX_PPDU_END_USER_STATS_EXT_6_FCS_OK_BITMAP_255_224
345 
346 			Bitmap indicates in order of received MPDUs, which MPDUs
347 			had an passing FCS or had an error.
348 
349 			1: FCS OK
350 
351 			0: FCS error
352 
353 			<legal all>
354 */
355 #define RX_PPDU_END_USER_STATS_EXT_6_FCS_OK_BITMAP_255_224_OFFSET    0x00000018
356 #define RX_PPDU_END_USER_STATS_EXT_6_FCS_OK_BITMAP_255_224_LSB       0
357 #define RX_PPDU_END_USER_STATS_EXT_6_FCS_OK_BITMAP_255_224_MASK      0xffffffff
358 
359 
360 #endif // _RX_PPDU_END_USER_STATS_EXT_H_
361