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