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