xref: /wlan-driver/fw-api/hw/qca6490/v1/reo_unblock_cache_status.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2019 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 //
20 // DO NOT EDIT!  This file is automatically generated
21 //               These definitions are tied to a particular hardware layout
22 
23 
24 #ifndef _REO_UNBLOCK_CACHE_STATUS_H_
25 #define _REO_UNBLOCK_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], unblock_type[1], reserved_2a[31:2]
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_UNBLOCK_CACHE_STATUS 25
62 
63 struct reo_unblock_cache_status {
64     struct            uniform_reo_status_header                       status_header;
65              uint32_t error_detected                  :  1, //[0]
66                       unblock_type                    :  1, //[1]
67                       reserved_2a                     : 30; //[31:2]
68              uint32_t reserved_3a                     : 32; //[31:0]
69              uint32_t reserved_4a                     : 32; //[31:0]
70              uint32_t reserved_5a                     : 32; //[31:0]
71              uint32_t reserved_6a                     : 32; //[31:0]
72              uint32_t reserved_7a                     : 32; //[31:0]
73              uint32_t reserved_8a                     : 32; //[31:0]
74              uint32_t reserved_9a                     : 32; //[31:0]
75              uint32_t reserved_10a                    : 32; //[31:0]
76              uint32_t reserved_11a                    : 32; //[31:0]
77              uint32_t reserved_12a                    : 32; //[31:0]
78              uint32_t reserved_13a                    : 32; //[31:0]
79              uint32_t reserved_14a                    : 32; //[31:0]
80              uint32_t reserved_15a                    : 32; //[31:0]
81              uint32_t reserved_16a                    : 32; //[31:0]
82              uint32_t reserved_17a                    : 32; //[31:0]
83              uint32_t reserved_18a                    : 32; //[31:0]
84              uint32_t reserved_19a                    : 32; //[31:0]
85              uint32_t reserved_20a                    : 32; //[31:0]
86              uint32_t reserved_21a                    : 32; //[31:0]
87              uint32_t reserved_22a                    : 32; //[31:0]
88              uint32_t reserved_23a                    : 32; //[31:0]
89              uint32_t reserved_24a                    : 28, //[27:0]
90                       looping_count                   :  4; //[31:28]
91 };
92 
93 /*
94 
95 struct uniform_reo_status_header status_header
96 
97 			Consumer: SW
98 
99 			Producer: REO
100 
101 
102 
103 			Details that can link this status with the original
104 			command. It also contains info on how long REO took to
105 			execute this command.
106 
107 error_detected
108 
109 			Status for blocking resource handling
110 
111 
112 
113 			0: No error has been detected while executing this
114 			command
115 
116 			1: The blocking resource was not in use, and therefor it
117 			could not be 'unblocked'
118 
119 unblock_type
120 
121 			Reference to the type of Unblock command type...
122 
123 
124 
125 			<enum 0 unblock_resource_index> Unblock a blocking
126 			resource
127 
128 
129 
130 			<enum 1 unblock_cache> The entire cache usage is
131 			unblock.
132 
133 
134 
135 			<legal all>
136 
137 reserved_2a
138 
139 			<legal 0>
140 
141 reserved_3a
142 
143 			<legal 0>
144 
145 reserved_4a
146 
147 			<legal 0>
148 
149 reserved_5a
150 
151 			<legal 0>
152 
153 reserved_6a
154 
155 			<legal 0>
156 
157 reserved_7a
158 
159 			<legal 0>
160 
161 reserved_8a
162 
163 			<legal 0>
164 
165 reserved_9a
166 
167 			<legal 0>
168 
169 reserved_10a
170 
171 			<legal 0>
172 
173 reserved_11a
174 
175 			<legal 0>
176 
177 reserved_12a
178 
179 			<legal 0>
180 
181 reserved_13a
182 
183 			<legal 0>
184 
185 reserved_14a
186 
187 			<legal 0>
188 
189 reserved_15a
190 
191 			<legal 0>
192 
193 reserved_16a
194 
195 			<legal 0>
196 
197 reserved_17a
198 
199 			<legal 0>
200 
201 reserved_18a
202 
203 			<legal 0>
204 
205 reserved_19a
206 
207 			<legal 0>
208 
209 reserved_20a
210 
211 			<legal 0>
212 
213 reserved_21a
214 
215 			<legal 0>
216 
217 reserved_22a
218 
219 			<legal 0>
220 
221 reserved_23a
222 
223 			<legal 0>
224 
225 reserved_24a
226 
227 			<legal 0>
228 
229 looping_count
230 
231 			A count value that indicates the number of times the
232 			producer of entries into this Ring has looped around the
233 			ring.
234 
235 			At initialization time, this value is set to 0. On the
236 			first loop, this value is set to 1. After the max value is
237 			reached allowed by the number of bits for this field, the
238 			count value continues with 0 again.
239 
240 
241 
242 			In case SW is the consumer of the ring entries, it can
243 			use this field to figure out up to where the producer of
244 			entries has created new entries. This eliminates the need to
245 			check where the head pointer' of the ring is located once
246 			the SW starts processing an interrupt indicating that new
247 			entries have been put into this ring...
248 
249 
250 
251 			Also note that SW if it wants only needs to look at the
252 			LSB bit of this count value.
253 
254 			<legal all>
255 */
256 
257 
258  /* EXTERNAL REFERENCE : struct uniform_reo_status_header status_header */
259 
260 
261 /* Description		REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER
262 
263 			Consumer: SW , DEBUG
264 
265 			Producer: REO
266 
267 
268 
269 			The value in this field is equal to value of the
270 			'REO_CMD_Number' field the REO command
271 
272 
273 
274 			This field helps to correlate the statuses with the REO
275 			commands.
276 
277 
278 
279 			<legal all>
280 */
281 #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_OFFSET 0x00000000
282 #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_LSB 0
283 #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_MASK 0x0000ffff
284 
285 /* Description		REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME
286 
287 			Consumer: DEBUG
288 
289 			Producer: REO
290 
291 
292 
293 			The amount of time REO took to excecute the command.
294 			Note that this time does not include the duration of the
295 			command waiting in the command ring, before the execution
296 			started.
297 
298 
299 
300 			In us.
301 
302 
303 
304 			<legal all>
305 */
306 #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_OFFSET 0x00000000
307 #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_LSB 16
308 #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_MASK 0x03ff0000
309 
310 /* Description		REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS
311 
312 			Consumer: DEBUG
313 
314 			Producer: REO
315 
316 
317 
318 			Execution status of the command.
319 
320 
321 
322 			<enum 0 reo_successful_execution> Command has
323 			successfully be executed
324 
325 			<enum 1 reo_blocked_execution> Command could not be
326 			executed as the queue or cache was blocked
327 
328 			<enum 2 reo_failed_execution> Command has encountered
329 			problems when executing, like the queue descriptor not being
330 			valid. None of the status fields in the entire STATUS TLV
331 			are valid.
332 
333 			<enum 3 reo_resource_blocked> Command is NOT  executed
334 			because one or more descriptors were blocked. This is SW
335 			programming mistake.
336 
337 			None of the status fields in the entire STATUS TLV are
338 			valid.
339 
340 
341 
342 			<legal  0-3>
343 */
344 #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_OFFSET 0x00000000
345 #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_LSB 26
346 #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_MASK 0x0c000000
347 
348 /* Description		REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_RESERVED_0A
349 
350 			<legal 0>
351 */
352 #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_RESERVED_0A_OFFSET  0x00000000
353 #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_RESERVED_0A_LSB     28
354 #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_RESERVED_0A_MASK    0xf0000000
355 
356 /* Description		REO_UNBLOCK_CACHE_STATUS_1_STATUS_HEADER_TIMESTAMP
357 
358 			Timestamp at the moment that this status report is
359 			written.
360 
361 
362 
363 			<legal all>
364 */
365 #define REO_UNBLOCK_CACHE_STATUS_1_STATUS_HEADER_TIMESTAMP_OFFSET    0x00000004
366 #define REO_UNBLOCK_CACHE_STATUS_1_STATUS_HEADER_TIMESTAMP_LSB       0
367 #define REO_UNBLOCK_CACHE_STATUS_1_STATUS_HEADER_TIMESTAMP_MASK      0xffffffff
368 
369 /* Description		REO_UNBLOCK_CACHE_STATUS_2_ERROR_DETECTED
370 
371 			Status for blocking resource handling
372 
373 
374 
375 			0: No error has been detected while executing this
376 			command
377 
378 			1: The blocking resource was not in use, and therefor it
379 			could not be 'unblocked'
380 */
381 #define REO_UNBLOCK_CACHE_STATUS_2_ERROR_DETECTED_OFFSET             0x00000008
382 #define REO_UNBLOCK_CACHE_STATUS_2_ERROR_DETECTED_LSB                0
383 #define REO_UNBLOCK_CACHE_STATUS_2_ERROR_DETECTED_MASK               0x00000001
384 
385 /* Description		REO_UNBLOCK_CACHE_STATUS_2_UNBLOCK_TYPE
386 
387 			Reference to the type of Unblock command type...
388 
389 
390 
391 			<enum 0 unblock_resource_index> Unblock a blocking
392 			resource
393 
394 
395 
396 			<enum 1 unblock_cache> The entire cache usage is
397 			unblock.
398 
399 
400 
401 			<legal all>
402 */
403 #define REO_UNBLOCK_CACHE_STATUS_2_UNBLOCK_TYPE_OFFSET               0x00000008
404 #define REO_UNBLOCK_CACHE_STATUS_2_UNBLOCK_TYPE_LSB                  1
405 #define REO_UNBLOCK_CACHE_STATUS_2_UNBLOCK_TYPE_MASK                 0x00000002
406 
407 /* Description		REO_UNBLOCK_CACHE_STATUS_2_RESERVED_2A
408 
409 			<legal 0>
410 */
411 #define REO_UNBLOCK_CACHE_STATUS_2_RESERVED_2A_OFFSET                0x00000008
412 #define REO_UNBLOCK_CACHE_STATUS_2_RESERVED_2A_LSB                   2
413 #define REO_UNBLOCK_CACHE_STATUS_2_RESERVED_2A_MASK                  0xfffffffc
414 
415 /* Description		REO_UNBLOCK_CACHE_STATUS_3_RESERVED_3A
416 
417 			<legal 0>
418 */
419 #define REO_UNBLOCK_CACHE_STATUS_3_RESERVED_3A_OFFSET                0x0000000c
420 #define REO_UNBLOCK_CACHE_STATUS_3_RESERVED_3A_LSB                   0
421 #define REO_UNBLOCK_CACHE_STATUS_3_RESERVED_3A_MASK                  0xffffffff
422 
423 /* Description		REO_UNBLOCK_CACHE_STATUS_4_RESERVED_4A
424 
425 			<legal 0>
426 */
427 #define REO_UNBLOCK_CACHE_STATUS_4_RESERVED_4A_OFFSET                0x00000010
428 #define REO_UNBLOCK_CACHE_STATUS_4_RESERVED_4A_LSB                   0
429 #define REO_UNBLOCK_CACHE_STATUS_4_RESERVED_4A_MASK                  0xffffffff
430 
431 /* Description		REO_UNBLOCK_CACHE_STATUS_5_RESERVED_5A
432 
433 			<legal 0>
434 */
435 #define REO_UNBLOCK_CACHE_STATUS_5_RESERVED_5A_OFFSET                0x00000014
436 #define REO_UNBLOCK_CACHE_STATUS_5_RESERVED_5A_LSB                   0
437 #define REO_UNBLOCK_CACHE_STATUS_5_RESERVED_5A_MASK                  0xffffffff
438 
439 /* Description		REO_UNBLOCK_CACHE_STATUS_6_RESERVED_6A
440 
441 			<legal 0>
442 */
443 #define REO_UNBLOCK_CACHE_STATUS_6_RESERVED_6A_OFFSET                0x00000018
444 #define REO_UNBLOCK_CACHE_STATUS_6_RESERVED_6A_LSB                   0
445 #define REO_UNBLOCK_CACHE_STATUS_6_RESERVED_6A_MASK                  0xffffffff
446 
447 /* Description		REO_UNBLOCK_CACHE_STATUS_7_RESERVED_7A
448 
449 			<legal 0>
450 */
451 #define REO_UNBLOCK_CACHE_STATUS_7_RESERVED_7A_OFFSET                0x0000001c
452 #define REO_UNBLOCK_CACHE_STATUS_7_RESERVED_7A_LSB                   0
453 #define REO_UNBLOCK_CACHE_STATUS_7_RESERVED_7A_MASK                  0xffffffff
454 
455 /* Description		REO_UNBLOCK_CACHE_STATUS_8_RESERVED_8A
456 
457 			<legal 0>
458 */
459 #define REO_UNBLOCK_CACHE_STATUS_8_RESERVED_8A_OFFSET                0x00000020
460 #define REO_UNBLOCK_CACHE_STATUS_8_RESERVED_8A_LSB                   0
461 #define REO_UNBLOCK_CACHE_STATUS_8_RESERVED_8A_MASK                  0xffffffff
462 
463 /* Description		REO_UNBLOCK_CACHE_STATUS_9_RESERVED_9A
464 
465 			<legal 0>
466 */
467 #define REO_UNBLOCK_CACHE_STATUS_9_RESERVED_9A_OFFSET                0x00000024
468 #define REO_UNBLOCK_CACHE_STATUS_9_RESERVED_9A_LSB                   0
469 #define REO_UNBLOCK_CACHE_STATUS_9_RESERVED_9A_MASK                  0xffffffff
470 
471 /* Description		REO_UNBLOCK_CACHE_STATUS_10_RESERVED_10A
472 
473 			<legal 0>
474 */
475 #define REO_UNBLOCK_CACHE_STATUS_10_RESERVED_10A_OFFSET              0x00000028
476 #define REO_UNBLOCK_CACHE_STATUS_10_RESERVED_10A_LSB                 0
477 #define REO_UNBLOCK_CACHE_STATUS_10_RESERVED_10A_MASK                0xffffffff
478 
479 /* Description		REO_UNBLOCK_CACHE_STATUS_11_RESERVED_11A
480 
481 			<legal 0>
482 */
483 #define REO_UNBLOCK_CACHE_STATUS_11_RESERVED_11A_OFFSET              0x0000002c
484 #define REO_UNBLOCK_CACHE_STATUS_11_RESERVED_11A_LSB                 0
485 #define REO_UNBLOCK_CACHE_STATUS_11_RESERVED_11A_MASK                0xffffffff
486 
487 /* Description		REO_UNBLOCK_CACHE_STATUS_12_RESERVED_12A
488 
489 			<legal 0>
490 */
491 #define REO_UNBLOCK_CACHE_STATUS_12_RESERVED_12A_OFFSET              0x00000030
492 #define REO_UNBLOCK_CACHE_STATUS_12_RESERVED_12A_LSB                 0
493 #define REO_UNBLOCK_CACHE_STATUS_12_RESERVED_12A_MASK                0xffffffff
494 
495 /* Description		REO_UNBLOCK_CACHE_STATUS_13_RESERVED_13A
496 
497 			<legal 0>
498 */
499 #define REO_UNBLOCK_CACHE_STATUS_13_RESERVED_13A_OFFSET              0x00000034
500 #define REO_UNBLOCK_CACHE_STATUS_13_RESERVED_13A_LSB                 0
501 #define REO_UNBLOCK_CACHE_STATUS_13_RESERVED_13A_MASK                0xffffffff
502 
503 /* Description		REO_UNBLOCK_CACHE_STATUS_14_RESERVED_14A
504 
505 			<legal 0>
506 */
507 #define REO_UNBLOCK_CACHE_STATUS_14_RESERVED_14A_OFFSET              0x00000038
508 #define REO_UNBLOCK_CACHE_STATUS_14_RESERVED_14A_LSB                 0
509 #define REO_UNBLOCK_CACHE_STATUS_14_RESERVED_14A_MASK                0xffffffff
510 
511 /* Description		REO_UNBLOCK_CACHE_STATUS_15_RESERVED_15A
512 
513 			<legal 0>
514 */
515 #define REO_UNBLOCK_CACHE_STATUS_15_RESERVED_15A_OFFSET              0x0000003c
516 #define REO_UNBLOCK_CACHE_STATUS_15_RESERVED_15A_LSB                 0
517 #define REO_UNBLOCK_CACHE_STATUS_15_RESERVED_15A_MASK                0xffffffff
518 
519 /* Description		REO_UNBLOCK_CACHE_STATUS_16_RESERVED_16A
520 
521 			<legal 0>
522 */
523 #define REO_UNBLOCK_CACHE_STATUS_16_RESERVED_16A_OFFSET              0x00000040
524 #define REO_UNBLOCK_CACHE_STATUS_16_RESERVED_16A_LSB                 0
525 #define REO_UNBLOCK_CACHE_STATUS_16_RESERVED_16A_MASK                0xffffffff
526 
527 /* Description		REO_UNBLOCK_CACHE_STATUS_17_RESERVED_17A
528 
529 			<legal 0>
530 */
531 #define REO_UNBLOCK_CACHE_STATUS_17_RESERVED_17A_OFFSET              0x00000044
532 #define REO_UNBLOCK_CACHE_STATUS_17_RESERVED_17A_LSB                 0
533 #define REO_UNBLOCK_CACHE_STATUS_17_RESERVED_17A_MASK                0xffffffff
534 
535 /* Description		REO_UNBLOCK_CACHE_STATUS_18_RESERVED_18A
536 
537 			<legal 0>
538 */
539 #define REO_UNBLOCK_CACHE_STATUS_18_RESERVED_18A_OFFSET              0x00000048
540 #define REO_UNBLOCK_CACHE_STATUS_18_RESERVED_18A_LSB                 0
541 #define REO_UNBLOCK_CACHE_STATUS_18_RESERVED_18A_MASK                0xffffffff
542 
543 /* Description		REO_UNBLOCK_CACHE_STATUS_19_RESERVED_19A
544 
545 			<legal 0>
546 */
547 #define REO_UNBLOCK_CACHE_STATUS_19_RESERVED_19A_OFFSET              0x0000004c
548 #define REO_UNBLOCK_CACHE_STATUS_19_RESERVED_19A_LSB                 0
549 #define REO_UNBLOCK_CACHE_STATUS_19_RESERVED_19A_MASK                0xffffffff
550 
551 /* Description		REO_UNBLOCK_CACHE_STATUS_20_RESERVED_20A
552 
553 			<legal 0>
554 */
555 #define REO_UNBLOCK_CACHE_STATUS_20_RESERVED_20A_OFFSET              0x00000050
556 #define REO_UNBLOCK_CACHE_STATUS_20_RESERVED_20A_LSB                 0
557 #define REO_UNBLOCK_CACHE_STATUS_20_RESERVED_20A_MASK                0xffffffff
558 
559 /* Description		REO_UNBLOCK_CACHE_STATUS_21_RESERVED_21A
560 
561 			<legal 0>
562 */
563 #define REO_UNBLOCK_CACHE_STATUS_21_RESERVED_21A_OFFSET              0x00000054
564 #define REO_UNBLOCK_CACHE_STATUS_21_RESERVED_21A_LSB                 0
565 #define REO_UNBLOCK_CACHE_STATUS_21_RESERVED_21A_MASK                0xffffffff
566 
567 /* Description		REO_UNBLOCK_CACHE_STATUS_22_RESERVED_22A
568 
569 			<legal 0>
570 */
571 #define REO_UNBLOCK_CACHE_STATUS_22_RESERVED_22A_OFFSET              0x00000058
572 #define REO_UNBLOCK_CACHE_STATUS_22_RESERVED_22A_LSB                 0
573 #define REO_UNBLOCK_CACHE_STATUS_22_RESERVED_22A_MASK                0xffffffff
574 
575 /* Description		REO_UNBLOCK_CACHE_STATUS_23_RESERVED_23A
576 
577 			<legal 0>
578 */
579 #define REO_UNBLOCK_CACHE_STATUS_23_RESERVED_23A_OFFSET              0x0000005c
580 #define REO_UNBLOCK_CACHE_STATUS_23_RESERVED_23A_LSB                 0
581 #define REO_UNBLOCK_CACHE_STATUS_23_RESERVED_23A_MASK                0xffffffff
582 
583 /* Description		REO_UNBLOCK_CACHE_STATUS_24_RESERVED_24A
584 
585 			<legal 0>
586 */
587 #define REO_UNBLOCK_CACHE_STATUS_24_RESERVED_24A_OFFSET              0x00000060
588 #define REO_UNBLOCK_CACHE_STATUS_24_RESERVED_24A_LSB                 0
589 #define REO_UNBLOCK_CACHE_STATUS_24_RESERVED_24A_MASK                0x0fffffff
590 
591 /* Description		REO_UNBLOCK_CACHE_STATUS_24_LOOPING_COUNT
592 
593 			A count value that indicates the number of times the
594 			producer of entries into this Ring has looped around the
595 			ring.
596 
597 			At initialization time, this value is set to 0. On the
598 			first loop, this value is set to 1. After the max value is
599 			reached allowed by the number of bits for this field, the
600 			count value continues with 0 again.
601 
602 
603 
604 			In case SW is the consumer of the ring entries, it can
605 			use this field to figure out up to where the producer of
606 			entries has created new entries. This eliminates the need to
607 			check where the head pointer' of the ring is located once
608 			the SW starts processing an interrupt indicating that new
609 			entries have been put into this ring...
610 
611 
612 
613 			Also note that SW if it wants only needs to look at the
614 			LSB bit of this count value.
615 
616 			<legal all>
617 */
618 #define REO_UNBLOCK_CACHE_STATUS_24_LOOPING_COUNT_OFFSET             0x00000060
619 #define REO_UNBLOCK_CACHE_STATUS_24_LOOPING_COUNT_LSB                28
620 #define REO_UNBLOCK_CACHE_STATUS_24_LOOPING_COUNT_MASK               0xf0000000
621 
622 
623 #endif // _REO_UNBLOCK_CACHE_STATUS_H_
624