1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2016-2020 Intel Corporation 3 */ 4 5 #ifndef __DLB_REGS_H 6 #define __DLB_REGS_H 7 8 #include "dlb_osdep_types.h" 9 10 #define DLB_MSIX_MEM_VECTOR_CTRL(x) \ 11 (0x100000c + (x) * 0x10) 12 #define DLB_MSIX_MEM_VECTOR_CTRL_RST 0x1 13 union dlb_msix_mem_vector_ctrl { 14 struct { 15 u32 vec_mask : 1; 16 u32 rsvd0 : 31; 17 } field; 18 u32 val; 19 }; 20 21 #define DLB_SYS_TOTAL_VAS 0x124 22 #define DLB_SYS_TOTAL_VAS_RST 0x20 23 union dlb_sys_total_vas { 24 struct { 25 u32 total_vas : 32; 26 } field; 27 u32 val; 28 }; 29 30 #define DLB_SYS_ALARM_PF_SYND2 0x508 31 #define DLB_SYS_ALARM_PF_SYND2_RST 0x0 32 union dlb_sys_alarm_pf_synd2 { 33 struct { 34 u32 lock_id : 16; 35 u32 meas : 1; 36 u32 debug : 7; 37 u32 cq_pop : 1; 38 u32 qe_uhl : 1; 39 u32 qe_orsp : 1; 40 u32 qe_valid : 1; 41 u32 cq_int_rearm : 1; 42 u32 dsi_error : 1; 43 u32 rsvd0 : 2; 44 } field; 45 u32 val; 46 }; 47 48 #define DLB_SYS_ALARM_PF_SYND1 0x504 49 #define DLB_SYS_ALARM_PF_SYND1_RST 0x0 50 union dlb_sys_alarm_pf_synd1 { 51 struct { 52 u32 dsi : 16; 53 u32 qid : 8; 54 u32 qtype : 2; 55 u32 qpri : 3; 56 u32 msg_type : 3; 57 } field; 58 u32 val; 59 }; 60 61 #define DLB_SYS_ALARM_PF_SYND0 0x500 62 #define DLB_SYS_ALARM_PF_SYND0_RST 0x0 63 union dlb_sys_alarm_pf_synd0 { 64 struct { 65 u32 syndrome : 8; 66 u32 rtype : 2; 67 u32 rsvd0 : 2; 68 u32 from_dmv : 1; 69 u32 is_ldb : 1; 70 u32 cls : 2; 71 u32 aid : 6; 72 u32 unit : 4; 73 u32 source : 4; 74 u32 more : 1; 75 u32 valid : 1; 76 } field; 77 u32 val; 78 }; 79 80 #define DLB_SYS_LDB_VASQID_V(x) \ 81 (0xf60 + (x) * 0x1000) 82 #define DLB_SYS_LDB_VASQID_V_RST 0x0 83 union dlb_sys_ldb_vasqid_v { 84 struct { 85 u32 vasqid_v : 1; 86 u32 rsvd0 : 31; 87 } field; 88 u32 val; 89 }; 90 91 #define DLB_SYS_DIR_VASQID_V(x) \ 92 (0xf68 + (x) * 0x1000) 93 #define DLB_SYS_DIR_VASQID_V_RST 0x0 94 union dlb_sys_dir_vasqid_v { 95 struct { 96 u32 vasqid_v : 1; 97 u32 rsvd0 : 31; 98 } field; 99 u32 val; 100 }; 101 102 #define DLB_SYS_WBUF_DIR_FLAGS(x) \ 103 (0xf70 + (x) * 0x1000) 104 #define DLB_SYS_WBUF_DIR_FLAGS_RST 0x0 105 union dlb_sys_wbuf_dir_flags { 106 struct { 107 u32 wb_v : 4; 108 u32 cl : 1; 109 u32 busy : 1; 110 u32 opt : 1; 111 u32 rsvd0 : 25; 112 } field; 113 u32 val; 114 }; 115 116 #define DLB_SYS_WBUF_LDB_FLAGS(x) \ 117 (0xf78 + (x) * 0x1000) 118 #define DLB_SYS_WBUF_LDB_FLAGS_RST 0x0 119 union dlb_sys_wbuf_ldb_flags { 120 struct { 121 u32 wb_v : 4; 122 u32 cl : 1; 123 u32 busy : 1; 124 u32 rsvd0 : 26; 125 } field; 126 u32 val; 127 }; 128 129 #define DLB_SYS_LDB_QID_V(x) \ 130 (0x8000034 + (x) * 0x1000) 131 #define DLB_SYS_LDB_QID_V_RST 0x0 132 union dlb_sys_ldb_qid_v { 133 struct { 134 u32 qid_v : 1; 135 u32 rsvd0 : 31; 136 } field; 137 u32 val; 138 }; 139 140 #define DLB_SYS_LDB_QID_CFG_V(x) \ 141 (0x8000030 + (x) * 0x1000) 142 #define DLB_SYS_LDB_QID_CFG_V_RST 0x0 143 union dlb_sys_ldb_qid_cfg_v { 144 struct { 145 u32 sn_cfg_v : 1; 146 u32 fid_cfg_v : 1; 147 u32 rsvd0 : 30; 148 } field; 149 u32 val; 150 }; 151 152 #define DLB_SYS_DIR_QID_V(x) \ 153 (0x8000040 + (x) * 0x1000) 154 #define DLB_SYS_DIR_QID_V_RST 0x0 155 union dlb_sys_dir_qid_v { 156 struct { 157 u32 qid_v : 1; 158 u32 rsvd0 : 31; 159 } field; 160 u32 val; 161 }; 162 163 #define DLB_SYS_LDB_POOL_ENBLD(x) \ 164 (0x8000070 + (x) * 0x1000) 165 #define DLB_SYS_LDB_POOL_ENBLD_RST 0x0 166 union dlb_sys_ldb_pool_enbld { 167 struct { 168 u32 pool_enabled : 1; 169 u32 rsvd0 : 31; 170 } field; 171 u32 val; 172 }; 173 174 #define DLB_SYS_DIR_POOL_ENBLD(x) \ 175 (0x8000080 + (x) * 0x1000) 176 #define DLB_SYS_DIR_POOL_ENBLD_RST 0x0 177 union dlb_sys_dir_pool_enbld { 178 struct { 179 u32 pool_enabled : 1; 180 u32 rsvd0 : 31; 181 } field; 182 u32 val; 183 }; 184 185 #define DLB_SYS_LDB_PP2VPP(x) \ 186 (0x8000090 + (x) * 0x1000) 187 #define DLB_SYS_LDB_PP2VPP_RST 0x0 188 union dlb_sys_ldb_pp2vpp { 189 struct { 190 u32 vpp : 6; 191 u32 rsvd0 : 26; 192 } field; 193 u32 val; 194 }; 195 196 #define DLB_SYS_DIR_PP2VPP(x) \ 197 (0x8000094 + (x) * 0x1000) 198 #define DLB_SYS_DIR_PP2VPP_RST 0x0 199 union dlb_sys_dir_pp2vpp { 200 struct { 201 u32 vpp : 7; 202 u32 rsvd0 : 25; 203 } field; 204 u32 val; 205 }; 206 207 #define DLB_SYS_LDB_PP_V(x) \ 208 (0x8000128 + (x) * 0x1000) 209 #define DLB_SYS_LDB_PP_V_RST 0x0 210 union dlb_sys_ldb_pp_v { 211 struct { 212 u32 pp_v : 1; 213 u32 rsvd0 : 31; 214 } field; 215 u32 val; 216 }; 217 218 #define DLB_SYS_LDB_CQ_ISR(x) \ 219 (0x8000124 + (x) * 0x1000) 220 #define DLB_SYS_LDB_CQ_ISR_RST 0x0 221 /* CQ Interrupt Modes */ 222 #define DLB_CQ_ISR_MODE_DIS 0 223 #define DLB_CQ_ISR_MODE_MSI 1 224 #define DLB_CQ_ISR_MODE_MSIX 2 225 union dlb_sys_ldb_cq_isr { 226 struct { 227 u32 vector : 6; 228 u32 vf : 4; 229 u32 en_code : 2; 230 u32 rsvd0 : 20; 231 } field; 232 u32 val; 233 }; 234 235 #define DLB_SYS_LDB_CQ2VF_PF(x) \ 236 (0x8000120 + (x) * 0x1000) 237 #define DLB_SYS_LDB_CQ2VF_PF_RST 0x0 238 union dlb_sys_ldb_cq2vf_pf { 239 struct { 240 u32 vf : 4; 241 u32 is_pf : 1; 242 u32 rsvd0 : 27; 243 } field; 244 u32 val; 245 }; 246 247 #define DLB_SYS_LDB_PP2VAS(x) \ 248 (0x800011c + (x) * 0x1000) 249 #define DLB_SYS_LDB_PP2VAS_RST 0x0 250 union dlb_sys_ldb_pp2vas { 251 struct { 252 u32 vas : 5; 253 u32 rsvd0 : 27; 254 } field; 255 u32 val; 256 }; 257 258 #define DLB_SYS_LDB_PP2LDBPOOL(x) \ 259 (0x8000118 + (x) * 0x1000) 260 #define DLB_SYS_LDB_PP2LDBPOOL_RST 0x0 261 union dlb_sys_ldb_pp2ldbpool { 262 struct { 263 u32 ldbpool : 6; 264 u32 rsvd0 : 26; 265 } field; 266 u32 val; 267 }; 268 269 #define DLB_SYS_LDB_PP2DIRPOOL(x) \ 270 (0x8000114 + (x) * 0x1000) 271 #define DLB_SYS_LDB_PP2DIRPOOL_RST 0x0 272 union dlb_sys_ldb_pp2dirpool { 273 struct { 274 u32 dirpool : 6; 275 u32 rsvd0 : 26; 276 } field; 277 u32 val; 278 }; 279 280 #define DLB_SYS_LDB_PP2VF_PF(x) \ 281 (0x8000110 + (x) * 0x1000) 282 #define DLB_SYS_LDB_PP2VF_PF_RST 0x0 283 union dlb_sys_ldb_pp2vf_pf { 284 struct { 285 u32 vf : 4; 286 u32 is_pf : 1; 287 u32 rsvd0 : 27; 288 } field; 289 u32 val; 290 }; 291 292 #define DLB_SYS_LDB_PP_ADDR_U(x) \ 293 (0x800010c + (x) * 0x1000) 294 #define DLB_SYS_LDB_PP_ADDR_U_RST 0x0 295 union dlb_sys_ldb_pp_addr_u { 296 struct { 297 u32 addr_u : 32; 298 } field; 299 u32 val; 300 }; 301 302 #define DLB_SYS_LDB_PP_ADDR_L(x) \ 303 (0x8000108 + (x) * 0x1000) 304 #define DLB_SYS_LDB_PP_ADDR_L_RST 0x0 305 union dlb_sys_ldb_pp_addr_l { 306 struct { 307 u32 rsvd0 : 7; 308 u32 addr_l : 25; 309 } field; 310 u32 val; 311 }; 312 313 #define DLB_SYS_LDB_CQ_ADDR_U(x) \ 314 (0x8000104 + (x) * 0x1000) 315 #define DLB_SYS_LDB_CQ_ADDR_U_RST 0x0 316 union dlb_sys_ldb_cq_addr_u { 317 struct { 318 u32 addr_u : 32; 319 } field; 320 u32 val; 321 }; 322 323 #define DLB_SYS_LDB_CQ_ADDR_L(x) \ 324 (0x8000100 + (x) * 0x1000) 325 #define DLB_SYS_LDB_CQ_ADDR_L_RST 0x0 326 union dlb_sys_ldb_cq_addr_l { 327 struct { 328 u32 rsvd0 : 6; 329 u32 addr_l : 26; 330 } field; 331 u32 val; 332 }; 333 334 #define DLB_SYS_DIR_PP_V(x) \ 335 (0x8000228 + (x) * 0x1000) 336 #define DLB_SYS_DIR_PP_V_RST 0x0 337 union dlb_sys_dir_pp_v { 338 struct { 339 u32 pp_v : 1; 340 u32 mb_dm : 1; 341 u32 rsvd0 : 30; 342 } field; 343 u32 val; 344 }; 345 346 #define DLB_SYS_DIR_CQ_ISR(x) \ 347 (0x8000224 + (x) * 0x1000) 348 #define DLB_SYS_DIR_CQ_ISR_RST 0x0 349 union dlb_sys_dir_cq_isr { 350 struct { 351 u32 vector : 6; 352 u32 vf : 4; 353 u32 en_code : 2; 354 u32 rsvd0 : 20; 355 } field; 356 u32 val; 357 }; 358 359 #define DLB_SYS_DIR_CQ2VF_PF(x) \ 360 (0x8000220 + (x) * 0x1000) 361 #define DLB_SYS_DIR_CQ2VF_PF_RST 0x0 362 union dlb_sys_dir_cq2vf_pf { 363 struct { 364 u32 vf : 4; 365 u32 is_pf : 1; 366 u32 rsvd0 : 27; 367 } field; 368 u32 val; 369 }; 370 371 #define DLB_SYS_DIR_PP2VAS(x) \ 372 (0x800021c + (x) * 0x1000) 373 #define DLB_SYS_DIR_PP2VAS_RST 0x0 374 union dlb_sys_dir_pp2vas { 375 struct { 376 u32 vas : 5; 377 u32 rsvd0 : 27; 378 } field; 379 u32 val; 380 }; 381 382 #define DLB_SYS_DIR_PP2LDBPOOL(x) \ 383 (0x8000218 + (x) * 0x1000) 384 #define DLB_SYS_DIR_PP2LDBPOOL_RST 0x0 385 union dlb_sys_dir_pp2ldbpool { 386 struct { 387 u32 ldbpool : 6; 388 u32 rsvd0 : 26; 389 } field; 390 u32 val; 391 }; 392 393 #define DLB_SYS_DIR_PP2DIRPOOL(x) \ 394 (0x8000214 + (x) * 0x1000) 395 #define DLB_SYS_DIR_PP2DIRPOOL_RST 0x0 396 union dlb_sys_dir_pp2dirpool { 397 struct { 398 u32 dirpool : 6; 399 u32 rsvd0 : 26; 400 } field; 401 u32 val; 402 }; 403 404 #define DLB_SYS_DIR_PP2VF_PF(x) \ 405 (0x8000210 + (x) * 0x1000) 406 #define DLB_SYS_DIR_PP2VF_PF_RST 0x0 407 union dlb_sys_dir_pp2vf_pf { 408 struct { 409 u32 vf : 4; 410 u32 is_pf : 1; 411 u32 is_hw_dsi : 1; 412 u32 rsvd0 : 26; 413 } field; 414 u32 val; 415 }; 416 417 #define DLB_SYS_DIR_PP_ADDR_U(x) \ 418 (0x800020c + (x) * 0x1000) 419 #define DLB_SYS_DIR_PP_ADDR_U_RST 0x0 420 union dlb_sys_dir_pp_addr_u { 421 struct { 422 u32 addr_u : 32; 423 } field; 424 u32 val; 425 }; 426 427 #define DLB_SYS_DIR_PP_ADDR_L(x) \ 428 (0x8000208 + (x) * 0x1000) 429 #define DLB_SYS_DIR_PP_ADDR_L_RST 0x0 430 union dlb_sys_dir_pp_addr_l { 431 struct { 432 u32 rsvd0 : 7; 433 u32 addr_l : 25; 434 } field; 435 u32 val; 436 }; 437 438 #define DLB_SYS_DIR_CQ_ADDR_U(x) \ 439 (0x8000204 + (x) * 0x1000) 440 #define DLB_SYS_DIR_CQ_ADDR_U_RST 0x0 441 union dlb_sys_dir_cq_addr_u { 442 struct { 443 u32 addr_u : 32; 444 } field; 445 u32 val; 446 }; 447 448 #define DLB_SYS_DIR_CQ_ADDR_L(x) \ 449 (0x8000200 + (x) * 0x1000) 450 #define DLB_SYS_DIR_CQ_ADDR_L_RST 0x0 451 union dlb_sys_dir_cq_addr_l { 452 struct { 453 u32 rsvd0 : 6; 454 u32 addr_l : 26; 455 } field; 456 u32 val; 457 }; 458 459 #define DLB_SYS_INGRESS_ALARM_ENBL 0x300 460 #define DLB_SYS_INGRESS_ALARM_ENBL_RST 0x0 461 union dlb_sys_ingress_alarm_enbl { 462 struct { 463 u32 illegal_hcw : 1; 464 u32 illegal_pp : 1; 465 u32 disabled_pp : 1; 466 u32 illegal_qid : 1; 467 u32 disabled_qid : 1; 468 u32 illegal_ldb_qid_cfg : 1; 469 u32 illegal_cqid : 1; 470 u32 rsvd0 : 25; 471 } field; 472 u32 val; 473 }; 474 475 #define DLB_SYS_CQ_MODE 0x30c 476 #define DLB_SYS_CQ_MODE_RST 0x0 477 union dlb_sys_cq_mode { 478 struct { 479 u32 ldb_cq64 : 1; 480 u32 dir_cq64 : 1; 481 u32 rsvd0 : 30; 482 } field; 483 u32 val; 484 }; 485 486 #define DLB_SYS_MSIX_ACK 0x400 487 #define DLB_SYS_MSIX_ACK_RST 0x0 488 union dlb_sys_msix_ack { 489 struct { 490 u32 msix_0_ack : 1; 491 u32 msix_1_ack : 1; 492 u32 msix_2_ack : 1; 493 u32 msix_3_ack : 1; 494 u32 msix_4_ack : 1; 495 u32 msix_5_ack : 1; 496 u32 msix_6_ack : 1; 497 u32 msix_7_ack : 1; 498 u32 msix_8_ack : 1; 499 u32 rsvd0 : 23; 500 } field; 501 u32 val; 502 }; 503 504 #define DLB_SYS_MSIX_PASSTHRU 0x404 505 #define DLB_SYS_MSIX_PASSTHRU_RST 0x0 506 union dlb_sys_msix_passthru { 507 struct { 508 u32 msix_0_passthru : 1; 509 u32 msix_1_passthru : 1; 510 u32 msix_2_passthru : 1; 511 u32 msix_3_passthru : 1; 512 u32 msix_4_passthru : 1; 513 u32 msix_5_passthru : 1; 514 u32 msix_6_passthru : 1; 515 u32 msix_7_passthru : 1; 516 u32 msix_8_passthru : 1; 517 u32 rsvd0 : 23; 518 } field; 519 u32 val; 520 }; 521 522 #define DLB_SYS_MSIX_MODE 0x408 523 #define DLB_SYS_MSIX_MODE_RST 0x0 524 /* MSI-X Modes */ 525 #define DLB_MSIX_MODE_PACKED 0 526 #define DLB_MSIX_MODE_COMPRESSED 1 527 union dlb_sys_msix_mode { 528 struct { 529 u32 mode : 1; 530 u32 rsvd0 : 31; 531 } field; 532 u32 val; 533 }; 534 535 #define DLB_SYS_DIR_CQ_31_0_OCC_INT_STS 0x440 536 #define DLB_SYS_DIR_CQ_31_0_OCC_INT_STS_RST 0x0 537 union dlb_sys_dir_cq_31_0_occ_int_sts { 538 struct { 539 u32 cq_0_occ_int : 1; 540 u32 cq_1_occ_int : 1; 541 u32 cq_2_occ_int : 1; 542 u32 cq_3_occ_int : 1; 543 u32 cq_4_occ_int : 1; 544 u32 cq_5_occ_int : 1; 545 u32 cq_6_occ_int : 1; 546 u32 cq_7_occ_int : 1; 547 u32 cq_8_occ_int : 1; 548 u32 cq_9_occ_int : 1; 549 u32 cq_10_occ_int : 1; 550 u32 cq_11_occ_int : 1; 551 u32 cq_12_occ_int : 1; 552 u32 cq_13_occ_int : 1; 553 u32 cq_14_occ_int : 1; 554 u32 cq_15_occ_int : 1; 555 u32 cq_16_occ_int : 1; 556 u32 cq_17_occ_int : 1; 557 u32 cq_18_occ_int : 1; 558 u32 cq_19_occ_int : 1; 559 u32 cq_20_occ_int : 1; 560 u32 cq_21_occ_int : 1; 561 u32 cq_22_occ_int : 1; 562 u32 cq_23_occ_int : 1; 563 u32 cq_24_occ_int : 1; 564 u32 cq_25_occ_int : 1; 565 u32 cq_26_occ_int : 1; 566 u32 cq_27_occ_int : 1; 567 u32 cq_28_occ_int : 1; 568 u32 cq_29_occ_int : 1; 569 u32 cq_30_occ_int : 1; 570 u32 cq_31_occ_int : 1; 571 } field; 572 u32 val; 573 }; 574 575 #define DLB_SYS_DIR_CQ_63_32_OCC_INT_STS 0x444 576 #define DLB_SYS_DIR_CQ_63_32_OCC_INT_STS_RST 0x0 577 union dlb_sys_dir_cq_63_32_occ_int_sts { 578 struct { 579 u32 cq_32_occ_int : 1; 580 u32 cq_33_occ_int : 1; 581 u32 cq_34_occ_int : 1; 582 u32 cq_35_occ_int : 1; 583 u32 cq_36_occ_int : 1; 584 u32 cq_37_occ_int : 1; 585 u32 cq_38_occ_int : 1; 586 u32 cq_39_occ_int : 1; 587 u32 cq_40_occ_int : 1; 588 u32 cq_41_occ_int : 1; 589 u32 cq_42_occ_int : 1; 590 u32 cq_43_occ_int : 1; 591 u32 cq_44_occ_int : 1; 592 u32 cq_45_occ_int : 1; 593 u32 cq_46_occ_int : 1; 594 u32 cq_47_occ_int : 1; 595 u32 cq_48_occ_int : 1; 596 u32 cq_49_occ_int : 1; 597 u32 cq_50_occ_int : 1; 598 u32 cq_51_occ_int : 1; 599 u32 cq_52_occ_int : 1; 600 u32 cq_53_occ_int : 1; 601 u32 cq_54_occ_int : 1; 602 u32 cq_55_occ_int : 1; 603 u32 cq_56_occ_int : 1; 604 u32 cq_57_occ_int : 1; 605 u32 cq_58_occ_int : 1; 606 u32 cq_59_occ_int : 1; 607 u32 cq_60_occ_int : 1; 608 u32 cq_61_occ_int : 1; 609 u32 cq_62_occ_int : 1; 610 u32 cq_63_occ_int : 1; 611 } field; 612 u32 val; 613 }; 614 615 #define DLB_SYS_DIR_CQ_95_64_OCC_INT_STS 0x448 616 #define DLB_SYS_DIR_CQ_95_64_OCC_INT_STS_RST 0x0 617 union dlb_sys_dir_cq_95_64_occ_int_sts { 618 struct { 619 u32 cq_64_occ_int : 1; 620 u32 cq_65_occ_int : 1; 621 u32 cq_66_occ_int : 1; 622 u32 cq_67_occ_int : 1; 623 u32 cq_68_occ_int : 1; 624 u32 cq_69_occ_int : 1; 625 u32 cq_70_occ_int : 1; 626 u32 cq_71_occ_int : 1; 627 u32 cq_72_occ_int : 1; 628 u32 cq_73_occ_int : 1; 629 u32 cq_74_occ_int : 1; 630 u32 cq_75_occ_int : 1; 631 u32 cq_76_occ_int : 1; 632 u32 cq_77_occ_int : 1; 633 u32 cq_78_occ_int : 1; 634 u32 cq_79_occ_int : 1; 635 u32 cq_80_occ_int : 1; 636 u32 cq_81_occ_int : 1; 637 u32 cq_82_occ_int : 1; 638 u32 cq_83_occ_int : 1; 639 u32 cq_84_occ_int : 1; 640 u32 cq_85_occ_int : 1; 641 u32 cq_86_occ_int : 1; 642 u32 cq_87_occ_int : 1; 643 u32 cq_88_occ_int : 1; 644 u32 cq_89_occ_int : 1; 645 u32 cq_90_occ_int : 1; 646 u32 cq_91_occ_int : 1; 647 u32 cq_92_occ_int : 1; 648 u32 cq_93_occ_int : 1; 649 u32 cq_94_occ_int : 1; 650 u32 cq_95_occ_int : 1; 651 } field; 652 u32 val; 653 }; 654 655 #define DLB_SYS_DIR_CQ_127_96_OCC_INT_STS 0x44c 656 #define DLB_SYS_DIR_CQ_127_96_OCC_INT_STS_RST 0x0 657 union dlb_sys_dir_cq_127_96_occ_int_sts { 658 struct { 659 u32 cq_96_occ_int : 1; 660 u32 cq_97_occ_int : 1; 661 u32 cq_98_occ_int : 1; 662 u32 cq_99_occ_int : 1; 663 u32 cq_100_occ_int : 1; 664 u32 cq_101_occ_int : 1; 665 u32 cq_102_occ_int : 1; 666 u32 cq_103_occ_int : 1; 667 u32 cq_104_occ_int : 1; 668 u32 cq_105_occ_int : 1; 669 u32 cq_106_occ_int : 1; 670 u32 cq_107_occ_int : 1; 671 u32 cq_108_occ_int : 1; 672 u32 cq_109_occ_int : 1; 673 u32 cq_110_occ_int : 1; 674 u32 cq_111_occ_int : 1; 675 u32 cq_112_occ_int : 1; 676 u32 cq_113_occ_int : 1; 677 u32 cq_114_occ_int : 1; 678 u32 cq_115_occ_int : 1; 679 u32 cq_116_occ_int : 1; 680 u32 cq_117_occ_int : 1; 681 u32 cq_118_occ_int : 1; 682 u32 cq_119_occ_int : 1; 683 u32 cq_120_occ_int : 1; 684 u32 cq_121_occ_int : 1; 685 u32 cq_122_occ_int : 1; 686 u32 cq_123_occ_int : 1; 687 u32 cq_124_occ_int : 1; 688 u32 cq_125_occ_int : 1; 689 u32 cq_126_occ_int : 1; 690 u32 cq_127_occ_int : 1; 691 } field; 692 u32 val; 693 }; 694 695 #define DLB_SYS_LDB_CQ_31_0_OCC_INT_STS 0x460 696 #define DLB_SYS_LDB_CQ_31_0_OCC_INT_STS_RST 0x0 697 union dlb_sys_ldb_cq_31_0_occ_int_sts { 698 struct { 699 u32 cq_0_occ_int : 1; 700 u32 cq_1_occ_int : 1; 701 u32 cq_2_occ_int : 1; 702 u32 cq_3_occ_int : 1; 703 u32 cq_4_occ_int : 1; 704 u32 cq_5_occ_int : 1; 705 u32 cq_6_occ_int : 1; 706 u32 cq_7_occ_int : 1; 707 u32 cq_8_occ_int : 1; 708 u32 cq_9_occ_int : 1; 709 u32 cq_10_occ_int : 1; 710 u32 cq_11_occ_int : 1; 711 u32 cq_12_occ_int : 1; 712 u32 cq_13_occ_int : 1; 713 u32 cq_14_occ_int : 1; 714 u32 cq_15_occ_int : 1; 715 u32 cq_16_occ_int : 1; 716 u32 cq_17_occ_int : 1; 717 u32 cq_18_occ_int : 1; 718 u32 cq_19_occ_int : 1; 719 u32 cq_20_occ_int : 1; 720 u32 cq_21_occ_int : 1; 721 u32 cq_22_occ_int : 1; 722 u32 cq_23_occ_int : 1; 723 u32 cq_24_occ_int : 1; 724 u32 cq_25_occ_int : 1; 725 u32 cq_26_occ_int : 1; 726 u32 cq_27_occ_int : 1; 727 u32 cq_28_occ_int : 1; 728 u32 cq_29_occ_int : 1; 729 u32 cq_30_occ_int : 1; 730 u32 cq_31_occ_int : 1; 731 } field; 732 u32 val; 733 }; 734 735 #define DLB_SYS_LDB_CQ_63_32_OCC_INT_STS 0x464 736 #define DLB_SYS_LDB_CQ_63_32_OCC_INT_STS_RST 0x0 737 union dlb_sys_ldb_cq_63_32_occ_int_sts { 738 struct { 739 u32 cq_32_occ_int : 1; 740 u32 cq_33_occ_int : 1; 741 u32 cq_34_occ_int : 1; 742 u32 cq_35_occ_int : 1; 743 u32 cq_36_occ_int : 1; 744 u32 cq_37_occ_int : 1; 745 u32 cq_38_occ_int : 1; 746 u32 cq_39_occ_int : 1; 747 u32 cq_40_occ_int : 1; 748 u32 cq_41_occ_int : 1; 749 u32 cq_42_occ_int : 1; 750 u32 cq_43_occ_int : 1; 751 u32 cq_44_occ_int : 1; 752 u32 cq_45_occ_int : 1; 753 u32 cq_46_occ_int : 1; 754 u32 cq_47_occ_int : 1; 755 u32 cq_48_occ_int : 1; 756 u32 cq_49_occ_int : 1; 757 u32 cq_50_occ_int : 1; 758 u32 cq_51_occ_int : 1; 759 u32 cq_52_occ_int : 1; 760 u32 cq_53_occ_int : 1; 761 u32 cq_54_occ_int : 1; 762 u32 cq_55_occ_int : 1; 763 u32 cq_56_occ_int : 1; 764 u32 cq_57_occ_int : 1; 765 u32 cq_58_occ_int : 1; 766 u32 cq_59_occ_int : 1; 767 u32 cq_60_occ_int : 1; 768 u32 cq_61_occ_int : 1; 769 u32 cq_62_occ_int : 1; 770 u32 cq_63_occ_int : 1; 771 } field; 772 u32 val; 773 }; 774 775 #define DLB_SYS_ALARM_HW_SYND 0x50c 776 #define DLB_SYS_ALARM_HW_SYND_RST 0x0 777 union dlb_sys_alarm_hw_synd { 778 struct { 779 u32 syndrome : 8; 780 u32 rtype : 2; 781 u32 rsvd0 : 2; 782 u32 from_dmv : 1; 783 u32 is_ldb : 1; 784 u32 cls : 2; 785 u32 aid : 6; 786 u32 unit : 4; 787 u32 source : 4; 788 u32 more : 1; 789 u32 valid : 1; 790 } field; 791 u32 val; 792 }; 793 794 #define DLB_SYS_SYS_ALARM_INT_ENABLE 0xc001048 795 #define DLB_SYS_SYS_ALARM_INT_ENABLE_RST 0x7fffff 796 union dlb_sys_sys_alarm_int_enable { 797 struct { 798 u32 cq_addr_overflow_error : 1; 799 u32 ingress_perr : 1; 800 u32 egress_perr : 1; 801 u32 alarm_perr : 1; 802 u32 vf_to_pf_isr_pend_error : 1; 803 u32 pf_to_vf_isr_pend_error : 1; 804 u32 timeout_error : 1; 805 u32 dmvw_sm_error : 1; 806 u32 pptr_sm_par_error : 1; 807 u32 pptr_sm_len_error : 1; 808 u32 sch_sm_error : 1; 809 u32 wbuf_flag_error : 1; 810 u32 dmvw_cl_error : 1; 811 u32 dmvr_cl_error : 1; 812 u32 cmpl_data_error : 1; 813 u32 cmpl_error : 1; 814 u32 fifo_underflow : 1; 815 u32 fifo_overflow : 1; 816 u32 sb_ep_parity_err : 1; 817 u32 ti_parity_err : 1; 818 u32 ri_parity_err : 1; 819 u32 cfgm_ppw_err : 1; 820 u32 system_csr_perr : 1; 821 u32 rsvd0 : 9; 822 } field; 823 u32 val; 824 }; 825 826 #define DLB_LSP_CQ_LDB_TOT_SCH_CNT_CTRL(x) \ 827 (0x20000000 + (x) * 0x1000) 828 #define DLB_LSP_CQ_LDB_TOT_SCH_CNT_CTRL_RST 0x0 829 union dlb_lsp_cq_ldb_tot_sch_cnt_ctrl { 830 struct { 831 u32 count : 32; 832 } field; 833 u32 val; 834 }; 835 836 #define DLB_LSP_CQ_LDB_DSBL(x) \ 837 (0x20000124 + (x) * 0x1000) 838 #define DLB_LSP_CQ_LDB_DSBL_RST 0x1 839 union dlb_lsp_cq_ldb_dsbl { 840 struct { 841 u32 disabled : 1; 842 u32 rsvd0 : 31; 843 } field; 844 u32 val; 845 }; 846 847 #define DLB_LSP_CQ_LDB_TOT_SCH_CNTH(x) \ 848 (0x20000120 + (x) * 0x1000) 849 #define DLB_LSP_CQ_LDB_TOT_SCH_CNTH_RST 0x0 850 union dlb_lsp_cq_ldb_tot_sch_cnth { 851 struct { 852 u32 count : 32; 853 } field; 854 u32 val; 855 }; 856 857 #define DLB_LSP_CQ_LDB_TOT_SCH_CNTL(x) \ 858 (0x2000011c + (x) * 0x1000) 859 #define DLB_LSP_CQ_LDB_TOT_SCH_CNTL_RST 0x0 860 union dlb_lsp_cq_ldb_tot_sch_cntl { 861 struct { 862 u32 count : 32; 863 } field; 864 u32 val; 865 }; 866 867 #define DLB_LSP_CQ_LDB_TKN_DEPTH_SEL(x) \ 868 (0x20000118 + (x) * 0x1000) 869 #define DLB_LSP_CQ_LDB_TKN_DEPTH_SEL_RST 0x0 870 union dlb_lsp_cq_ldb_tkn_depth_sel { 871 struct { 872 u32 token_depth_select : 4; 873 u32 ignore_depth : 1; 874 u32 enab_shallow_cq : 1; 875 u32 rsvd0 : 26; 876 } field; 877 u32 val; 878 }; 879 880 #define DLB_LSP_CQ_LDB_TKN_CNT(x) \ 881 (0x20000114 + (x) * 0x1000) 882 #define DLB_LSP_CQ_LDB_TKN_CNT_RST 0x0 883 union dlb_lsp_cq_ldb_tkn_cnt { 884 struct { 885 u32 token_count : 11; 886 u32 rsvd0 : 21; 887 } field; 888 u32 val; 889 }; 890 891 #define DLB_LSP_CQ_LDB_INFL_LIM(x) \ 892 (0x20000110 + (x) * 0x1000) 893 #define DLB_LSP_CQ_LDB_INFL_LIM_RST 0x0 894 union dlb_lsp_cq_ldb_infl_lim { 895 struct { 896 u32 limit : 13; 897 u32 rsvd0 : 19; 898 } field; 899 u32 val; 900 }; 901 902 #define DLB_LSP_CQ_LDB_INFL_CNT(x) \ 903 (0x2000010c + (x) * 0x1000) 904 #define DLB_LSP_CQ_LDB_INFL_CNT_RST 0x0 905 union dlb_lsp_cq_ldb_infl_cnt { 906 struct { 907 u32 count : 13; 908 u32 rsvd0 : 19; 909 } field; 910 u32 val; 911 }; 912 913 #define DLB_LSP_CQ2QID(x, y) \ 914 (0x20000104 + (x) * 0x1000 + (y) * 0x4) 915 #define DLB_LSP_CQ2QID_RST 0x0 916 union dlb_lsp_cq2qid { 917 struct { 918 u32 qid_p0 : 7; 919 u32 rsvd3 : 1; 920 u32 qid_p1 : 7; 921 u32 rsvd2 : 1; 922 u32 qid_p2 : 7; 923 u32 rsvd1 : 1; 924 u32 qid_p3 : 7; 925 u32 rsvd0 : 1; 926 } field; 927 u32 val; 928 }; 929 930 #define DLB_LSP_CQ2PRIOV(x) \ 931 (0x20000100 + (x) * 0x1000) 932 #define DLB_LSP_CQ2PRIOV_RST 0x0 933 union dlb_lsp_cq2priov { 934 struct { 935 u32 prio : 24; 936 u32 v : 8; 937 } field; 938 u32 val; 939 }; 940 941 #define DLB_LSP_CQ_DIR_DSBL(x) \ 942 (0x20000310 + (x) * 0x1000) 943 #define DLB_LSP_CQ_DIR_DSBL_RST 0x1 944 union dlb_lsp_cq_dir_dsbl { 945 struct { 946 u32 disabled : 1; 947 u32 rsvd0 : 31; 948 } field; 949 u32 val; 950 }; 951 952 #define DLB_LSP_CQ_DIR_TKN_DEPTH_SEL_DSI(x) \ 953 (0x2000030c + (x) * 0x1000) 954 #define DLB_LSP_CQ_DIR_TKN_DEPTH_SEL_DSI_RST 0x0 955 union dlb_lsp_cq_dir_tkn_depth_sel_dsi { 956 struct { 957 u32 token_depth_select : 4; 958 u32 disable_wb_opt : 1; 959 u32 ignore_depth : 1; 960 u32 rsvd0 : 26; 961 } field; 962 u32 val; 963 }; 964 965 #define DLB_LSP_CQ_DIR_TOT_SCH_CNTH(x) \ 966 (0x20000308 + (x) * 0x1000) 967 #define DLB_LSP_CQ_DIR_TOT_SCH_CNTH_RST 0x0 968 union dlb_lsp_cq_dir_tot_sch_cnth { 969 struct { 970 u32 count : 32; 971 } field; 972 u32 val; 973 }; 974 975 #define DLB_LSP_CQ_DIR_TOT_SCH_CNTL(x) \ 976 (0x20000304 + (x) * 0x1000) 977 #define DLB_LSP_CQ_DIR_TOT_SCH_CNTL_RST 0x0 978 union dlb_lsp_cq_dir_tot_sch_cntl { 979 struct { 980 u32 count : 32; 981 } field; 982 u32 val; 983 }; 984 985 #define DLB_LSP_CQ_DIR_TKN_CNT(x) \ 986 (0x20000300 + (x) * 0x1000) 987 #define DLB_LSP_CQ_DIR_TKN_CNT_RST 0x0 988 union dlb_lsp_cq_dir_tkn_cnt { 989 struct { 990 u32 count : 11; 991 u32 rsvd0 : 21; 992 } field; 993 u32 val; 994 }; 995 996 #define DLB_LSP_QID_LDB_QID2CQIDX(x, y) \ 997 (0x20000400 + (x) * 0x1000 + (y) * 0x4) 998 #define DLB_LSP_QID_LDB_QID2CQIDX_RST 0x0 999 union dlb_lsp_qid_ldb_qid2cqidx { 1000 struct { 1001 u32 cq_p0 : 8; 1002 u32 cq_p1 : 8; 1003 u32 cq_p2 : 8; 1004 u32 cq_p3 : 8; 1005 } field; 1006 u32 val; 1007 }; 1008 1009 #define DLB_LSP_QID_LDB_QID2CQIDX2(x, y) \ 1010 (0x20000500 + (x) * 0x1000 + (y) * 0x4) 1011 #define DLB_LSP_QID_LDB_QID2CQIDX2_RST 0x0 1012 union dlb_lsp_qid_ldb_qid2cqidx2 { 1013 struct { 1014 u32 cq_p0 : 8; 1015 u32 cq_p1 : 8; 1016 u32 cq_p2 : 8; 1017 u32 cq_p3 : 8; 1018 } field; 1019 u32 val; 1020 }; 1021 1022 #define DLB_LSP_QID_ATQ_ENQUEUE_CNT(x) \ 1023 (0x2000066c + (x) * 0x1000) 1024 #define DLB_LSP_QID_ATQ_ENQUEUE_CNT_RST 0x0 1025 union dlb_lsp_qid_atq_enqueue_cnt { 1026 struct { 1027 u32 count : 15; 1028 u32 rsvd0 : 17; 1029 } field; 1030 u32 val; 1031 }; 1032 1033 #define DLB_LSP_QID_LDB_INFL_LIM(x) \ 1034 (0x2000064c + (x) * 0x1000) 1035 #define DLB_LSP_QID_LDB_INFL_LIM_RST 0x0 1036 union dlb_lsp_qid_ldb_infl_lim { 1037 struct { 1038 u32 limit : 13; 1039 u32 rsvd0 : 19; 1040 } field; 1041 u32 val; 1042 }; 1043 1044 #define DLB_LSP_QID_LDB_INFL_CNT(x) \ 1045 (0x2000062c + (x) * 0x1000) 1046 #define DLB_LSP_QID_LDB_INFL_CNT_RST 0x0 1047 union dlb_lsp_qid_ldb_infl_cnt { 1048 struct { 1049 u32 count : 13; 1050 u32 rsvd0 : 19; 1051 } field; 1052 u32 val; 1053 }; 1054 1055 #define DLB_LSP_QID_AQED_ACTIVE_LIM(x) \ 1056 (0x20000628 + (x) * 0x1000) 1057 #define DLB_LSP_QID_AQED_ACTIVE_LIM_RST 0x0 1058 union dlb_lsp_qid_aqed_active_lim { 1059 struct { 1060 u32 limit : 12; 1061 u32 rsvd0 : 20; 1062 } field; 1063 u32 val; 1064 }; 1065 1066 #define DLB_LSP_QID_AQED_ACTIVE_CNT(x) \ 1067 (0x20000624 + (x) * 0x1000) 1068 #define DLB_LSP_QID_AQED_ACTIVE_CNT_RST 0x0 1069 union dlb_lsp_qid_aqed_active_cnt { 1070 struct { 1071 u32 count : 12; 1072 u32 rsvd0 : 20; 1073 } field; 1074 u32 val; 1075 }; 1076 1077 #define DLB_LSP_QID_LDB_ENQUEUE_CNT(x) \ 1078 (0x20000604 + (x) * 0x1000) 1079 #define DLB_LSP_QID_LDB_ENQUEUE_CNT_RST 0x0 1080 union dlb_lsp_qid_ldb_enqueue_cnt { 1081 struct { 1082 u32 count : 15; 1083 u32 rsvd0 : 17; 1084 } field; 1085 u32 val; 1086 }; 1087 1088 #define DLB_LSP_QID_LDB_REPLAY_CNT(x) \ 1089 (0x20000600 + (x) * 0x1000) 1090 #define DLB_LSP_QID_LDB_REPLAY_CNT_RST 0x0 1091 union dlb_lsp_qid_ldb_replay_cnt { 1092 struct { 1093 u32 count : 15; 1094 u32 rsvd0 : 17; 1095 } field; 1096 u32 val; 1097 }; 1098 1099 #define DLB_LSP_QID_DIR_ENQUEUE_CNT(x) \ 1100 (0x20000700 + (x) * 0x1000) 1101 #define DLB_LSP_QID_DIR_ENQUEUE_CNT_RST 0x0 1102 union dlb_lsp_qid_dir_enqueue_cnt { 1103 struct { 1104 u32 count : 13; 1105 u32 rsvd0 : 19; 1106 } field; 1107 u32 val; 1108 }; 1109 1110 #define DLB_LSP_CTRL_CONFIG_0 0x2800002c 1111 #define DLB_LSP_CTRL_CONFIG_0_RST 0x12cc 1112 union dlb_lsp_ctrl_config_0 { 1113 struct { 1114 u32 atm_cq_qid_priority_prot : 1; 1115 u32 ldb_arb_ignore_empty : 1; 1116 u32 ldb_arb_mode : 2; 1117 u32 ldb_arb_threshold : 18; 1118 u32 cfg_cq_sla_upd_always : 1; 1119 u32 cfg_cq_wcn_upd_always : 1; 1120 u32 spare : 8; 1121 } field; 1122 u32 val; 1123 }; 1124 1125 #define DLB_LSP_CFG_ARB_WEIGHT_ATM_NALB_QID_1 0x28000028 1126 #define DLB_LSP_CFG_ARB_WEIGHT_ATM_NALB_QID_1_RST 0x0 1127 union dlb_lsp_cfg_arb_weight_atm_nalb_qid_1 { 1128 struct { 1129 u32 slot4_weight : 8; 1130 u32 slot5_weight : 8; 1131 u32 slot6_weight : 8; 1132 u32 slot7_weight : 8; 1133 } field; 1134 u32 val; 1135 }; 1136 1137 #define DLB_LSP_CFG_ARB_WEIGHT_ATM_NALB_QID_0 0x28000024 1138 #define DLB_LSP_CFG_ARB_WEIGHT_ATM_NALB_QID_0_RST 0x0 1139 union dlb_lsp_cfg_arb_weight_atm_nalb_qid_0 { 1140 struct { 1141 u32 slot0_weight : 8; 1142 u32 slot1_weight : 8; 1143 u32 slot2_weight : 8; 1144 u32 slot3_weight : 8; 1145 } field; 1146 u32 val; 1147 }; 1148 1149 #define DLB_LSP_CFG_ARB_WEIGHT_LDB_QID_1 0x28000020 1150 #define DLB_LSP_CFG_ARB_WEIGHT_LDB_QID_1_RST 0x0 1151 union dlb_lsp_cfg_arb_weight_ldb_qid_1 { 1152 struct { 1153 u32 slot4_weight : 8; 1154 u32 slot5_weight : 8; 1155 u32 slot6_weight : 8; 1156 u32 slot7_weight : 8; 1157 } field; 1158 u32 val; 1159 }; 1160 1161 #define DLB_LSP_CFG_ARB_WEIGHT_LDB_QID_0 0x2800001c 1162 #define DLB_LSP_CFG_ARB_WEIGHT_LDB_QID_0_RST 0x0 1163 union dlb_lsp_cfg_arb_weight_ldb_qid_0 { 1164 struct { 1165 u32 slot0_weight : 8; 1166 u32 slot1_weight : 8; 1167 u32 slot2_weight : 8; 1168 u32 slot3_weight : 8; 1169 } field; 1170 u32 val; 1171 }; 1172 1173 #define DLB_LSP_LDB_SCHED_CTRL 0x28100000 1174 #define DLB_LSP_LDB_SCHED_CTRL_RST 0x0 1175 union dlb_lsp_ldb_sched_ctrl { 1176 struct { 1177 u32 cq : 8; 1178 u32 qidix : 3; 1179 u32 value : 1; 1180 u32 nalb_haswork_v : 1; 1181 u32 rlist_haswork_v : 1; 1182 u32 slist_haswork_v : 1; 1183 u32 inflight_ok_v : 1; 1184 u32 aqed_nfull_v : 1; 1185 u32 spare0 : 15; 1186 } field; 1187 u32 val; 1188 }; 1189 1190 #define DLB_LSP_DIR_SCH_CNT_H 0x2820000c 1191 #define DLB_LSP_DIR_SCH_CNT_H_RST 0x0 1192 union dlb_lsp_dir_sch_cnt_h { 1193 struct { 1194 u32 count : 32; 1195 } field; 1196 u32 val; 1197 }; 1198 1199 #define DLB_LSP_DIR_SCH_CNT_L 0x28200008 1200 #define DLB_LSP_DIR_SCH_CNT_L_RST 0x0 1201 union dlb_lsp_dir_sch_cnt_l { 1202 struct { 1203 u32 count : 32; 1204 } field; 1205 u32 val; 1206 }; 1207 1208 #define DLB_LSP_LDB_SCH_CNT_H 0x28200004 1209 #define DLB_LSP_LDB_SCH_CNT_H_RST 0x0 1210 union dlb_lsp_ldb_sch_cnt_h { 1211 struct { 1212 u32 count : 32; 1213 } field; 1214 u32 val; 1215 }; 1216 1217 #define DLB_LSP_LDB_SCH_CNT_L 0x28200000 1218 #define DLB_LSP_LDB_SCH_CNT_L_RST 0x0 1219 union dlb_lsp_ldb_sch_cnt_l { 1220 struct { 1221 u32 count : 32; 1222 } field; 1223 u32 val; 1224 }; 1225 1226 #define DLB_DP_DIR_CSR_CTRL 0x38000018 1227 #define DLB_DP_DIR_CSR_CTRL_RST 0xc0000000 1228 union dlb_dp_dir_csr_ctrl { 1229 struct { 1230 u32 cfg_int_dis : 1; 1231 u32 cfg_int_dis_sbe : 1; 1232 u32 cfg_int_dis_mbe : 1; 1233 u32 spare0 : 27; 1234 u32 cfg_vasr_dis : 1; 1235 u32 cfg_int_dis_synd : 1; 1236 } field; 1237 u32 val; 1238 }; 1239 1240 #define DLB_DP_CFG_CTRL_ARB_WEIGHTS_TQPRI_DIR_1 0x38000014 1241 #define DLB_DP_CFG_CTRL_ARB_WEIGHTS_TQPRI_DIR_1_RST 0xfffefdfc 1242 union dlb_dp_cfg_ctrl_arb_weights_tqpri_dir_1 { 1243 struct { 1244 u32 pri4 : 8; 1245 u32 pri5 : 8; 1246 u32 pri6 : 8; 1247 u32 pri7 : 8; 1248 } field; 1249 u32 val; 1250 }; 1251 1252 #define DLB_DP_CFG_CTRL_ARB_WEIGHTS_TQPRI_DIR_0 0x38000010 1253 #define DLB_DP_CFG_CTRL_ARB_WEIGHTS_TQPRI_DIR_0_RST 0xfbfaf9f8 1254 union dlb_dp_cfg_ctrl_arb_weights_tqpri_dir_0 { 1255 struct { 1256 u32 pri0 : 8; 1257 u32 pri1 : 8; 1258 u32 pri2 : 8; 1259 u32 pri3 : 8; 1260 } field; 1261 u32 val; 1262 }; 1263 1264 #define DLB_DP_CFG_CTRL_ARB_WEIGHTS_TQPRI_REPLAY_1 0x3800000c 1265 #define DLB_DP_CFG_CTRL_ARB_WEIGHTS_TQPRI_REPLAY_1_RST 0xfffefdfc 1266 union dlb_dp_cfg_ctrl_arb_weights_tqpri_replay_1 { 1267 struct { 1268 u32 pri4 : 8; 1269 u32 pri5 : 8; 1270 u32 pri6 : 8; 1271 u32 pri7 : 8; 1272 } field; 1273 u32 val; 1274 }; 1275 1276 #define DLB_DP_CFG_CTRL_ARB_WEIGHTS_TQPRI_REPLAY_0 0x38000008 1277 #define DLB_DP_CFG_CTRL_ARB_WEIGHTS_TQPRI_REPLAY_0_RST 0xfbfaf9f8 1278 union dlb_dp_cfg_ctrl_arb_weights_tqpri_replay_0 { 1279 struct { 1280 u32 pri0 : 8; 1281 u32 pri1 : 8; 1282 u32 pri2 : 8; 1283 u32 pri3 : 8; 1284 } field; 1285 u32 val; 1286 }; 1287 1288 #define DLB_NALB_PIPE_CTRL_ARB_WEIGHTS_TQPRI_NALB_1 0x6800001c 1289 #define DLB_NALB_PIPE_CTRL_ARB_WEIGHTS_TQPRI_NALB_1_RST 0xfffefdfc 1290 union dlb_nalb_pipe_ctrl_arb_weights_tqpri_nalb_1 { 1291 struct { 1292 u32 pri4 : 8; 1293 u32 pri5 : 8; 1294 u32 pri6 : 8; 1295 u32 pri7 : 8; 1296 } field; 1297 u32 val; 1298 }; 1299 1300 #define DLB_NALB_PIPE_CTRL_ARB_WEIGHTS_TQPRI_NALB_0 0x68000018 1301 #define DLB_NALB_PIPE_CTRL_ARB_WEIGHTS_TQPRI_NALB_0_RST 0xfbfaf9f8 1302 union dlb_nalb_pipe_ctrl_arb_weights_tqpri_nalb_0 { 1303 struct { 1304 u32 pri0 : 8; 1305 u32 pri1 : 8; 1306 u32 pri2 : 8; 1307 u32 pri3 : 8; 1308 } field; 1309 u32 val; 1310 }; 1311 1312 #define DLB_NALB_PIPE_CFG_CTRL_ARB_WEIGHTS_TQPRI_ATQ_1 0x68000014 1313 #define DLB_NALB_PIPE_CFG_CTRL_ARB_WEIGHTS_TQPRI_ATQ_1_RST 0xfffefdfc 1314 union dlb_nalb_pipe_cfg_ctrl_arb_weights_tqpri_atq_1 { 1315 struct { 1316 u32 pri4 : 8; 1317 u32 pri5 : 8; 1318 u32 pri6 : 8; 1319 u32 pri7 : 8; 1320 } field; 1321 u32 val; 1322 }; 1323 1324 #define DLB_NALB_PIPE_CFG_CTRL_ARB_WEIGHTS_TQPRI_ATQ_0 0x68000010 1325 #define DLB_NALB_PIPE_CFG_CTRL_ARB_WEIGHTS_TQPRI_ATQ_0_RST 0xfbfaf9f8 1326 union dlb_nalb_pipe_cfg_ctrl_arb_weights_tqpri_atq_0 { 1327 struct { 1328 u32 pri0 : 8; 1329 u32 pri1 : 8; 1330 u32 pri2 : 8; 1331 u32 pri3 : 8; 1332 } field; 1333 u32 val; 1334 }; 1335 1336 #define DLB_NALB_PIPE_CFG_CTRL_ARB_WEIGHTS_TQPRI_REPLAY_1 0x6800000c 1337 #define DLB_NALB_PIPE_CFG_CTRL_ARB_WEIGHTS_TQPRI_REPLAY_1_RST 0xfffefdfc 1338 union dlb_nalb_pipe_cfg_ctrl_arb_weights_tqpri_replay_1 { 1339 struct { 1340 u32 pri4 : 8; 1341 u32 pri5 : 8; 1342 u32 pri6 : 8; 1343 u32 pri7 : 8; 1344 } field; 1345 u32 val; 1346 }; 1347 1348 #define DLB_NALB_PIPE_CFG_CTRL_ARB_WEIGHTS_TQPRI_REPLAY_0 0x68000008 1349 #define DLB_NALB_PIPE_CFG_CTRL_ARB_WEIGHTS_TQPRI_REPLAY_0_RST 0xfbfaf9f8 1350 union dlb_nalb_pipe_cfg_ctrl_arb_weights_tqpri_replay_0 { 1351 struct { 1352 u32 pri0 : 8; 1353 u32 pri1 : 8; 1354 u32 pri2 : 8; 1355 u32 pri3 : 8; 1356 } field; 1357 u32 val; 1358 }; 1359 1360 #define DLB_ATM_PIPE_QID_LDB_QID2CQIDX(x, y) \ 1361 (0x70000000 + (x) * 0x1000 + (y) * 0x4) 1362 #define DLB_ATM_PIPE_QID_LDB_QID2CQIDX_RST 0x0 1363 union dlb_atm_pipe_qid_ldb_qid2cqidx { 1364 struct { 1365 u32 cq_p0 : 8; 1366 u32 cq_p1 : 8; 1367 u32 cq_p2 : 8; 1368 u32 cq_p3 : 8; 1369 } field; 1370 u32 val; 1371 }; 1372 1373 #define DLB_ATM_PIPE_CFG_CTRL_ARB_WEIGHTS_SCHED_BIN 0x7800000c 1374 #define DLB_ATM_PIPE_CFG_CTRL_ARB_WEIGHTS_SCHED_BIN_RST 0xfffefdfc 1375 union dlb_atm_pipe_cfg_ctrl_arb_weights_sched_bin { 1376 struct { 1377 u32 bin0 : 8; 1378 u32 bin1 : 8; 1379 u32 bin2 : 8; 1380 u32 bin3 : 8; 1381 } field; 1382 u32 val; 1383 }; 1384 1385 #define DLB_ATM_PIPE_CTRL_ARB_WEIGHTS_RDY_BIN 0x78000008 1386 #define DLB_ATM_PIPE_CTRL_ARB_WEIGHTS_RDY_BIN_RST 0xfffefdfc 1387 union dlb_atm_pipe_ctrl_arb_weights_rdy_bin { 1388 struct { 1389 u32 bin0 : 8; 1390 u32 bin1 : 8; 1391 u32 bin2 : 8; 1392 u32 bin3 : 8; 1393 } field; 1394 u32 val; 1395 }; 1396 1397 #define DLB_AQED_PIPE_QID_FID_LIM(x) \ 1398 (0x80000014 + (x) * 0x1000) 1399 #define DLB_AQED_PIPE_QID_FID_LIM_RST 0x7ff 1400 union dlb_aqed_pipe_qid_fid_lim { 1401 struct { 1402 u32 qid_fid_limit : 13; 1403 u32 rsvd0 : 19; 1404 } field; 1405 u32 val; 1406 }; 1407 1408 #define DLB_AQED_PIPE_FL_POP_PTR(x) \ 1409 (0x80000010 + (x) * 0x1000) 1410 #define DLB_AQED_PIPE_FL_POP_PTR_RST 0x0 1411 union dlb_aqed_pipe_fl_pop_ptr { 1412 struct { 1413 u32 pop_ptr : 11; 1414 u32 generation : 1; 1415 u32 rsvd0 : 20; 1416 } field; 1417 u32 val; 1418 }; 1419 1420 #define DLB_AQED_PIPE_FL_PUSH_PTR(x) \ 1421 (0x8000000c + (x) * 0x1000) 1422 #define DLB_AQED_PIPE_FL_PUSH_PTR_RST 0x0 1423 union dlb_aqed_pipe_fl_push_ptr { 1424 struct { 1425 u32 push_ptr : 11; 1426 u32 generation : 1; 1427 u32 rsvd0 : 20; 1428 } field; 1429 u32 val; 1430 }; 1431 1432 #define DLB_AQED_PIPE_FL_BASE(x) \ 1433 (0x80000008 + (x) * 0x1000) 1434 #define DLB_AQED_PIPE_FL_BASE_RST 0x0 1435 union dlb_aqed_pipe_fl_base { 1436 struct { 1437 u32 base : 11; 1438 u32 rsvd0 : 21; 1439 } field; 1440 u32 val; 1441 }; 1442 1443 #define DLB_AQED_PIPE_FL_LIM(x) \ 1444 (0x80000004 + (x) * 0x1000) 1445 #define DLB_AQED_PIPE_FL_LIM_RST 0x800 1446 union dlb_aqed_pipe_fl_lim { 1447 struct { 1448 u32 limit : 11; 1449 u32 freelist_disable : 1; 1450 u32 rsvd0 : 20; 1451 } field; 1452 u32 val; 1453 }; 1454 1455 #define DLB_AQED_PIPE_CFG_CTRL_ARB_WEIGHTS_TQPRI_ATM_0 0x88000008 1456 #define DLB_AQED_PIPE_CFG_CTRL_ARB_WEIGHTS_TQPRI_ATM_0_RST 0xfffe 1457 union dlb_aqed_pipe_cfg_ctrl_arb_weights_tqpri_atm_0 { 1458 struct { 1459 u32 pri0 : 8; 1460 u32 pri1 : 8; 1461 u32 pri2 : 8; 1462 u32 pri3 : 8; 1463 } field; 1464 u32 val; 1465 }; 1466 1467 #define DLB_RO_PIPE_QID2GRPSLT(x) \ 1468 (0x90000000 + (x) * 0x1000) 1469 #define DLB_RO_PIPE_QID2GRPSLT_RST 0x0 1470 union dlb_ro_pipe_qid2grpslt { 1471 struct { 1472 u32 slot : 5; 1473 u32 rsvd1 : 3; 1474 u32 group : 2; 1475 u32 rsvd0 : 22; 1476 } field; 1477 u32 val; 1478 }; 1479 1480 #define DLB_RO_PIPE_GRP_SN_MODE 0x98000008 1481 #define DLB_RO_PIPE_GRP_SN_MODE_RST 0x0 1482 union dlb_ro_pipe_grp_sn_mode { 1483 struct { 1484 u32 sn_mode_0 : 3; 1485 u32 reserved0 : 5; 1486 u32 sn_mode_1 : 3; 1487 u32 reserved1 : 5; 1488 u32 sn_mode_2 : 3; 1489 u32 reserved2 : 5; 1490 u32 sn_mode_3 : 3; 1491 u32 reserved3 : 5; 1492 } field; 1493 u32 val; 1494 }; 1495 1496 #define DLB_CHP_CFG_DIR_PP_SW_ALARM_EN(x) \ 1497 (0xa000003c + (x) * 0x1000) 1498 #define DLB_CHP_CFG_DIR_PP_SW_ALARM_EN_RST 0x1 1499 union dlb_chp_cfg_dir_pp_sw_alarm_en { 1500 struct { 1501 u32 alarm_enable : 1; 1502 u32 rsvd0 : 31; 1503 } field; 1504 u32 val; 1505 }; 1506 1507 #define DLB_CHP_DIR_CQ_WD_ENB(x) \ 1508 (0xa0000038 + (x) * 0x1000) 1509 #define DLB_CHP_DIR_CQ_WD_ENB_RST 0x0 1510 union dlb_chp_dir_cq_wd_enb { 1511 struct { 1512 u32 wd_enable : 1; 1513 u32 rsvd0 : 31; 1514 } field; 1515 u32 val; 1516 }; 1517 1518 #define DLB_CHP_DIR_LDB_PP2POOL(x) \ 1519 (0xa0000034 + (x) * 0x1000) 1520 #define DLB_CHP_DIR_LDB_PP2POOL_RST 0x0 1521 union dlb_chp_dir_ldb_pp2pool { 1522 struct { 1523 u32 pool : 6; 1524 u32 rsvd0 : 26; 1525 } field; 1526 u32 val; 1527 }; 1528 1529 #define DLB_CHP_DIR_DIR_PP2POOL(x) \ 1530 (0xa0000030 + (x) * 0x1000) 1531 #define DLB_CHP_DIR_DIR_PP2POOL_RST 0x0 1532 union dlb_chp_dir_dir_pp2pool { 1533 struct { 1534 u32 pool : 6; 1535 u32 rsvd0 : 26; 1536 } field; 1537 u32 val; 1538 }; 1539 1540 #define DLB_CHP_DIR_PP_LDB_CRD_CNT(x) \ 1541 (0xa000002c + (x) * 0x1000) 1542 #define DLB_CHP_DIR_PP_LDB_CRD_CNT_RST 0x0 1543 union dlb_chp_dir_pp_ldb_crd_cnt { 1544 struct { 1545 u32 count : 16; 1546 u32 rsvd0 : 16; 1547 } field; 1548 u32 val; 1549 }; 1550 1551 #define DLB_CHP_DIR_PP_DIR_CRD_CNT(x) \ 1552 (0xa0000028 + (x) * 0x1000) 1553 #define DLB_CHP_DIR_PP_DIR_CRD_CNT_RST 0x0 1554 union dlb_chp_dir_pp_dir_crd_cnt { 1555 struct { 1556 u32 count : 14; 1557 u32 rsvd0 : 18; 1558 } field; 1559 u32 val; 1560 }; 1561 1562 #define DLB_CHP_DIR_CQ_TMR_THRESHOLD(x) \ 1563 (0xa0000024 + (x) * 0x1000) 1564 #define DLB_CHP_DIR_CQ_TMR_THRESHOLD_RST 0x0 1565 union dlb_chp_dir_cq_tmr_threshold { 1566 struct { 1567 u32 timer_thrsh : 14; 1568 u32 rsvd0 : 18; 1569 } field; 1570 u32 val; 1571 }; 1572 1573 #define DLB_CHP_DIR_CQ_INT_ENB(x) \ 1574 (0xa0000020 + (x) * 0x1000) 1575 #define DLB_CHP_DIR_CQ_INT_ENB_RST 0x0 1576 union dlb_chp_dir_cq_int_enb { 1577 struct { 1578 u32 en_tim : 1; 1579 u32 en_depth : 1; 1580 u32 rsvd0 : 30; 1581 } field; 1582 u32 val; 1583 }; 1584 1585 #define DLB_CHP_DIR_CQ_INT_DEPTH_THRSH(x) \ 1586 (0xa000001c + (x) * 0x1000) 1587 #define DLB_CHP_DIR_CQ_INT_DEPTH_THRSH_RST 0x0 1588 union dlb_chp_dir_cq_int_depth_thrsh { 1589 struct { 1590 u32 depth_threshold : 12; 1591 u32 rsvd0 : 20; 1592 } field; 1593 u32 val; 1594 }; 1595 1596 #define DLB_CHP_DIR_CQ_TKN_DEPTH_SEL(x) \ 1597 (0xa0000018 + (x) * 0x1000) 1598 #define DLB_CHP_DIR_CQ_TKN_DEPTH_SEL_RST 0x0 1599 union dlb_chp_dir_cq_tkn_depth_sel { 1600 struct { 1601 u32 token_depth_select : 4; 1602 u32 rsvd0 : 28; 1603 } field; 1604 u32 val; 1605 }; 1606 1607 #define DLB_CHP_DIR_PP_LDB_MIN_CRD_QNT(x) \ 1608 (0xa0000014 + (x) * 0x1000) 1609 #define DLB_CHP_DIR_PP_LDB_MIN_CRD_QNT_RST 0x1 1610 union dlb_chp_dir_pp_ldb_min_crd_qnt { 1611 struct { 1612 u32 quanta : 10; 1613 u32 rsvd0 : 22; 1614 } field; 1615 u32 val; 1616 }; 1617 1618 #define DLB_CHP_DIR_PP_DIR_MIN_CRD_QNT(x) \ 1619 (0xa0000010 + (x) * 0x1000) 1620 #define DLB_CHP_DIR_PP_DIR_MIN_CRD_QNT_RST 0x1 1621 union dlb_chp_dir_pp_dir_min_crd_qnt { 1622 struct { 1623 u32 quanta : 10; 1624 u32 rsvd0 : 22; 1625 } field; 1626 u32 val; 1627 }; 1628 1629 #define DLB_CHP_DIR_PP_LDB_CRD_LWM(x) \ 1630 (0xa000000c + (x) * 0x1000) 1631 #define DLB_CHP_DIR_PP_LDB_CRD_LWM_RST 0x0 1632 union dlb_chp_dir_pp_ldb_crd_lwm { 1633 struct { 1634 u32 lwm : 16; 1635 u32 rsvd0 : 16; 1636 } field; 1637 u32 val; 1638 }; 1639 1640 #define DLB_CHP_DIR_PP_LDB_CRD_HWM(x) \ 1641 (0xa0000008 + (x) * 0x1000) 1642 #define DLB_CHP_DIR_PP_LDB_CRD_HWM_RST 0x0 1643 union dlb_chp_dir_pp_ldb_crd_hwm { 1644 struct { 1645 u32 hwm : 16; 1646 u32 rsvd0 : 16; 1647 } field; 1648 u32 val; 1649 }; 1650 1651 #define DLB_CHP_DIR_PP_DIR_CRD_LWM(x) \ 1652 (0xa0000004 + (x) * 0x1000) 1653 #define DLB_CHP_DIR_PP_DIR_CRD_LWM_RST 0x0 1654 union dlb_chp_dir_pp_dir_crd_lwm { 1655 struct { 1656 u32 lwm : 14; 1657 u32 rsvd0 : 18; 1658 } field; 1659 u32 val; 1660 }; 1661 1662 #define DLB_CHP_DIR_PP_DIR_CRD_HWM(x) \ 1663 (0xa0000000 + (x) * 0x1000) 1664 #define DLB_CHP_DIR_PP_DIR_CRD_HWM_RST 0x0 1665 union dlb_chp_dir_pp_dir_crd_hwm { 1666 struct { 1667 u32 hwm : 14; 1668 u32 rsvd0 : 18; 1669 } field; 1670 u32 val; 1671 }; 1672 1673 #define DLB_CHP_CFG_LDB_PP_SW_ALARM_EN(x) \ 1674 (0xa0000148 + (x) * 0x1000) 1675 #define DLB_CHP_CFG_LDB_PP_SW_ALARM_EN_RST 0x1 1676 union dlb_chp_cfg_ldb_pp_sw_alarm_en { 1677 struct { 1678 u32 alarm_enable : 1; 1679 u32 rsvd0 : 31; 1680 } field; 1681 u32 val; 1682 }; 1683 1684 #define DLB_CHP_LDB_CQ_WD_ENB(x) \ 1685 (0xa0000144 + (x) * 0x1000) 1686 #define DLB_CHP_LDB_CQ_WD_ENB_RST 0x0 1687 union dlb_chp_ldb_cq_wd_enb { 1688 struct { 1689 u32 wd_enable : 1; 1690 u32 rsvd0 : 31; 1691 } field; 1692 u32 val; 1693 }; 1694 1695 #define DLB_CHP_SN_CHK_ENBL(x) \ 1696 (0xa0000140 + (x) * 0x1000) 1697 #define DLB_CHP_SN_CHK_ENBL_RST 0x0 1698 union dlb_chp_sn_chk_enbl { 1699 struct { 1700 u32 en : 1; 1701 u32 rsvd0 : 31; 1702 } field; 1703 u32 val; 1704 }; 1705 1706 #define DLB_CHP_HIST_LIST_BASE(x) \ 1707 (0xa000013c + (x) * 0x1000) 1708 #define DLB_CHP_HIST_LIST_BASE_RST 0x0 1709 union dlb_chp_hist_list_base { 1710 struct { 1711 u32 base : 13; 1712 u32 rsvd0 : 19; 1713 } field; 1714 u32 val; 1715 }; 1716 1717 #define DLB_CHP_HIST_LIST_LIM(x) \ 1718 (0xa0000138 + (x) * 0x1000) 1719 #define DLB_CHP_HIST_LIST_LIM_RST 0x0 1720 union dlb_chp_hist_list_lim { 1721 struct { 1722 u32 limit : 13; 1723 u32 rsvd0 : 19; 1724 } field; 1725 u32 val; 1726 }; 1727 1728 #define DLB_CHP_LDB_LDB_PP2POOL(x) \ 1729 (0xa0000134 + (x) * 0x1000) 1730 #define DLB_CHP_LDB_LDB_PP2POOL_RST 0x0 1731 union dlb_chp_ldb_ldb_pp2pool { 1732 struct { 1733 u32 pool : 6; 1734 u32 rsvd0 : 26; 1735 } field; 1736 u32 val; 1737 }; 1738 1739 #define DLB_CHP_LDB_DIR_PP2POOL(x) \ 1740 (0xa0000130 + (x) * 0x1000) 1741 #define DLB_CHP_LDB_DIR_PP2POOL_RST 0x0 1742 union dlb_chp_ldb_dir_pp2pool { 1743 struct { 1744 u32 pool : 6; 1745 u32 rsvd0 : 26; 1746 } field; 1747 u32 val; 1748 }; 1749 1750 #define DLB_CHP_LDB_PP_LDB_CRD_CNT(x) \ 1751 (0xa000012c + (x) * 0x1000) 1752 #define DLB_CHP_LDB_PP_LDB_CRD_CNT_RST 0x0 1753 union dlb_chp_ldb_pp_ldb_crd_cnt { 1754 struct { 1755 u32 count : 16; 1756 u32 rsvd0 : 16; 1757 } field; 1758 u32 val; 1759 }; 1760 1761 #define DLB_CHP_LDB_PP_DIR_CRD_CNT(x) \ 1762 (0xa0000128 + (x) * 0x1000) 1763 #define DLB_CHP_LDB_PP_DIR_CRD_CNT_RST 0x0 1764 union dlb_chp_ldb_pp_dir_crd_cnt { 1765 struct { 1766 u32 count : 14; 1767 u32 rsvd0 : 18; 1768 } field; 1769 u32 val; 1770 }; 1771 1772 #define DLB_CHP_LDB_CQ_TMR_THRESHOLD(x) \ 1773 (0xa0000124 + (x) * 0x1000) 1774 #define DLB_CHP_LDB_CQ_TMR_THRESHOLD_RST 0x0 1775 union dlb_chp_ldb_cq_tmr_threshold { 1776 struct { 1777 u32 thrsh : 14; 1778 u32 rsvd0 : 18; 1779 } field; 1780 u32 val; 1781 }; 1782 1783 #define DLB_CHP_LDB_CQ_INT_ENB(x) \ 1784 (0xa0000120 + (x) * 0x1000) 1785 #define DLB_CHP_LDB_CQ_INT_ENB_RST 0x0 1786 union dlb_chp_ldb_cq_int_enb { 1787 struct { 1788 u32 en_tim : 1; 1789 u32 en_depth : 1; 1790 u32 rsvd0 : 30; 1791 } field; 1792 u32 val; 1793 }; 1794 1795 #define DLB_CHP_LDB_CQ_INT_DEPTH_THRSH(x) \ 1796 (0xa000011c + (x) * 0x1000) 1797 #define DLB_CHP_LDB_CQ_INT_DEPTH_THRSH_RST 0x0 1798 union dlb_chp_ldb_cq_int_depth_thrsh { 1799 struct { 1800 u32 depth_threshold : 12; 1801 u32 rsvd0 : 20; 1802 } field; 1803 u32 val; 1804 }; 1805 1806 #define DLB_CHP_LDB_CQ_TKN_DEPTH_SEL(x) \ 1807 (0xa0000118 + (x) * 0x1000) 1808 #define DLB_CHP_LDB_CQ_TKN_DEPTH_SEL_RST 0x0 1809 union dlb_chp_ldb_cq_tkn_depth_sel { 1810 struct { 1811 u32 token_depth_select : 4; 1812 u32 rsvd0 : 28; 1813 } field; 1814 u32 val; 1815 }; 1816 1817 #define DLB_CHP_LDB_PP_LDB_MIN_CRD_QNT(x) \ 1818 (0xa0000114 + (x) * 0x1000) 1819 #define DLB_CHP_LDB_PP_LDB_MIN_CRD_QNT_RST 0x1 1820 union dlb_chp_ldb_pp_ldb_min_crd_qnt { 1821 struct { 1822 u32 quanta : 10; 1823 u32 rsvd0 : 22; 1824 } field; 1825 u32 val; 1826 }; 1827 1828 #define DLB_CHP_LDB_PP_DIR_MIN_CRD_QNT(x) \ 1829 (0xa0000110 + (x) * 0x1000) 1830 #define DLB_CHP_LDB_PP_DIR_MIN_CRD_QNT_RST 0x1 1831 union dlb_chp_ldb_pp_dir_min_crd_qnt { 1832 struct { 1833 u32 quanta : 10; 1834 u32 rsvd0 : 22; 1835 } field; 1836 u32 val; 1837 }; 1838 1839 #define DLB_CHP_LDB_PP_LDB_CRD_LWM(x) \ 1840 (0xa000010c + (x) * 0x1000) 1841 #define DLB_CHP_LDB_PP_LDB_CRD_LWM_RST 0x0 1842 union dlb_chp_ldb_pp_ldb_crd_lwm { 1843 struct { 1844 u32 lwm : 16; 1845 u32 rsvd0 : 16; 1846 } field; 1847 u32 val; 1848 }; 1849 1850 #define DLB_CHP_LDB_PP_LDB_CRD_HWM(x) \ 1851 (0xa0000108 + (x) * 0x1000) 1852 #define DLB_CHP_LDB_PP_LDB_CRD_HWM_RST 0x0 1853 union dlb_chp_ldb_pp_ldb_crd_hwm { 1854 struct { 1855 u32 hwm : 16; 1856 u32 rsvd0 : 16; 1857 } field; 1858 u32 val; 1859 }; 1860 1861 #define DLB_CHP_LDB_PP_DIR_CRD_LWM(x) \ 1862 (0xa0000104 + (x) * 0x1000) 1863 #define DLB_CHP_LDB_PP_DIR_CRD_LWM_RST 0x0 1864 union dlb_chp_ldb_pp_dir_crd_lwm { 1865 struct { 1866 u32 lwm : 14; 1867 u32 rsvd0 : 18; 1868 } field; 1869 u32 val; 1870 }; 1871 1872 #define DLB_CHP_LDB_PP_DIR_CRD_HWM(x) \ 1873 (0xa0000100 + (x) * 0x1000) 1874 #define DLB_CHP_LDB_PP_DIR_CRD_HWM_RST 0x0 1875 union dlb_chp_ldb_pp_dir_crd_hwm { 1876 struct { 1877 u32 hwm : 14; 1878 u32 rsvd0 : 18; 1879 } field; 1880 u32 val; 1881 }; 1882 1883 #define DLB_CHP_DIR_CQ_DEPTH(x) \ 1884 (0xa0000218 + (x) * 0x1000) 1885 #define DLB_CHP_DIR_CQ_DEPTH_RST 0x0 1886 union dlb_chp_dir_cq_depth { 1887 struct { 1888 u32 cq_depth : 11; 1889 u32 rsvd0 : 21; 1890 } field; 1891 u32 val; 1892 }; 1893 1894 #define DLB_CHP_DIR_CQ_WPTR(x) \ 1895 (0xa0000214 + (x) * 0x1000) 1896 #define DLB_CHP_DIR_CQ_WPTR_RST 0x0 1897 union dlb_chp_dir_cq_wptr { 1898 struct { 1899 u32 write_pointer : 10; 1900 u32 rsvd0 : 22; 1901 } field; 1902 u32 val; 1903 }; 1904 1905 #define DLB_CHP_DIR_PP_LDB_PUSH_PTR(x) \ 1906 (0xa0000210 + (x) * 0x1000) 1907 #define DLB_CHP_DIR_PP_LDB_PUSH_PTR_RST 0x0 1908 union dlb_chp_dir_pp_ldb_push_ptr { 1909 struct { 1910 u32 push_pointer : 16; 1911 u32 rsvd0 : 16; 1912 } field; 1913 u32 val; 1914 }; 1915 1916 #define DLB_CHP_DIR_PP_DIR_PUSH_PTR(x) \ 1917 (0xa000020c + (x) * 0x1000) 1918 #define DLB_CHP_DIR_PP_DIR_PUSH_PTR_RST 0x0 1919 union dlb_chp_dir_pp_dir_push_ptr { 1920 struct { 1921 u32 push_pointer : 16; 1922 u32 rsvd0 : 16; 1923 } field; 1924 u32 val; 1925 }; 1926 1927 #define DLB_CHP_DIR_PP_STATE_RESET(x) \ 1928 (0xa0000204 + (x) * 0x1000) 1929 #define DLB_CHP_DIR_PP_STATE_RESET_RST 0x0 1930 union dlb_chp_dir_pp_state_reset { 1931 struct { 1932 u32 rsvd1 : 7; 1933 u32 dir_type : 1; 1934 u32 rsvd0 : 23; 1935 u32 reset_pp_state : 1; 1936 } field; 1937 u32 val; 1938 }; 1939 1940 #define DLB_CHP_DIR_PP_CRD_REQ_STATE(x) \ 1941 (0xa0000200 + (x) * 0x1000) 1942 #define DLB_CHP_DIR_PP_CRD_REQ_STATE_RST 0x0 1943 union dlb_chp_dir_pp_crd_req_state { 1944 struct { 1945 u32 dir_crd_req_active_valid : 1; 1946 u32 dir_crd_req_active_check : 1; 1947 u32 dir_crd_req_active_busy : 1; 1948 u32 rsvd1 : 1; 1949 u32 ldb_crd_req_active_valid : 1; 1950 u32 ldb_crd_req_active_check : 1; 1951 u32 ldb_crd_req_active_busy : 1; 1952 u32 rsvd0 : 1; 1953 u32 no_pp_credit_update : 1; 1954 u32 crd_req_state : 23; 1955 } field; 1956 u32 val; 1957 }; 1958 1959 #define DLB_CHP_LDB_CQ_DEPTH(x) \ 1960 (0xa0000320 + (x) * 0x1000) 1961 #define DLB_CHP_LDB_CQ_DEPTH_RST 0x0 1962 union dlb_chp_ldb_cq_depth { 1963 struct { 1964 u32 depth : 11; 1965 u32 reserved : 2; 1966 u32 rsvd0 : 19; 1967 } field; 1968 u32 val; 1969 }; 1970 1971 #define DLB_CHP_LDB_CQ_WPTR(x) \ 1972 (0xa000031c + (x) * 0x1000) 1973 #define DLB_CHP_LDB_CQ_WPTR_RST 0x0 1974 union dlb_chp_ldb_cq_wptr { 1975 struct { 1976 u32 write_pointer : 10; 1977 u32 rsvd0 : 22; 1978 } field; 1979 u32 val; 1980 }; 1981 1982 #define DLB_CHP_LDB_PP_LDB_PUSH_PTR(x) \ 1983 (0xa0000318 + (x) * 0x1000) 1984 #define DLB_CHP_LDB_PP_LDB_PUSH_PTR_RST 0x0 1985 union dlb_chp_ldb_pp_ldb_push_ptr { 1986 struct { 1987 u32 push_pointer : 16; 1988 u32 rsvd0 : 16; 1989 } field; 1990 u32 val; 1991 }; 1992 1993 #define DLB_CHP_LDB_PP_DIR_PUSH_PTR(x) \ 1994 (0xa0000314 + (x) * 0x1000) 1995 #define DLB_CHP_LDB_PP_DIR_PUSH_PTR_RST 0x0 1996 union dlb_chp_ldb_pp_dir_push_ptr { 1997 struct { 1998 u32 push_pointer : 16; 1999 u32 rsvd0 : 16; 2000 } field; 2001 u32 val; 2002 }; 2003 2004 #define DLB_CHP_HIST_LIST_POP_PTR(x) \ 2005 (0xa000030c + (x) * 0x1000) 2006 #define DLB_CHP_HIST_LIST_POP_PTR_RST 0x0 2007 union dlb_chp_hist_list_pop_ptr { 2008 struct { 2009 u32 pop_ptr : 13; 2010 u32 generation : 1; 2011 u32 rsvd0 : 18; 2012 } field; 2013 u32 val; 2014 }; 2015 2016 #define DLB_CHP_HIST_LIST_PUSH_PTR(x) \ 2017 (0xa0000308 + (x) * 0x1000) 2018 #define DLB_CHP_HIST_LIST_PUSH_PTR_RST 0x0 2019 union dlb_chp_hist_list_push_ptr { 2020 struct { 2021 u32 push_ptr : 13; 2022 u32 generation : 1; 2023 u32 rsvd0 : 18; 2024 } field; 2025 u32 val; 2026 }; 2027 2028 #define DLB_CHP_LDB_PP_STATE_RESET(x) \ 2029 (0xa0000304 + (x) * 0x1000) 2030 #define DLB_CHP_LDB_PP_STATE_RESET_RST 0x0 2031 union dlb_chp_ldb_pp_state_reset { 2032 struct { 2033 u32 rsvd1 : 7; 2034 u32 dir_type : 1; 2035 u32 rsvd0 : 23; 2036 u32 reset_pp_state : 1; 2037 } field; 2038 u32 val; 2039 }; 2040 2041 #define DLB_CHP_LDB_PP_CRD_REQ_STATE(x) \ 2042 (0xa0000300 + (x) * 0x1000) 2043 #define DLB_CHP_LDB_PP_CRD_REQ_STATE_RST 0x0 2044 union dlb_chp_ldb_pp_crd_req_state { 2045 struct { 2046 u32 dir_crd_req_active_valid : 1; 2047 u32 dir_crd_req_active_check : 1; 2048 u32 dir_crd_req_active_busy : 1; 2049 u32 rsvd1 : 1; 2050 u32 ldb_crd_req_active_valid : 1; 2051 u32 ldb_crd_req_active_check : 1; 2052 u32 ldb_crd_req_active_busy : 1; 2053 u32 rsvd0 : 1; 2054 u32 no_pp_credit_update : 1; 2055 u32 crd_req_state : 23; 2056 } field; 2057 u32 val; 2058 }; 2059 2060 #define DLB_CHP_ORD_QID_SN(x) \ 2061 (0xa0000408 + (x) * 0x1000) 2062 #define DLB_CHP_ORD_QID_SN_RST 0x0 2063 union dlb_chp_ord_qid_sn { 2064 struct { 2065 u32 sn : 12; 2066 u32 rsvd0 : 20; 2067 } field; 2068 u32 val; 2069 }; 2070 2071 #define DLB_CHP_ORD_QID_SN_MAP(x) \ 2072 (0xa0000404 + (x) * 0x1000) 2073 #define DLB_CHP_ORD_QID_SN_MAP_RST 0x0 2074 union dlb_chp_ord_qid_sn_map { 2075 struct { 2076 u32 mode : 3; 2077 u32 slot : 5; 2078 u32 grp : 2; 2079 u32 rsvd0 : 22; 2080 } field; 2081 u32 val; 2082 }; 2083 2084 #define DLB_CHP_LDB_POOL_CRD_CNT(x) \ 2085 (0xa000050c + (x) * 0x1000) 2086 #define DLB_CHP_LDB_POOL_CRD_CNT_RST 0x0 2087 union dlb_chp_ldb_pool_crd_cnt { 2088 struct { 2089 u32 count : 16; 2090 u32 rsvd0 : 16; 2091 } field; 2092 u32 val; 2093 }; 2094 2095 #define DLB_CHP_QED_FL_BASE(x) \ 2096 (0xa0000508 + (x) * 0x1000) 2097 #define DLB_CHP_QED_FL_BASE_RST 0x0 2098 union dlb_chp_qed_fl_base { 2099 struct { 2100 u32 base : 14; 2101 u32 rsvd0 : 18; 2102 } field; 2103 u32 val; 2104 }; 2105 2106 #define DLB_CHP_QED_FL_LIM(x) \ 2107 (0xa0000504 + (x) * 0x1000) 2108 #define DLB_CHP_QED_FL_LIM_RST 0x8000 2109 union dlb_chp_qed_fl_lim { 2110 struct { 2111 u32 limit : 14; 2112 u32 rsvd1 : 1; 2113 u32 freelist_disable : 1; 2114 u32 rsvd0 : 16; 2115 } field; 2116 u32 val; 2117 }; 2118 2119 #define DLB_CHP_LDB_POOL_CRD_LIM(x) \ 2120 (0xa0000500 + (x) * 0x1000) 2121 #define DLB_CHP_LDB_POOL_CRD_LIM_RST 0x0 2122 union dlb_chp_ldb_pool_crd_lim { 2123 struct { 2124 u32 limit : 16; 2125 u32 rsvd0 : 16; 2126 } field; 2127 u32 val; 2128 }; 2129 2130 #define DLB_CHP_QED_FL_POP_PTR(x) \ 2131 (0xa0000604 + (x) * 0x1000) 2132 #define DLB_CHP_QED_FL_POP_PTR_RST 0x0 2133 union dlb_chp_qed_fl_pop_ptr { 2134 struct { 2135 u32 pop_ptr : 14; 2136 u32 reserved0 : 1; 2137 u32 generation : 1; 2138 u32 rsvd0 : 16; 2139 } field; 2140 u32 val; 2141 }; 2142 2143 #define DLB_CHP_QED_FL_PUSH_PTR(x) \ 2144 (0xa0000600 + (x) * 0x1000) 2145 #define DLB_CHP_QED_FL_PUSH_PTR_RST 0x0 2146 union dlb_chp_qed_fl_push_ptr { 2147 struct { 2148 u32 push_ptr : 14; 2149 u32 reserved0 : 1; 2150 u32 generation : 1; 2151 u32 rsvd0 : 16; 2152 } field; 2153 u32 val; 2154 }; 2155 2156 #define DLB_CHP_DIR_POOL_CRD_CNT(x) \ 2157 (0xa000070c + (x) * 0x1000) 2158 #define DLB_CHP_DIR_POOL_CRD_CNT_RST 0x0 2159 union dlb_chp_dir_pool_crd_cnt { 2160 struct { 2161 u32 count : 14; 2162 u32 rsvd0 : 18; 2163 } field; 2164 u32 val; 2165 }; 2166 2167 #define DLB_CHP_DQED_FL_BASE(x) \ 2168 (0xa0000708 + (x) * 0x1000) 2169 #define DLB_CHP_DQED_FL_BASE_RST 0x0 2170 union dlb_chp_dqed_fl_base { 2171 struct { 2172 u32 base : 12; 2173 u32 rsvd0 : 20; 2174 } field; 2175 u32 val; 2176 }; 2177 2178 #define DLB_CHP_DQED_FL_LIM(x) \ 2179 (0xa0000704 + (x) * 0x1000) 2180 #define DLB_CHP_DQED_FL_LIM_RST 0x2000 2181 union dlb_chp_dqed_fl_lim { 2182 struct { 2183 u32 limit : 12; 2184 u32 rsvd1 : 1; 2185 u32 freelist_disable : 1; 2186 u32 rsvd0 : 18; 2187 } field; 2188 u32 val; 2189 }; 2190 2191 #define DLB_CHP_DIR_POOL_CRD_LIM(x) \ 2192 (0xa0000700 + (x) * 0x1000) 2193 #define DLB_CHP_DIR_POOL_CRD_LIM_RST 0x0 2194 union dlb_chp_dir_pool_crd_lim { 2195 struct { 2196 u32 limit : 14; 2197 u32 rsvd0 : 18; 2198 } field; 2199 u32 val; 2200 }; 2201 2202 #define DLB_CHP_DQED_FL_POP_PTR(x) \ 2203 (0xa0000804 + (x) * 0x1000) 2204 #define DLB_CHP_DQED_FL_POP_PTR_RST 0x0 2205 union dlb_chp_dqed_fl_pop_ptr { 2206 struct { 2207 u32 pop_ptr : 12; 2208 u32 reserved0 : 1; 2209 u32 generation : 1; 2210 u32 rsvd0 : 18; 2211 } field; 2212 u32 val; 2213 }; 2214 2215 #define DLB_CHP_DQED_FL_PUSH_PTR(x) \ 2216 (0xa0000800 + (x) * 0x1000) 2217 #define DLB_CHP_DQED_FL_PUSH_PTR_RST 0x0 2218 union dlb_chp_dqed_fl_push_ptr { 2219 struct { 2220 u32 push_ptr : 12; 2221 u32 reserved0 : 1; 2222 u32 generation : 1; 2223 u32 rsvd0 : 18; 2224 } field; 2225 u32 val; 2226 }; 2227 2228 #define DLB_CHP_CTRL_DIAG_02 0xa8000154 2229 #define DLB_CHP_CTRL_DIAG_02_RST 0x0 2230 union dlb_chp_ctrl_diag_02 { 2231 struct { 2232 u32 control : 32; 2233 } field; 2234 u32 val; 2235 }; 2236 2237 #define DLB_CHP_CFG_CHP_CSR_CTRL 0xa8000130 2238 #define DLB_CHP_CFG_CHP_CSR_CTRL_RST 0xc0003fff 2239 #define DLB_CHP_CFG_EXCESS_TOKENS_SHIFT 12 2240 union dlb_chp_cfg_chp_csr_ctrl { 2241 struct { 2242 u32 int_inf_alarm_enable_0 : 1; 2243 u32 int_inf_alarm_enable_1 : 1; 2244 u32 int_inf_alarm_enable_2 : 1; 2245 u32 int_inf_alarm_enable_3 : 1; 2246 u32 int_inf_alarm_enable_4 : 1; 2247 u32 int_inf_alarm_enable_5 : 1; 2248 u32 int_inf_alarm_enable_6 : 1; 2249 u32 int_inf_alarm_enable_7 : 1; 2250 u32 int_inf_alarm_enable_8 : 1; 2251 u32 int_inf_alarm_enable_9 : 1; 2252 u32 int_inf_alarm_enable_10 : 1; 2253 u32 int_inf_alarm_enable_11 : 1; 2254 u32 int_inf_alarm_enable_12 : 1; 2255 u32 int_cor_alarm_enable : 1; 2256 u32 csr_control_spare : 14; 2257 u32 cfg_vasr_dis : 1; 2258 u32 counter_clear : 1; 2259 u32 blk_cor_report : 1; 2260 u32 blk_cor_synd : 1; 2261 } field; 2262 u32 val; 2263 }; 2264 2265 #define DLB_CHP_LDB_CQ_INTR_ARMED1 0xa8000068 2266 #define DLB_CHP_LDB_CQ_INTR_ARMED1_RST 0x0 2267 union dlb_chp_ldb_cq_intr_armed1 { 2268 struct { 2269 u32 armed : 32; 2270 } field; 2271 u32 val; 2272 }; 2273 2274 #define DLB_CHP_LDB_CQ_INTR_ARMED0 0xa8000064 2275 #define DLB_CHP_LDB_CQ_INTR_ARMED0_RST 0x0 2276 union dlb_chp_ldb_cq_intr_armed0 { 2277 struct { 2278 u32 armed : 32; 2279 } field; 2280 u32 val; 2281 }; 2282 2283 #define DLB_CHP_DIR_CQ_INTR_ARMED3 0xa8000024 2284 #define DLB_CHP_DIR_CQ_INTR_ARMED3_RST 0x0 2285 union dlb_chp_dir_cq_intr_armed3 { 2286 struct { 2287 u32 armed : 32; 2288 } field; 2289 u32 val; 2290 }; 2291 2292 #define DLB_CHP_DIR_CQ_INTR_ARMED2 0xa8000020 2293 #define DLB_CHP_DIR_CQ_INTR_ARMED2_RST 0x0 2294 union dlb_chp_dir_cq_intr_armed2 { 2295 struct { 2296 u32 armed : 32; 2297 } field; 2298 u32 val; 2299 }; 2300 2301 #define DLB_CHP_DIR_CQ_INTR_ARMED1 0xa800001c 2302 #define DLB_CHP_DIR_CQ_INTR_ARMED1_RST 0x0 2303 union dlb_chp_dir_cq_intr_armed1 { 2304 struct { 2305 u32 armed : 32; 2306 } field; 2307 u32 val; 2308 }; 2309 2310 #define DLB_CHP_DIR_CQ_INTR_ARMED0 0xa8000018 2311 #define DLB_CHP_DIR_CQ_INTR_ARMED0_RST 0x0 2312 union dlb_chp_dir_cq_intr_armed0 { 2313 struct { 2314 u32 armed : 32; 2315 } field; 2316 u32 val; 2317 }; 2318 2319 #define DLB_CFG_MSTR_DIAG_RESET_STS 0xb8000004 2320 #define DLB_CFG_MSTR_DIAG_RESET_STS_RST 0x1ff 2321 union dlb_cfg_mstr_diag_reset_sts { 2322 struct { 2323 u32 chp_pf_reset_done : 1; 2324 u32 rop_pf_reset_done : 1; 2325 u32 lsp_pf_reset_done : 1; 2326 u32 nalb_pf_reset_done : 1; 2327 u32 ap_pf_reset_done : 1; 2328 u32 dp_pf_reset_done : 1; 2329 u32 qed_pf_reset_done : 1; 2330 u32 dqed_pf_reset_done : 1; 2331 u32 aqed_pf_reset_done : 1; 2332 u32 rsvd1 : 6; 2333 u32 pf_reset_active : 1; 2334 u32 chp_vf_reset_done : 1; 2335 u32 rop_vf_reset_done : 1; 2336 u32 lsp_vf_reset_done : 1; 2337 u32 nalb_vf_reset_done : 1; 2338 u32 ap_vf_reset_done : 1; 2339 u32 dp_vf_reset_done : 1; 2340 u32 qed_vf_reset_done : 1; 2341 u32 dqed_vf_reset_done : 1; 2342 u32 aqed_vf_reset_done : 1; 2343 u32 rsvd0 : 6; 2344 u32 vf_reset_active : 1; 2345 } field; 2346 u32 val; 2347 }; 2348 2349 #define DLB_CFG_MSTR_BCAST_RESET_VF_START 0xc8100000 2350 #define DLB_CFG_MSTR_BCAST_RESET_VF_START_RST 0x0 2351 /* HW Reset Types */ 2352 #define VF_RST_TYPE_CQ_LDB 0 2353 #define VF_RST_TYPE_QID_LDB 1 2354 #define VF_RST_TYPE_POOL_LDB 2 2355 #define VF_RST_TYPE_CQ_DIR 8 2356 #define VF_RST_TYPE_QID_DIR 9 2357 #define VF_RST_TYPE_POOL_DIR 10 2358 union dlb_cfg_mstr_bcast_reset_vf_start { 2359 struct { 2360 u32 vf_reset_start : 1; 2361 u32 reserved : 3; 2362 u32 vf_reset_type : 4; 2363 u32 vf_reset_id : 24; 2364 } field; 2365 u32 val; 2366 }; 2367 2368 #endif /* __DLB_REGS_H */ 2369