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