xref: /wlan-driver/fw-api/hw/qca6390/v1/reo_flush_cache_status.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2018 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 #ifndef _REO_FLUSH_CACHE_STATUS_H_
20 #define _REO_FLUSH_CACHE_STATUS_H_
21 #if !defined(__ASSEMBLER__)
22 #endif
23 
24 #include "uniform_reo_status_header.h"
25 
26 // ################ START SUMMARY #################
27 //
28 //	Dword	Fields
29 //	0-1	struct uniform_reo_status_header status_header;
30 //	2	error_detected[0], block_error_details[2:1], reserved_2a[7:3], cache_controller_flush_status_hit[8], cache_controller_flush_status_desc_type[11:9], cache_controller_flush_status_client_id[15:12], cache_controller_flush_status_error[17:16], cache_controller_flush_count[25:18], reserved_2b[31:26]
31 //	3	reserved_3a[31:0]
32 //	4	reserved_4a[31:0]
33 //	5	reserved_5a[31:0]
34 //	6	reserved_6a[31:0]
35 //	7	reserved_7a[31:0]
36 //	8	reserved_8a[31:0]
37 //	9	reserved_9a[31:0]
38 //	10	reserved_10a[31:0]
39 //	11	reserved_11a[31:0]
40 //	12	reserved_12a[31:0]
41 //	13	reserved_13a[31:0]
42 //	14	reserved_14a[31:0]
43 //	15	reserved_15a[31:0]
44 //	16	reserved_16a[31:0]
45 //	17	reserved_17a[31:0]
46 //	18	reserved_18a[31:0]
47 //	19	reserved_19a[31:0]
48 //	20	reserved_20a[31:0]
49 //	21	reserved_21a[31:0]
50 //	22	reserved_22a[31:0]
51 //	23	reserved_23a[31:0]
52 //	24	reserved_24a[27:0], looping_count[31:28]
53 //
54 // ################ END SUMMARY #################
55 
56 #define NUM_OF_DWORDS_REO_FLUSH_CACHE_STATUS 25
57 
58 struct reo_flush_cache_status {
59     struct            uniform_reo_status_header                       status_header;
60              uint32_t error_detected                  :  1, //[0]
61                       block_error_details             :  2, //[2:1]
62                       reserved_2a                     :  5, //[7:3]
63                       cache_controller_flush_status_hit:  1, //[8]
64                       cache_controller_flush_status_desc_type:  3, //[11:9]
65                       cache_controller_flush_status_client_id:  4, //[15:12]
66                       cache_controller_flush_status_error:  2, //[17:16]
67                       cache_controller_flush_count    :  8, //[25:18]
68                       reserved_2b                     :  6; //[31:26]
69              uint32_t reserved_3a                     : 32; //[31:0]
70              uint32_t reserved_4a                     : 32; //[31:0]
71              uint32_t reserved_5a                     : 32; //[31:0]
72              uint32_t reserved_6a                     : 32; //[31:0]
73              uint32_t reserved_7a                     : 32; //[31:0]
74              uint32_t reserved_8a                     : 32; //[31:0]
75              uint32_t reserved_9a                     : 32; //[31:0]
76              uint32_t reserved_10a                    : 32; //[31:0]
77              uint32_t reserved_11a                    : 32; //[31:0]
78              uint32_t reserved_12a                    : 32; //[31:0]
79              uint32_t reserved_13a                    : 32; //[31:0]
80              uint32_t reserved_14a                    : 32; //[31:0]
81              uint32_t reserved_15a                    : 32; //[31:0]
82              uint32_t reserved_16a                    : 32; //[31:0]
83              uint32_t reserved_17a                    : 32; //[31:0]
84              uint32_t reserved_18a                    : 32; //[31:0]
85              uint32_t reserved_19a                    : 32; //[31:0]
86              uint32_t reserved_20a                    : 32; //[31:0]
87              uint32_t reserved_21a                    : 32; //[31:0]
88              uint32_t reserved_22a                    : 32; //[31:0]
89              uint32_t reserved_23a                    : 32; //[31:0]
90              uint32_t reserved_24a                    : 28, //[27:0]
91                       looping_count                   :  4; //[31:28]
92 };
93 
94 /*
95 
96 struct uniform_reo_status_header status_header
97 
98 			Consumer: SW
99 
100 			Producer: REO
101 
102 
103 
104 			Details that can link this status with the original
105 			command. It also contains info on how long REO took to
106 			execute this command.
107 
108 error_detected
109 
110 			Status for blocking resource handling
111 
112 
113 
114 			0: No error has been detected while executing this
115 			command
116 
117 			1: an error in the blocking resource management was
118 			detected
119 
120 			See field 'Block_error_details'
121 
122 block_error_details
123 
124 			Field only valid when 'Error_detected' is set.
125 
126 			0: no blocking related error found
127 
128 			1: blocking resource was already in use
129 
130 			2: resource that was asked to be unblocked, was not
131 			blocked
132 
133 			<legal 0-2>
134 
135 reserved_2a
136 
137 			<legal 0>
138 
139 cache_controller_flush_status_hit
140 
141 			The status that the cache controller returned for
142 			executing the flush command
143 
144 
145 
146 			descriptor hit
147 
148 			1 = hit
149 
150 			0 = miss
151 
152 			<legal all>
153 
154 cache_controller_flush_status_desc_type
155 
156 			The status that the cache controller returned for
157 			executing the flush command
158 
159 			Descriptor type
160 
161 			FLOW_QUEUE_DESCRIPTOR                
162 			3'd0
163 
164 
165 			 <legal all>
166 
167 cache_controller_flush_status_client_id
168 
169 			The status that the cache controller returned for
170 			executing the flush command
171 
172 
173 
174 			client ID
175 
176 			Module who made flush the request
177 
178 
179 
180 			In REO, this is always set to 0
181 
182 			<legal 0>
183 
184 cache_controller_flush_status_error
185 
186 			The status that the cache controller returned for
187 			executing the flush command
188 
189 
190 
191 			Error condition
192 
193 			2'b00: No error found
194 
195 			2'b01: HW IF still busy
196 
197 			2'b10: Line is currently locked. Used for the one line
198 			flush command.
199 
200 			2'b11: At least one line is currently still locked. Used
201 			for the cache flush command.
202 
203 
204 
205 			<legal all>
206 
207 cache_controller_flush_count
208 
209 			The number of lines that were actually flushed out.
210 
211 			<legal all>
212 
213 reserved_2b
214 
215 			<legal 0>
216 
217 reserved_3a
218 
219 			<legal 0>
220 
221 reserved_4a
222 
223 			<legal 0>
224 
225 reserved_5a
226 
227 			<legal 0>
228 
229 reserved_6a
230 
231 			<legal 0>
232 
233 reserved_7a
234 
235 			<legal 0>
236 
237 reserved_8a
238 
239 			<legal 0>
240 
241 reserved_9a
242 
243 			<legal 0>
244 
245 reserved_10a
246 
247 			<legal 0>
248 
249 reserved_11a
250 
251 			<legal 0>
252 
253 reserved_12a
254 
255 			<legal 0>
256 
257 reserved_13a
258 
259 			<legal 0>
260 
261 reserved_14a
262 
263 			<legal 0>
264 
265 reserved_15a
266 
267 			<legal 0>
268 
269 reserved_16a
270 
271 			<legal 0>
272 
273 reserved_17a
274 
275 			<legal 0>
276 
277 reserved_18a
278 
279 			<legal 0>
280 
281 reserved_19a
282 
283 			<legal 0>
284 
285 reserved_20a
286 
287 			<legal 0>
288 
289 reserved_21a
290 
291 			<legal 0>
292 
293 reserved_22a
294 
295 			<legal 0>
296 
297 reserved_23a
298 
299 			<legal 0>
300 
301 reserved_24a
302 
303 			<legal 0>
304 
305 looping_count
306 
307 			A count value that indicates the number of times the
308 			producer of entries into this Ring has looped around the
309 			ring.
310 
311 			At initialization time, this value is set to 0. On the
312 			first loop, this value is set to 1. After the max value is
313 			reached allowed by the number of bits for this field, the
314 			count value continues with 0 again.
315 
316 
317 
318 			In case SW is the consumer of the ring entries, it can
319 			use this field to figure out up to where the producer of
320 			entries has created new entries. This eliminates the need to
321 			check where the head pointer' of the ring is located once
322 			the SW starts processing an interrupt indicating that new
323 			entries have been put into this ring...
324 
325 
326 
327 			Also note that SW if it wants only needs to look at the
328 			LSB bit of this count value.
329 
330 			<legal all>
331 */
332 
333 #define REO_FLUSH_CACHE_STATUS_0_UNIFORM_REO_STATUS_HEADER_STATUS_HEADER_OFFSET 0x00000000
334 #define REO_FLUSH_CACHE_STATUS_0_UNIFORM_REO_STATUS_HEADER_STATUS_HEADER_LSB 28
335 #define REO_FLUSH_CACHE_STATUS_0_UNIFORM_REO_STATUS_HEADER_STATUS_HEADER_MASK 0xffffffff
336 #define REO_FLUSH_CACHE_STATUS_1_UNIFORM_REO_STATUS_HEADER_STATUS_HEADER_OFFSET 0x00000004
337 #define REO_FLUSH_CACHE_STATUS_1_UNIFORM_REO_STATUS_HEADER_STATUS_HEADER_LSB 28
338 #define REO_FLUSH_CACHE_STATUS_1_UNIFORM_REO_STATUS_HEADER_STATUS_HEADER_MASK 0xffffffff
339 
340 /* Description		REO_FLUSH_CACHE_STATUS_2_ERROR_DETECTED
341 
342 			Status for blocking resource handling
343 
344 
345 
346 			0: No error has been detected while executing this
347 			command
348 
349 			1: an error in the blocking resource management was
350 			detected
351 
352 			See field 'Block_error_details'
353 */
354 #define REO_FLUSH_CACHE_STATUS_2_ERROR_DETECTED_OFFSET               0x00000008
355 #define REO_FLUSH_CACHE_STATUS_2_ERROR_DETECTED_LSB                  0
356 #define REO_FLUSH_CACHE_STATUS_2_ERROR_DETECTED_MASK                 0x00000001
357 
358 /* Description		REO_FLUSH_CACHE_STATUS_2_BLOCK_ERROR_DETAILS
359 
360 			Field only valid when 'Error_detected' is set.
361 
362 			0: no blocking related error found
363 
364 			1: blocking resource was already in use
365 
366 			2: resource that was asked to be unblocked, was not
367 			blocked
368 
369 			<legal 0-2>
370 */
371 #define REO_FLUSH_CACHE_STATUS_2_BLOCK_ERROR_DETAILS_OFFSET          0x00000008
372 #define REO_FLUSH_CACHE_STATUS_2_BLOCK_ERROR_DETAILS_LSB             1
373 #define REO_FLUSH_CACHE_STATUS_2_BLOCK_ERROR_DETAILS_MASK            0x00000006
374 
375 /* Description		REO_FLUSH_CACHE_STATUS_2_RESERVED_2A
376 
377 			<legal 0>
378 */
379 #define REO_FLUSH_CACHE_STATUS_2_RESERVED_2A_OFFSET                  0x00000008
380 #define REO_FLUSH_CACHE_STATUS_2_RESERVED_2A_LSB                     3
381 #define REO_FLUSH_CACHE_STATUS_2_RESERVED_2A_MASK                    0x000000f8
382 
383 /* Description		REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_HIT
384 
385 			The status that the cache controller returned for
386 			executing the flush command
387 
388 
389 
390 			descriptor hit
391 
392 			1 = hit
393 
394 			0 = miss
395 
396 			<legal all>
397 */
398 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_HIT_OFFSET 0x00000008
399 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_HIT_LSB 8
400 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_HIT_MASK 0x00000100
401 
402 /* Description		REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_DESC_TYPE
403 
404 			The status that the cache controller returned for
405 			executing the flush command
406 
407 			Descriptor type
408 
409 			FLOW_QUEUE_DESCRIPTOR                
410 			3'd0
411 
412 
413 			 <legal all>
414 */
415 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_DESC_TYPE_OFFSET 0x00000008
416 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_DESC_TYPE_LSB 9
417 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_DESC_TYPE_MASK 0x00000e00
418 
419 /* Description		REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_CLIENT_ID
420 
421 			The status that the cache controller returned for
422 			executing the flush command
423 
424 
425 
426 			client ID
427 
428 			Module who made flush the request
429 
430 
431 
432 			In REO, this is always set to 0
433 
434 			<legal 0>
435 */
436 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_CLIENT_ID_OFFSET 0x00000008
437 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_CLIENT_ID_LSB 12
438 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_CLIENT_ID_MASK 0x0000f000
439 
440 /* Description		REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_ERROR
441 
442 			The status that the cache controller returned for
443 			executing the flush command
444 
445 
446 
447 			Error condition
448 
449 			2'b00: No error found
450 
451 			2'b01: HW IF still busy
452 
453 			2'b10: Line is currently locked. Used for the one line
454 			flush command.
455 
456 			2'b11: At least one line is currently still locked. Used
457 			for the cache flush command.
458 
459 
460 
461 			<legal all>
462 */
463 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_ERROR_OFFSET 0x00000008
464 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_ERROR_LSB 16
465 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_ERROR_MASK 0x00030000
466 
467 /* Description		REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_COUNT
468 
469 			The number of lines that were actually flushed out.
470 
471 			<legal all>
472 */
473 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_COUNT_OFFSET 0x00000008
474 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_COUNT_LSB    18
475 #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_COUNT_MASK   0x03fc0000
476 
477 /* Description		REO_FLUSH_CACHE_STATUS_2_RESERVED_2B
478 
479 			<legal 0>
480 */
481 #define REO_FLUSH_CACHE_STATUS_2_RESERVED_2B_OFFSET                  0x00000008
482 #define REO_FLUSH_CACHE_STATUS_2_RESERVED_2B_LSB                     26
483 #define REO_FLUSH_CACHE_STATUS_2_RESERVED_2B_MASK                    0xfc000000
484 
485 /* Description		REO_FLUSH_CACHE_STATUS_3_RESERVED_3A
486 
487 			<legal 0>
488 */
489 #define REO_FLUSH_CACHE_STATUS_3_RESERVED_3A_OFFSET                  0x0000000c
490 #define REO_FLUSH_CACHE_STATUS_3_RESERVED_3A_LSB                     0
491 #define REO_FLUSH_CACHE_STATUS_3_RESERVED_3A_MASK                    0xffffffff
492 
493 /* Description		REO_FLUSH_CACHE_STATUS_4_RESERVED_4A
494 
495 			<legal 0>
496 */
497 #define REO_FLUSH_CACHE_STATUS_4_RESERVED_4A_OFFSET                  0x00000010
498 #define REO_FLUSH_CACHE_STATUS_4_RESERVED_4A_LSB                     0
499 #define REO_FLUSH_CACHE_STATUS_4_RESERVED_4A_MASK                    0xffffffff
500 
501 /* Description		REO_FLUSH_CACHE_STATUS_5_RESERVED_5A
502 
503 			<legal 0>
504 */
505 #define REO_FLUSH_CACHE_STATUS_5_RESERVED_5A_OFFSET                  0x00000014
506 #define REO_FLUSH_CACHE_STATUS_5_RESERVED_5A_LSB                     0
507 #define REO_FLUSH_CACHE_STATUS_5_RESERVED_5A_MASK                    0xffffffff
508 
509 /* Description		REO_FLUSH_CACHE_STATUS_6_RESERVED_6A
510 
511 			<legal 0>
512 */
513 #define REO_FLUSH_CACHE_STATUS_6_RESERVED_6A_OFFSET                  0x00000018
514 #define REO_FLUSH_CACHE_STATUS_6_RESERVED_6A_LSB                     0
515 #define REO_FLUSH_CACHE_STATUS_6_RESERVED_6A_MASK                    0xffffffff
516 
517 /* Description		REO_FLUSH_CACHE_STATUS_7_RESERVED_7A
518 
519 			<legal 0>
520 */
521 #define REO_FLUSH_CACHE_STATUS_7_RESERVED_7A_OFFSET                  0x0000001c
522 #define REO_FLUSH_CACHE_STATUS_7_RESERVED_7A_LSB                     0
523 #define REO_FLUSH_CACHE_STATUS_7_RESERVED_7A_MASK                    0xffffffff
524 
525 /* Description		REO_FLUSH_CACHE_STATUS_8_RESERVED_8A
526 
527 			<legal 0>
528 */
529 #define REO_FLUSH_CACHE_STATUS_8_RESERVED_8A_OFFSET                  0x00000020
530 #define REO_FLUSH_CACHE_STATUS_8_RESERVED_8A_LSB                     0
531 #define REO_FLUSH_CACHE_STATUS_8_RESERVED_8A_MASK                    0xffffffff
532 
533 /* Description		REO_FLUSH_CACHE_STATUS_9_RESERVED_9A
534 
535 			<legal 0>
536 */
537 #define REO_FLUSH_CACHE_STATUS_9_RESERVED_9A_OFFSET                  0x00000024
538 #define REO_FLUSH_CACHE_STATUS_9_RESERVED_9A_LSB                     0
539 #define REO_FLUSH_CACHE_STATUS_9_RESERVED_9A_MASK                    0xffffffff
540 
541 /* Description		REO_FLUSH_CACHE_STATUS_10_RESERVED_10A
542 
543 			<legal 0>
544 */
545 #define REO_FLUSH_CACHE_STATUS_10_RESERVED_10A_OFFSET                0x00000028
546 #define REO_FLUSH_CACHE_STATUS_10_RESERVED_10A_LSB                   0
547 #define REO_FLUSH_CACHE_STATUS_10_RESERVED_10A_MASK                  0xffffffff
548 
549 /* Description		REO_FLUSH_CACHE_STATUS_11_RESERVED_11A
550 
551 			<legal 0>
552 */
553 #define REO_FLUSH_CACHE_STATUS_11_RESERVED_11A_OFFSET                0x0000002c
554 #define REO_FLUSH_CACHE_STATUS_11_RESERVED_11A_LSB                   0
555 #define REO_FLUSH_CACHE_STATUS_11_RESERVED_11A_MASK                  0xffffffff
556 
557 /* Description		REO_FLUSH_CACHE_STATUS_12_RESERVED_12A
558 
559 			<legal 0>
560 */
561 #define REO_FLUSH_CACHE_STATUS_12_RESERVED_12A_OFFSET                0x00000030
562 #define REO_FLUSH_CACHE_STATUS_12_RESERVED_12A_LSB                   0
563 #define REO_FLUSH_CACHE_STATUS_12_RESERVED_12A_MASK                  0xffffffff
564 
565 /* Description		REO_FLUSH_CACHE_STATUS_13_RESERVED_13A
566 
567 			<legal 0>
568 */
569 #define REO_FLUSH_CACHE_STATUS_13_RESERVED_13A_OFFSET                0x00000034
570 #define REO_FLUSH_CACHE_STATUS_13_RESERVED_13A_LSB                   0
571 #define REO_FLUSH_CACHE_STATUS_13_RESERVED_13A_MASK                  0xffffffff
572 
573 /* Description		REO_FLUSH_CACHE_STATUS_14_RESERVED_14A
574 
575 			<legal 0>
576 */
577 #define REO_FLUSH_CACHE_STATUS_14_RESERVED_14A_OFFSET                0x00000038
578 #define REO_FLUSH_CACHE_STATUS_14_RESERVED_14A_LSB                   0
579 #define REO_FLUSH_CACHE_STATUS_14_RESERVED_14A_MASK                  0xffffffff
580 
581 /* Description		REO_FLUSH_CACHE_STATUS_15_RESERVED_15A
582 
583 			<legal 0>
584 */
585 #define REO_FLUSH_CACHE_STATUS_15_RESERVED_15A_OFFSET                0x0000003c
586 #define REO_FLUSH_CACHE_STATUS_15_RESERVED_15A_LSB                   0
587 #define REO_FLUSH_CACHE_STATUS_15_RESERVED_15A_MASK                  0xffffffff
588 
589 /* Description		REO_FLUSH_CACHE_STATUS_16_RESERVED_16A
590 
591 			<legal 0>
592 */
593 #define REO_FLUSH_CACHE_STATUS_16_RESERVED_16A_OFFSET                0x00000040
594 #define REO_FLUSH_CACHE_STATUS_16_RESERVED_16A_LSB                   0
595 #define REO_FLUSH_CACHE_STATUS_16_RESERVED_16A_MASK                  0xffffffff
596 
597 /* Description		REO_FLUSH_CACHE_STATUS_17_RESERVED_17A
598 
599 			<legal 0>
600 */
601 #define REO_FLUSH_CACHE_STATUS_17_RESERVED_17A_OFFSET                0x00000044
602 #define REO_FLUSH_CACHE_STATUS_17_RESERVED_17A_LSB                   0
603 #define REO_FLUSH_CACHE_STATUS_17_RESERVED_17A_MASK                  0xffffffff
604 
605 /* Description		REO_FLUSH_CACHE_STATUS_18_RESERVED_18A
606 
607 			<legal 0>
608 */
609 #define REO_FLUSH_CACHE_STATUS_18_RESERVED_18A_OFFSET                0x00000048
610 #define REO_FLUSH_CACHE_STATUS_18_RESERVED_18A_LSB                   0
611 #define REO_FLUSH_CACHE_STATUS_18_RESERVED_18A_MASK                  0xffffffff
612 
613 /* Description		REO_FLUSH_CACHE_STATUS_19_RESERVED_19A
614 
615 			<legal 0>
616 */
617 #define REO_FLUSH_CACHE_STATUS_19_RESERVED_19A_OFFSET                0x0000004c
618 #define REO_FLUSH_CACHE_STATUS_19_RESERVED_19A_LSB                   0
619 #define REO_FLUSH_CACHE_STATUS_19_RESERVED_19A_MASK                  0xffffffff
620 
621 /* Description		REO_FLUSH_CACHE_STATUS_20_RESERVED_20A
622 
623 			<legal 0>
624 */
625 #define REO_FLUSH_CACHE_STATUS_20_RESERVED_20A_OFFSET                0x00000050
626 #define REO_FLUSH_CACHE_STATUS_20_RESERVED_20A_LSB                   0
627 #define REO_FLUSH_CACHE_STATUS_20_RESERVED_20A_MASK                  0xffffffff
628 
629 /* Description		REO_FLUSH_CACHE_STATUS_21_RESERVED_21A
630 
631 			<legal 0>
632 */
633 #define REO_FLUSH_CACHE_STATUS_21_RESERVED_21A_OFFSET                0x00000054
634 #define REO_FLUSH_CACHE_STATUS_21_RESERVED_21A_LSB                   0
635 #define REO_FLUSH_CACHE_STATUS_21_RESERVED_21A_MASK                  0xffffffff
636 
637 /* Description		REO_FLUSH_CACHE_STATUS_22_RESERVED_22A
638 
639 			<legal 0>
640 */
641 #define REO_FLUSH_CACHE_STATUS_22_RESERVED_22A_OFFSET                0x00000058
642 #define REO_FLUSH_CACHE_STATUS_22_RESERVED_22A_LSB                   0
643 #define REO_FLUSH_CACHE_STATUS_22_RESERVED_22A_MASK                  0xffffffff
644 
645 /* Description		REO_FLUSH_CACHE_STATUS_23_RESERVED_23A
646 
647 			<legal 0>
648 */
649 #define REO_FLUSH_CACHE_STATUS_23_RESERVED_23A_OFFSET                0x0000005c
650 #define REO_FLUSH_CACHE_STATUS_23_RESERVED_23A_LSB                   0
651 #define REO_FLUSH_CACHE_STATUS_23_RESERVED_23A_MASK                  0xffffffff
652 
653 /* Description		REO_FLUSH_CACHE_STATUS_24_RESERVED_24A
654 
655 			<legal 0>
656 */
657 #define REO_FLUSH_CACHE_STATUS_24_RESERVED_24A_OFFSET                0x00000060
658 #define REO_FLUSH_CACHE_STATUS_24_RESERVED_24A_LSB                   0
659 #define REO_FLUSH_CACHE_STATUS_24_RESERVED_24A_MASK                  0x0fffffff
660 
661 /* Description		REO_FLUSH_CACHE_STATUS_24_LOOPING_COUNT
662 
663 			A count value that indicates the number of times the
664 			producer of entries into this Ring has looped around the
665 			ring.
666 
667 			At initialization time, this value is set to 0. On the
668 			first loop, this value is set to 1. After the max value is
669 			reached allowed by the number of bits for this field, the
670 			count value continues with 0 again.
671 
672 
673 
674 			In case SW is the consumer of the ring entries, it can
675 			use this field to figure out up to where the producer of
676 			entries has created new entries. This eliminates the need to
677 			check where the head pointer' of the ring is located once
678 			the SW starts processing an interrupt indicating that new
679 			entries have been put into this ring...
680 
681 
682 
683 			Also note that SW if it wants only needs to look at the
684 			LSB bit of this count value.
685 
686 			<legal all>
687 */
688 #define REO_FLUSH_CACHE_STATUS_24_LOOPING_COUNT_OFFSET               0x00000060
689 #define REO_FLUSH_CACHE_STATUS_24_LOOPING_COUNT_LSB                  28
690 #define REO_FLUSH_CACHE_STATUS_24_LOOPING_COUNT_MASK                 0xf0000000
691 
692 
693 #endif // _REO_FLUSH_CACHE_STATUS_H_
694