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_TIMEOUT_LIST_STATUS_H_
18 #define _REO_FLUSH_TIMEOUT_LIST_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], timout_list_empty[1], reserved_2a[31:2]
29 //	3	release_desc_count[15:0], forward_buf_count[31:16]
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_TIMEOUT_LIST_STATUS 25
55 
56 struct reo_flush_timeout_list_status {
57     struct            uniform_reo_status_header                       status_header;
58              uint32_t error_detected                  :  1, //[0]
59                       timout_list_empty               :  1, //[1]
60                       reserved_2a                     : 30; //[31:2]
61              uint32_t release_desc_count              : 16, //[15:0]
62                       forward_buf_count               : 16; //[31:16]
63              uint32_t reserved_4a                     : 32; //[31:0]
64              uint32_t reserved_5a                     : 32; //[31:0]
65              uint32_t reserved_6a                     : 32; //[31:0]
66              uint32_t reserved_7a                     : 32; //[31:0]
67              uint32_t reserved_8a                     : 32; //[31:0]
68              uint32_t reserved_9a                     : 32; //[31:0]
69              uint32_t reserved_10a                    : 32; //[31:0]
70              uint32_t reserved_11a                    : 32; //[31:0]
71              uint32_t reserved_12a                    : 32; //[31:0]
72              uint32_t reserved_13a                    : 32; //[31:0]
73              uint32_t reserved_14a                    : 32; //[31:0]
74              uint32_t reserved_15a                    : 32; //[31:0]
75              uint32_t reserved_16a                    : 32; //[31:0]
76              uint32_t reserved_17a                    : 32; //[31:0]
77              uint32_t reserved_18a                    : 32; //[31:0]
78              uint32_t reserved_19a                    : 32; //[31:0]
79              uint32_t reserved_20a                    : 32; //[31:0]
80              uint32_t reserved_21a                    : 32; //[31:0]
81              uint32_t reserved_22a                    : 32; //[31:0]
82              uint32_t reserved_23a                    : 32; //[31:0]
83              uint32_t reserved_24a                    : 28, //[27:0]
84                       looping_count                   :  4; //[31:28]
85 };
86 
87 /*
88 
89 struct uniform_reo_status_header status_header
90 
91 			Consumer: SW
92 
93 			Producer: REO
94 
95 
96 
97 			Details that can link this status with the original
98 			command. It also contains info on how long REO took to
99 			execute this command.
100 
101 error_detected
102 
103 			0: No error has been detected while executing this
104 			command
105 
106 			1: command not properly executed and returned with an
107 			error
108 
109 
110 
111 			NOTE: Current no error is defined, but field is put in
112 			place to avoid data structure changes in future...
113 
114 timout_list_empty
115 
116 			When set, REO has depleted the timeout list and all
117 			entries are gone.
118 
119 			<legal all>
120 
121 reserved_2a
122 
123 			<legal 0>
124 
125 release_desc_count
126 
127 			Consumer: REO
128 
129 			Producer: SW
130 
131 
132 
133 			The number of link descriptors released
134 
135 			<legal all>
136 
137 forward_buf_count
138 
139 			Consumer: REO
140 
141 			Producer: SW
142 
143 
144 
145 			The number of buffers forwarded to the REO destination
146 			rings
147 
148 			<legal all>
149 
150 reserved_4a
151 
152 			<legal 0>
153 
154 reserved_5a
155 
156 			<legal 0>
157 
158 reserved_6a
159 
160 			<legal 0>
161 
162 reserved_7a
163 
164 			<legal 0>
165 
166 reserved_8a
167 
168 			<legal 0>
169 
170 reserved_9a
171 
172 			<legal 0>
173 
174 reserved_10a
175 
176 			<legal 0>
177 
178 reserved_11a
179 
180 			<legal 0>
181 
182 reserved_12a
183 
184 			<legal 0>
185 
186 reserved_13a
187 
188 			<legal 0>
189 
190 reserved_14a
191 
192 			<legal 0>
193 
194 reserved_15a
195 
196 			<legal 0>
197 
198 reserved_16a
199 
200 			<legal 0>
201 
202 reserved_17a
203 
204 			<legal 0>
205 
206 reserved_18a
207 
208 			<legal 0>
209 
210 reserved_19a
211 
212 			<legal 0>
213 
214 reserved_20a
215 
216 			<legal 0>
217 
218 reserved_21a
219 
220 			<legal 0>
221 
222 reserved_22a
223 
224 			<legal 0>
225 
226 reserved_23a
227 
228 			<legal 0>
229 
230 reserved_24a
231 
232 			<legal 0>
233 
234 looping_count
235 
236 			A count value that indicates the number of times the
237 			producer of entries into this Ring has looped around the
238 			ring.
239 
240 			At initialization time, this value is set to 0. On the
241 			first loop, this value is set to 1. After the max value is
242 			reached allowed by the number of bits for this field, the
243 			count value continues with 0 again.
244 
245 
246 
247 			In case SW is the consumer of the ring entries, it can
248 			use this field to figure out up to where the producer of
249 			entries has created new entries. This eliminates the need to
250 			check where the head pointer' of the ring is located once
251 			the SW starts processing an interrupt indicating that new
252 			entries have been put into this ring...
253 
254 
255 
256 			Also note that SW if it wants only needs to look at the
257 			LSB bit of this count value.
258 
259 			<legal all>
260 */
261 
262 
263  /* EXTERNAL REFERENCE : struct uniform_reo_status_header status_header */
264 
265 
266 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER
267 
268 			Consumer: SW , DEBUG
269 
270 			Producer: REO
271 
272 
273 
274 			The value in this field is equal to value of the
275 			'REO_CMD_Number' field the REO command
276 
277 
278 
279 			This field helps to correlate the statuses with the REO
280 			commands.
281 
282 
283 
284 			<legal all>
285 */
286 #define REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_OFFSET 0x00000000
287 #define REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_LSB 0
288 #define REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_MASK 0x0000ffff
289 
290 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME
291 
292 			Consumer: DEBUG
293 
294 			Producer: REO
295 
296 
297 
298 			The amount of time REO took to excecute the command.
299 			Note that this time does not include the duration of the
300 			command waiting in the command ring, before the execution
301 			started.
302 
303 
304 
305 			In us.
306 
307 
308 
309 			<legal all>
310 */
311 #define REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_OFFSET 0x00000000
312 #define REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_LSB 16
313 #define REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_MASK 0x03ff0000
314 
315 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS
316 
317 			Consumer: DEBUG
318 
319 			Producer: REO
320 
321 
322 
323 			Execution status of the command.
324 
325 
326 
327 			<enum 0 reo_successful_execution> Command has
328 			successfully be executed
329 
330 			<enum 1 reo_blocked_execution> Command could not be
331 			executed as the queue or cache was blocked
332 
333 			<enum 2 reo_failed_execution> Command has encountered
334 			problems when executing, like the queue descriptor not being
335 			valid. None of the status fields in the entire STATUS TLV
336 			are valid.
337 
338 			<enum 3 reo_resource_blocked> Command is NOT  executed
339 			because one or more descriptors were blocked. This is SW
340 			programming mistake.
341 
342 			None of the status fields in the entire STATUS TLV are
343 			valid.
344 
345 
346 
347 			<legal  0-3>
348 */
349 #define REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_OFFSET 0x00000000
350 #define REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_LSB 26
351 #define REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_MASK 0x0c000000
352 
353 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_RESERVED_0A
354 
355 			<legal 0>
356 */
357 #define REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_RESERVED_0A_OFFSET 0x00000000
358 #define REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_RESERVED_0A_LSB 28
359 #define REO_FLUSH_TIMEOUT_LIST_STATUS_0_STATUS_HEADER_RESERVED_0A_MASK 0xf0000000
360 
361 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_1_STATUS_HEADER_TIMESTAMP
362 
363 			Timestamp at the moment that this status report is
364 			written.
365 
366 
367 
368 			<legal all>
369 */
370 #define REO_FLUSH_TIMEOUT_LIST_STATUS_1_STATUS_HEADER_TIMESTAMP_OFFSET 0x00000004
371 #define REO_FLUSH_TIMEOUT_LIST_STATUS_1_STATUS_HEADER_TIMESTAMP_LSB  0
372 #define REO_FLUSH_TIMEOUT_LIST_STATUS_1_STATUS_HEADER_TIMESTAMP_MASK 0xffffffff
373 
374 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_2_ERROR_DETECTED
375 
376 			0: No error has been detected while executing this
377 			command
378 
379 			1: command not properly executed and returned with an
380 			error
381 
382 
383 
384 			NOTE: Current no error is defined, but field is put in
385 			place to avoid data structure changes in future...
386 */
387 #define REO_FLUSH_TIMEOUT_LIST_STATUS_2_ERROR_DETECTED_OFFSET        0x00000008
388 #define REO_FLUSH_TIMEOUT_LIST_STATUS_2_ERROR_DETECTED_LSB           0
389 #define REO_FLUSH_TIMEOUT_LIST_STATUS_2_ERROR_DETECTED_MASK          0x00000001
390 
391 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_2_TIMOUT_LIST_EMPTY
392 
393 			When set, REO has depleted the timeout list and all
394 			entries are gone.
395 
396 			<legal all>
397 */
398 #define REO_FLUSH_TIMEOUT_LIST_STATUS_2_TIMOUT_LIST_EMPTY_OFFSET     0x00000008
399 #define REO_FLUSH_TIMEOUT_LIST_STATUS_2_TIMOUT_LIST_EMPTY_LSB        1
400 #define REO_FLUSH_TIMEOUT_LIST_STATUS_2_TIMOUT_LIST_EMPTY_MASK       0x00000002
401 
402 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_2_RESERVED_2A
403 
404 			<legal 0>
405 */
406 #define REO_FLUSH_TIMEOUT_LIST_STATUS_2_RESERVED_2A_OFFSET           0x00000008
407 #define REO_FLUSH_TIMEOUT_LIST_STATUS_2_RESERVED_2A_LSB              2
408 #define REO_FLUSH_TIMEOUT_LIST_STATUS_2_RESERVED_2A_MASK             0xfffffffc
409 
410 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_3_RELEASE_DESC_COUNT
411 
412 			Consumer: REO
413 
414 			Producer: SW
415 
416 
417 
418 			The number of link descriptors released
419 
420 			<legal all>
421 */
422 #define REO_FLUSH_TIMEOUT_LIST_STATUS_3_RELEASE_DESC_COUNT_OFFSET    0x0000000c
423 #define REO_FLUSH_TIMEOUT_LIST_STATUS_3_RELEASE_DESC_COUNT_LSB       0
424 #define REO_FLUSH_TIMEOUT_LIST_STATUS_3_RELEASE_DESC_COUNT_MASK      0x0000ffff
425 
426 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_3_FORWARD_BUF_COUNT
427 
428 			Consumer: REO
429 
430 			Producer: SW
431 
432 
433 
434 			The number of buffers forwarded to the REO destination
435 			rings
436 
437 			<legal all>
438 */
439 #define REO_FLUSH_TIMEOUT_LIST_STATUS_3_FORWARD_BUF_COUNT_OFFSET     0x0000000c
440 #define REO_FLUSH_TIMEOUT_LIST_STATUS_3_FORWARD_BUF_COUNT_LSB        16
441 #define REO_FLUSH_TIMEOUT_LIST_STATUS_3_FORWARD_BUF_COUNT_MASK       0xffff0000
442 
443 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_4_RESERVED_4A
444 
445 			<legal 0>
446 */
447 #define REO_FLUSH_TIMEOUT_LIST_STATUS_4_RESERVED_4A_OFFSET           0x00000010
448 #define REO_FLUSH_TIMEOUT_LIST_STATUS_4_RESERVED_4A_LSB              0
449 #define REO_FLUSH_TIMEOUT_LIST_STATUS_4_RESERVED_4A_MASK             0xffffffff
450 
451 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_5_RESERVED_5A
452 
453 			<legal 0>
454 */
455 #define REO_FLUSH_TIMEOUT_LIST_STATUS_5_RESERVED_5A_OFFSET           0x00000014
456 #define REO_FLUSH_TIMEOUT_LIST_STATUS_5_RESERVED_5A_LSB              0
457 #define REO_FLUSH_TIMEOUT_LIST_STATUS_5_RESERVED_5A_MASK             0xffffffff
458 
459 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_6_RESERVED_6A
460 
461 			<legal 0>
462 */
463 #define REO_FLUSH_TIMEOUT_LIST_STATUS_6_RESERVED_6A_OFFSET           0x00000018
464 #define REO_FLUSH_TIMEOUT_LIST_STATUS_6_RESERVED_6A_LSB              0
465 #define REO_FLUSH_TIMEOUT_LIST_STATUS_6_RESERVED_6A_MASK             0xffffffff
466 
467 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_7_RESERVED_7A
468 
469 			<legal 0>
470 */
471 #define REO_FLUSH_TIMEOUT_LIST_STATUS_7_RESERVED_7A_OFFSET           0x0000001c
472 #define REO_FLUSH_TIMEOUT_LIST_STATUS_7_RESERVED_7A_LSB              0
473 #define REO_FLUSH_TIMEOUT_LIST_STATUS_7_RESERVED_7A_MASK             0xffffffff
474 
475 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_8_RESERVED_8A
476 
477 			<legal 0>
478 */
479 #define REO_FLUSH_TIMEOUT_LIST_STATUS_8_RESERVED_8A_OFFSET           0x00000020
480 #define REO_FLUSH_TIMEOUT_LIST_STATUS_8_RESERVED_8A_LSB              0
481 #define REO_FLUSH_TIMEOUT_LIST_STATUS_8_RESERVED_8A_MASK             0xffffffff
482 
483 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_9_RESERVED_9A
484 
485 			<legal 0>
486 */
487 #define REO_FLUSH_TIMEOUT_LIST_STATUS_9_RESERVED_9A_OFFSET           0x00000024
488 #define REO_FLUSH_TIMEOUT_LIST_STATUS_9_RESERVED_9A_LSB              0
489 #define REO_FLUSH_TIMEOUT_LIST_STATUS_9_RESERVED_9A_MASK             0xffffffff
490 
491 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_10_RESERVED_10A
492 
493 			<legal 0>
494 */
495 #define REO_FLUSH_TIMEOUT_LIST_STATUS_10_RESERVED_10A_OFFSET         0x00000028
496 #define REO_FLUSH_TIMEOUT_LIST_STATUS_10_RESERVED_10A_LSB            0
497 #define REO_FLUSH_TIMEOUT_LIST_STATUS_10_RESERVED_10A_MASK           0xffffffff
498 
499 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_11_RESERVED_11A
500 
501 			<legal 0>
502 */
503 #define REO_FLUSH_TIMEOUT_LIST_STATUS_11_RESERVED_11A_OFFSET         0x0000002c
504 #define REO_FLUSH_TIMEOUT_LIST_STATUS_11_RESERVED_11A_LSB            0
505 #define REO_FLUSH_TIMEOUT_LIST_STATUS_11_RESERVED_11A_MASK           0xffffffff
506 
507 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_12_RESERVED_12A
508 
509 			<legal 0>
510 */
511 #define REO_FLUSH_TIMEOUT_LIST_STATUS_12_RESERVED_12A_OFFSET         0x00000030
512 #define REO_FLUSH_TIMEOUT_LIST_STATUS_12_RESERVED_12A_LSB            0
513 #define REO_FLUSH_TIMEOUT_LIST_STATUS_12_RESERVED_12A_MASK           0xffffffff
514 
515 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_13_RESERVED_13A
516 
517 			<legal 0>
518 */
519 #define REO_FLUSH_TIMEOUT_LIST_STATUS_13_RESERVED_13A_OFFSET         0x00000034
520 #define REO_FLUSH_TIMEOUT_LIST_STATUS_13_RESERVED_13A_LSB            0
521 #define REO_FLUSH_TIMEOUT_LIST_STATUS_13_RESERVED_13A_MASK           0xffffffff
522 
523 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_14_RESERVED_14A
524 
525 			<legal 0>
526 */
527 #define REO_FLUSH_TIMEOUT_LIST_STATUS_14_RESERVED_14A_OFFSET         0x00000038
528 #define REO_FLUSH_TIMEOUT_LIST_STATUS_14_RESERVED_14A_LSB            0
529 #define REO_FLUSH_TIMEOUT_LIST_STATUS_14_RESERVED_14A_MASK           0xffffffff
530 
531 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_15_RESERVED_15A
532 
533 			<legal 0>
534 */
535 #define REO_FLUSH_TIMEOUT_LIST_STATUS_15_RESERVED_15A_OFFSET         0x0000003c
536 #define REO_FLUSH_TIMEOUT_LIST_STATUS_15_RESERVED_15A_LSB            0
537 #define REO_FLUSH_TIMEOUT_LIST_STATUS_15_RESERVED_15A_MASK           0xffffffff
538 
539 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_16_RESERVED_16A
540 
541 			<legal 0>
542 */
543 #define REO_FLUSH_TIMEOUT_LIST_STATUS_16_RESERVED_16A_OFFSET         0x00000040
544 #define REO_FLUSH_TIMEOUT_LIST_STATUS_16_RESERVED_16A_LSB            0
545 #define REO_FLUSH_TIMEOUT_LIST_STATUS_16_RESERVED_16A_MASK           0xffffffff
546 
547 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_17_RESERVED_17A
548 
549 			<legal 0>
550 */
551 #define REO_FLUSH_TIMEOUT_LIST_STATUS_17_RESERVED_17A_OFFSET         0x00000044
552 #define REO_FLUSH_TIMEOUT_LIST_STATUS_17_RESERVED_17A_LSB            0
553 #define REO_FLUSH_TIMEOUT_LIST_STATUS_17_RESERVED_17A_MASK           0xffffffff
554 
555 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_18_RESERVED_18A
556 
557 			<legal 0>
558 */
559 #define REO_FLUSH_TIMEOUT_LIST_STATUS_18_RESERVED_18A_OFFSET         0x00000048
560 #define REO_FLUSH_TIMEOUT_LIST_STATUS_18_RESERVED_18A_LSB            0
561 #define REO_FLUSH_TIMEOUT_LIST_STATUS_18_RESERVED_18A_MASK           0xffffffff
562 
563 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_19_RESERVED_19A
564 
565 			<legal 0>
566 */
567 #define REO_FLUSH_TIMEOUT_LIST_STATUS_19_RESERVED_19A_OFFSET         0x0000004c
568 #define REO_FLUSH_TIMEOUT_LIST_STATUS_19_RESERVED_19A_LSB            0
569 #define REO_FLUSH_TIMEOUT_LIST_STATUS_19_RESERVED_19A_MASK           0xffffffff
570 
571 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_20_RESERVED_20A
572 
573 			<legal 0>
574 */
575 #define REO_FLUSH_TIMEOUT_LIST_STATUS_20_RESERVED_20A_OFFSET         0x00000050
576 #define REO_FLUSH_TIMEOUT_LIST_STATUS_20_RESERVED_20A_LSB            0
577 #define REO_FLUSH_TIMEOUT_LIST_STATUS_20_RESERVED_20A_MASK           0xffffffff
578 
579 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_21_RESERVED_21A
580 
581 			<legal 0>
582 */
583 #define REO_FLUSH_TIMEOUT_LIST_STATUS_21_RESERVED_21A_OFFSET         0x00000054
584 #define REO_FLUSH_TIMEOUT_LIST_STATUS_21_RESERVED_21A_LSB            0
585 #define REO_FLUSH_TIMEOUT_LIST_STATUS_21_RESERVED_21A_MASK           0xffffffff
586 
587 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_22_RESERVED_22A
588 
589 			<legal 0>
590 */
591 #define REO_FLUSH_TIMEOUT_LIST_STATUS_22_RESERVED_22A_OFFSET         0x00000058
592 #define REO_FLUSH_TIMEOUT_LIST_STATUS_22_RESERVED_22A_LSB            0
593 #define REO_FLUSH_TIMEOUT_LIST_STATUS_22_RESERVED_22A_MASK           0xffffffff
594 
595 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_23_RESERVED_23A
596 
597 			<legal 0>
598 */
599 #define REO_FLUSH_TIMEOUT_LIST_STATUS_23_RESERVED_23A_OFFSET         0x0000005c
600 #define REO_FLUSH_TIMEOUT_LIST_STATUS_23_RESERVED_23A_LSB            0
601 #define REO_FLUSH_TIMEOUT_LIST_STATUS_23_RESERVED_23A_MASK           0xffffffff
602 
603 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_24_RESERVED_24A
604 
605 			<legal 0>
606 */
607 #define REO_FLUSH_TIMEOUT_LIST_STATUS_24_RESERVED_24A_OFFSET         0x00000060
608 #define REO_FLUSH_TIMEOUT_LIST_STATUS_24_RESERVED_24A_LSB            0
609 #define REO_FLUSH_TIMEOUT_LIST_STATUS_24_RESERVED_24A_MASK           0x0fffffff
610 
611 /* Description		REO_FLUSH_TIMEOUT_LIST_STATUS_24_LOOPING_COUNT
612 
613 			A count value that indicates the number of times the
614 			producer of entries into this Ring has looped around the
615 			ring.
616 
617 			At initialization time, this value is set to 0. On the
618 			first loop, this value is set to 1. After the max value is
619 			reached allowed by the number of bits for this field, the
620 			count value continues with 0 again.
621 
622 
623 
624 			In case SW is the consumer of the ring entries, it can
625 			use this field to figure out up to where the producer of
626 			entries has created new entries. This eliminates the need to
627 			check where the head pointer' of the ring is located once
628 			the SW starts processing an interrupt indicating that new
629 			entries have been put into this ring...
630 
631 
632 
633 			Also note that SW if it wants only needs to look at the
634 			LSB bit of this count value.
635 
636 			<legal all>
637 */
638 #define REO_FLUSH_TIMEOUT_LIST_STATUS_24_LOOPING_COUNT_OFFSET        0x00000060
639 #define REO_FLUSH_TIMEOUT_LIST_STATUS_24_LOOPING_COUNT_LSB           28
640 #define REO_FLUSH_TIMEOUT_LIST_STATUS_24_LOOPING_COUNT_MASK          0xf0000000
641 
642 
643 #endif // _REO_FLUSH_TIMEOUT_LIST_STATUS_H_
644