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