1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2016-2020 Intel Corporation
8 #include "dlb_osdep_types.h"
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 {
21 #define DLB_SYS_TOTAL_VAS 0x124
22 #define DLB_SYS_TOTAL_VAS_RST 0x20
23 union dlb_sys_total_vas {
30 #define DLB_SYS_ALARM_PF_SYND2 0x508
31 #define DLB_SYS_ALARM_PF_SYND2_RST 0x0
32 union dlb_sys_alarm_pf_synd2 {
48 #define DLB_SYS_ALARM_PF_SYND1 0x504
49 #define DLB_SYS_ALARM_PF_SYND1_RST 0x0
50 union dlb_sys_alarm_pf_synd1 {
61 #define DLB_SYS_ALARM_PF_SYND0 0x500
62 #define DLB_SYS_ALARM_PF_SYND0_RST 0x0
63 union dlb_sys_alarm_pf_synd0 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
168 u32 pool_enabled : 1;
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 {
179 u32 pool_enabled : 1;
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
459 #define DLB_SYS_INGRESS_ALARM_ENBL 0x300
460 #define DLB_SYS_INGRESS_ALARM_ENBL_RST 0x0
461 union dlb_sys_ingress_alarm_enbl {
467 u32 disabled_qid : 1;
468 u32 illegal_ldb_qid_cfg : 1;
469 u32 illegal_cqid : 1;
475 #define DLB_SYS_CQ_MODE 0x30c
476 #define DLB_SYS_CQ_MODE_RST 0x0
477 union dlb_sys_cq_mode {
486 #define DLB_SYS_MSIX_ACK 0x400
487 #define DLB_SYS_MSIX_ACK_RST 0x0
488 union dlb_sys_msix_ack {
504 #define DLB_SYS_MSIX_PASSTHRU 0x404
505 #define DLB_SYS_MSIX_PASSTHRU_RST 0x0
506 union dlb_sys_msix_passthru {
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;
522 #define DLB_SYS_MSIX_MODE 0x408
523 #define DLB_SYS_MSIX_MODE_RST 0x0
525 #define DLB_MSIX_MODE_PACKED 0
526 #define DLB_MSIX_MODE_COMPRESSED 1
527 union dlb_sys_msix_mode {
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 {
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;
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 {
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;
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 {
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;
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 {
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;
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 {
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;
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 {
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;
775 #define DLB_SYS_ALARM_HW_SYND 0x50c
776 #define DLB_SYS_ALARM_HW_SYND_RST 0x0
777 union dlb_sys_alarm_hw_synd {
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 {
798 u32 cq_addr_overflow_error : 1;
799 u32 ingress_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;
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;
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 {
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 {
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 {
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 {
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 {
872 u32 token_depth_select : 4;
873 u32 ignore_depth : 1;
874 u32 enab_shallow_cq : 1;
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 {
885 u32 token_count : 11;
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 {
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 {
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 {
930 #define DLB_LSP_CQ2PRIOV(x) \
931 (0x20000100 + (x) * 0x1000)
932 #define DLB_LSP_CQ2PRIOV_RST 0x0
933 union dlb_lsp_cq2priov {
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 {
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 {
957 u32 token_depth_select : 4;
958 u32 disable_wb_opt : 1;
959 u32 ignore_depth : 1;
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
1110 #define DLB_LSP_CTRL_CONFIG_0 0x2800002c
1111 #define DLB_LSP_CTRL_CONFIG_0_RST 0x12cc
1112 union dlb_lsp_ctrl_config_0 {
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;
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 {
1129 u32 slot4_weight : 8;
1130 u32 slot5_weight : 8;
1131 u32 slot6_weight : 8;
1132 u32 slot7_weight : 8;
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 {
1141 u32 slot0_weight : 8;
1142 u32 slot1_weight : 8;
1143 u32 slot2_weight : 8;
1144 u32 slot3_weight : 8;
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 {
1153 u32 slot4_weight : 8;
1154 u32 slot5_weight : 8;
1155 u32 slot6_weight : 8;
1156 u32 slot7_weight : 8;
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 {
1165 u32 slot0_weight : 8;
1166 u32 slot1_weight : 8;
1167 u32 slot2_weight : 8;
1168 u32 slot3_weight : 8;
1173 #define DLB_LSP_LDB_SCHED_CTRL 0x28100000
1174 #define DLB_LSP_LDB_SCHED_CTRL_RST 0x0
1175 union dlb_lsp_ldb_sched_ctrl {
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;
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 {
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 {
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 {
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 {
1226 #define DLB_DP_DIR_CSR_CTRL 0x38000018
1227 #define DLB_DP_DIR_CSR_CTRL_RST 0xc0000000
1228 union dlb_dp_dir_csr_ctrl {
1230 u32 cfg_int_dis : 1;
1231 u32 cfg_int_dis_sbe : 1;
1232 u32 cfg_int_dis_mbe : 1;
1234 u32 cfg_vasr_dis : 1;
1235 u32 cfg_int_dis_synd : 1;
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
1402 u32 qid_fid_limit : 13;
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 {
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 {
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 {
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 {
1449 u32 freelist_disable : 1;
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 {
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 {
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 {
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 {
1501 u32 alarm_enable : 1;
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 {
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 {
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 {
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 {
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 {
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 {
1567 u32 timer_thrsh : 14;
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 {
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 {
1590 u32 depth_threshold : 12;
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 {
1601 u32 token_depth_select : 4;
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 {
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 {
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 {
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 {
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 {
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 {
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 {
1678 u32 alarm_enable : 1;
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
1800 u32 depth_threshold : 12;
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 {
1811 u32 token_depth_select : 4;
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
1899 u32 write_pointer : 10;
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 {
1910 u32 push_pointer : 16;
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 {
1921 u32 push_pointer : 16;
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 {
1935 u32 reset_pp_state : 1;
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 {
1945 u32 dir_crd_req_active_valid : 1;
1946 u32 dir_crd_req_active_check : 1;
1947 u32 dir_crd_req_active_busy : 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;
1953 u32 no_pp_credit_update : 1;
1954 u32 crd_req_state : 23;
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 {
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 {
1976 u32 write_pointer : 10;
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 {
1987 u32 push_pointer : 16;
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 {
1998 u32 push_pointer : 16;
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 {
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 {
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 {
2036 u32 reset_pp_state : 1;
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 {
2046 u32 dir_crd_req_active_valid : 1;
2047 u32 dir_crd_req_active_check : 1;
2048 u32 dir_crd_req_active_busy : 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;
2054 u32 no_pp_credit_update : 1;
2055 u32 crd_req_state : 23;
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 {
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 {
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 {
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 {
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 {
2113 u32 freelist_disable : 1;
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 {
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 {
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 {
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 {
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 {
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 {
2185 u32 freelist_disable : 1;
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 {
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 {
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 {
2228 #define DLB_CHP_CTRL_DIAG_02 0xa8000154
2229 #define DLB_CHP_CTRL_DIAG_02_RST 0x0
2230 union dlb_chp_ctrl_diag_02 {
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 {
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;
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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;
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;
2344 u32 vf_reset_active : 1;
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 {
2360 u32 vf_reset_start : 1;
2362 u32 vf_reset_type : 4;
2363 u32 vf_reset_id : 24;
2368 #endif /* __DLB_REGS_H */