1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2016-2020 Intel Corporation
8 #include "dlb2_osdep_types.h"
10 #define DLB2_FUNC_PF_VF2PF_MAILBOX_BYTES 256
11 #define DLB2_FUNC_PF_VF2PF_MAILBOX(vf_id, x) \
12 (0x1000 + 0x4 * (x) + (vf_id) * 0x10000)
13 #define DLB2_FUNC_PF_VF2PF_MAILBOX_RST 0x0
14 union dlb2_func_pf_vf2pf_mailbox {
21 #define DLB2_FUNC_PF_VF2PF_MAILBOX_ISR(vf_id) \
22 (0x1f00 + (vf_id) * 0x10000)
23 #define DLB2_FUNC_PF_VF2PF_MAILBOX_ISR_RST 0x0
24 union dlb2_func_pf_vf2pf_mailbox_isr {
47 #define DLB2_FUNC_PF_VF2PF_FLR_ISR(vf_id) \
48 (0x1f04 + (vf_id) * 0x10000)
49 #define DLB2_FUNC_PF_VF2PF_FLR_ISR_RST 0x0
50 union dlb2_func_pf_vf2pf_flr_isr {
73 #define DLB2_FUNC_PF_VF2PF_ISR_PEND(vf_id) \
74 (0x1f10 + (vf_id) * 0x10000)
75 #define DLB2_FUNC_PF_VF2PF_ISR_PEND_RST 0x0
76 union dlb2_func_pf_vf2pf_isr_pend {
84 #define DLB2_FUNC_PF_PF2VF_MAILBOX_BYTES 64
85 #define DLB2_FUNC_PF_PF2VF_MAILBOX(vf_id, x) \
86 (0x2000 + 0x4 * (x) + (vf_id) * 0x10000)
87 #define DLB2_FUNC_PF_PF2VF_MAILBOX_RST 0x0
88 union dlb2_func_pf_pf2vf_mailbox {
95 #define DLB2_FUNC_PF_PF2VF_MAILBOX_ISR(vf_id) \
96 (0x2f00 + (vf_id) * 0x10000)
97 #define DLB2_FUNC_PF_PF2VF_MAILBOX_ISR_RST 0x0
98 union dlb2_func_pf_pf2vf_mailbox_isr {
121 #define DLB2_FUNC_PF_VF_RESET_IN_PROGRESS(vf_id) \
122 (0x3000 + (vf_id) * 0x10000)
123 #define DLB2_FUNC_PF_VF_RESET_IN_PROGRESS_RST 0xffff
124 union dlb2_func_pf_vf_reset_in_progress {
126 u32 vf0_reset_in_progress : 1;
127 u32 vf1_reset_in_progress : 1;
128 u32 vf2_reset_in_progress : 1;
129 u32 vf3_reset_in_progress : 1;
130 u32 vf4_reset_in_progress : 1;
131 u32 vf5_reset_in_progress : 1;
132 u32 vf6_reset_in_progress : 1;
133 u32 vf7_reset_in_progress : 1;
134 u32 vf8_reset_in_progress : 1;
135 u32 vf9_reset_in_progress : 1;
136 u32 vf10_reset_in_progress : 1;
137 u32 vf11_reset_in_progress : 1;
138 u32 vf12_reset_in_progress : 1;
139 u32 vf13_reset_in_progress : 1;
140 u32 vf14_reset_in_progress : 1;
141 u32 vf15_reset_in_progress : 1;
147 #define DLB2_MSIX_MEM_VECTOR_CTRL(x) \
148 (0x100000c + (x) * 0x10)
149 #define DLB2_MSIX_MEM_VECTOR_CTRL_RST 0x1
150 union dlb2_msix_mem_vector_ctrl {
158 #define DLB2_IOSF_FUNC_VF_BAR_DSBL(x) \
160 #define DLB2_IOSF_FUNC_VF_BAR_DSBL_RST 0x0
161 union dlb2_iosf_func_vf_bar_dsbl {
163 u32 func_vf_bar_dis : 1;
169 #define DLB2_SYS_TOTAL_VAS 0x1000011c
170 #define DLB2_SYS_TOTAL_VAS_RST 0x20
171 union dlb2_sys_total_vas {
178 #define DLB2_SYS_TOTAL_DIR_PORTS 0x10000118
179 #define DLB2_SYS_TOTAL_DIR_PORTS_RST 0x40
180 union dlb2_sys_total_dir_ports {
182 u32 total_dir_ports : 32;
187 #define DLB2_SYS_TOTAL_LDB_PORTS 0x10000114
188 #define DLB2_SYS_TOTAL_LDB_PORTS_RST 0x40
189 union dlb2_sys_total_ldb_ports {
191 u32 total_ldb_ports : 32;
196 #define DLB2_SYS_TOTAL_DIR_QID 0x10000110
197 #define DLB2_SYS_TOTAL_DIR_QID_RST 0x40
198 union dlb2_sys_total_dir_qid {
200 u32 total_dir_qid : 32;
205 #define DLB2_SYS_TOTAL_LDB_QID 0x1000010c
206 #define DLB2_SYS_TOTAL_LDB_QID_RST 0x20
207 union dlb2_sys_total_ldb_qid {
209 u32 total_ldb_qid : 32;
214 #define DLB2_SYS_TOTAL_DIR_CRDS 0x10000108
215 #define DLB2_SYS_TOTAL_DIR_CRDS_RST 0x1000
216 union dlb2_sys_total_dir_crds {
218 u32 total_dir_credits : 32;
223 #define DLB2_SYS_TOTAL_LDB_CRDS 0x10000104
224 #define DLB2_SYS_TOTAL_LDB_CRDS_RST 0x2000
225 union dlb2_sys_total_ldb_crds {
227 u32 total_ldb_credits : 32;
232 #define DLB2_SYS_ALARM_PF_SYND2 0x10000508
233 #define DLB2_SYS_ALARM_PF_SYND2_RST 0x0
234 union dlb2_sys_alarm_pf_synd2 {
243 u32 cq_int_rearm : 1;
250 #define DLB2_SYS_ALARM_PF_SYND1 0x10000504
251 #define DLB2_SYS_ALARM_PF_SYND1_RST 0x0
252 union dlb2_sys_alarm_pf_synd1 {
263 #define DLB2_SYS_ALARM_PF_SYND0 0x10000500
264 #define DLB2_SYS_ALARM_PF_SYND0_RST 0x0
265 union dlb2_sys_alarm_pf_synd0 {
281 #define DLB2_SYS_VF_LDB_VPP_V(x) \
282 (0x10000f00 + (x) * 0x1000)
283 #define DLB2_SYS_VF_LDB_VPP_V_RST 0x0
284 union dlb2_sys_vf_ldb_vpp_v {
292 #define DLB2_SYS_VF_LDB_VPP2PP(x) \
293 (0x10000f04 + (x) * 0x1000)
294 #define DLB2_SYS_VF_LDB_VPP2PP_RST 0x0
295 union dlb2_sys_vf_ldb_vpp2pp {
303 #define DLB2_SYS_VF_DIR_VPP_V(x) \
304 (0x10000f08 + (x) * 0x1000)
305 #define DLB2_SYS_VF_DIR_VPP_V_RST 0x0
306 union dlb2_sys_vf_dir_vpp_v {
314 #define DLB2_SYS_VF_DIR_VPP2PP(x) \
315 (0x10000f0c + (x) * 0x1000)
316 #define DLB2_SYS_VF_DIR_VPP2PP_RST 0x0
317 union dlb2_sys_vf_dir_vpp2pp {
325 #define DLB2_SYS_VF_LDB_VQID_V(x) \
326 (0x10000f10 + (x) * 0x1000)
327 #define DLB2_SYS_VF_LDB_VQID_V_RST 0x0
328 union dlb2_sys_vf_ldb_vqid_v {
336 #define DLB2_SYS_VF_LDB_VQID2QID(x) \
337 (0x10000f14 + (x) * 0x1000)
338 #define DLB2_SYS_VF_LDB_VQID2QID_RST 0x0
339 union dlb2_sys_vf_ldb_vqid2qid {
347 #define DLB2_SYS_LDB_QID2VQID(x) \
348 (0x10000f18 + (x) * 0x1000)
349 #define DLB2_SYS_LDB_QID2VQID_RST 0x0
350 union dlb2_sys_ldb_qid2vqid {
358 #define DLB2_SYS_VF_DIR_VQID_V(x) \
359 (0x10000f1c + (x) * 0x1000)
360 #define DLB2_SYS_VF_DIR_VQID_V_RST 0x0
361 union dlb2_sys_vf_dir_vqid_v {
369 #define DLB2_SYS_VF_DIR_VQID2QID(x) \
370 (0x10000f20 + (x) * 0x1000)
371 #define DLB2_SYS_VF_DIR_VQID2QID_RST 0x0
372 union dlb2_sys_vf_dir_vqid2qid {
380 #define DLB2_SYS_LDB_VASQID_V(x) \
381 (0x10000f24 + (x) * 0x1000)
382 #define DLB2_SYS_LDB_VASQID_V_RST 0x0
383 union dlb2_sys_ldb_vasqid_v {
391 #define DLB2_SYS_DIR_VASQID_V(x) \
392 (0x10000f28 + (x) * 0x1000)
393 #define DLB2_SYS_DIR_VASQID_V_RST 0x0
394 union dlb2_sys_dir_vasqid_v {
402 #define DLB2_SYS_ALARM_VF_SYND2(x) \
403 (0x10000f48 + (x) * 0x1000)
404 #define DLB2_SYS_ALARM_VF_SYND2_RST 0x0
405 union dlb2_sys_alarm_vf_synd2 {
420 #define DLB2_SYS_ALARM_VF_SYND1(x) \
421 (0x10000f44 + (x) * 0x1000)
422 #define DLB2_SYS_ALARM_VF_SYND1_RST 0x0
423 union dlb2_sys_alarm_vf_synd1 {
434 #define DLB2_SYS_ALARM_VF_SYND0(x) \
435 (0x10000f40 + (x) * 0x1000)
436 #define DLB2_SYS_ALARM_VF_SYND0_RST 0x0
437 union dlb2_sys_alarm_vf_synd0 {
441 u32 vf_synd0_parity : 1;
442 u32 vf_synd1_parity : 1;
443 u32 vf_synd2_parity : 1;
455 #define DLB2_SYS_LDB_QID_CFG_V(x) \
456 (0x10000f58 + (x) * 0x1000)
457 #define DLB2_SYS_LDB_QID_CFG_V_RST 0x0
458 union dlb2_sys_ldb_qid_cfg_v {
467 #define DLB2_SYS_LDB_QID_ITS(x) \
468 (0x10000f54 + (x) * 0x1000)
469 #define DLB2_SYS_LDB_QID_ITS_RST 0x0
470 union dlb2_sys_ldb_qid_its {
478 #define DLB2_SYS_LDB_QID_V(x) \
479 (0x10000f50 + (x) * 0x1000)
480 #define DLB2_SYS_LDB_QID_V_RST 0x0
481 union dlb2_sys_ldb_qid_v {
489 #define DLB2_SYS_DIR_QID_ITS(x) \
490 (0x10000f64 + (x) * 0x1000)
491 #define DLB2_SYS_DIR_QID_ITS_RST 0x0
492 union dlb2_sys_dir_qid_its {
500 #define DLB2_SYS_DIR_QID_V(x) \
501 (0x10000f60 + (x) * 0x1000)
502 #define DLB2_SYS_DIR_QID_V_RST 0x0
503 union dlb2_sys_dir_qid_v {
511 #define DLB2_SYS_LDB_CQ_AI_DATA(x) \
512 (0x10000fa8 + (x) * 0x1000)
513 #define DLB2_SYS_LDB_CQ_AI_DATA_RST 0x0
514 union dlb2_sys_ldb_cq_ai_data {
521 #define DLB2_SYS_LDB_CQ_AI_ADDR(x) \
522 (0x10000fa4 + (x) * 0x1000)
523 #define DLB2_SYS_LDB_CQ_AI_ADDR_RST 0x0
524 union dlb2_sys_ldb_cq_ai_addr {
533 #define DLB2_SYS_LDB_CQ_PASID(x) \
534 (0x10000fa0 + (x) * 0x1000)
535 #define DLB2_SYS_LDB_CQ_PASID_RST 0x0
536 union dlb2_sys_ldb_cq_pasid {
547 #define DLB2_SYS_LDB_CQ_AT(x) \
548 (0x10000f9c + (x) * 0x1000)
549 #define DLB2_SYS_LDB_CQ_AT_RST 0x0
550 union dlb2_sys_ldb_cq_at {
558 #define DLB2_SYS_LDB_CQ_ISR(x) \
559 (0x10000f98 + (x) * 0x1000)
560 #define DLB2_SYS_LDB_CQ_ISR_RST 0x0
561 /* CQ Interrupt Modes */
562 #define DLB2_CQ_ISR_MODE_DIS 0
563 #define DLB2_CQ_ISR_MODE_MSI 1
564 #define DLB2_CQ_ISR_MODE_MSIX 2
565 #define DLB2_CQ_ISR_MODE_ADI 3
566 union dlb2_sys_ldb_cq_isr {
576 #define DLB2_SYS_LDB_CQ2VF_PF_RO(x) \
577 (0x10000f94 + (x) * 0x1000)
578 #define DLB2_SYS_LDB_CQ2VF_PF_RO_RST 0x0
579 union dlb2_sys_ldb_cq2vf_pf_ro {
589 #define DLB2_SYS_LDB_PP_V(x) \
590 (0x10000f90 + (x) * 0x1000)
591 #define DLB2_SYS_LDB_PP_V_RST 0x0
592 union dlb2_sys_ldb_pp_v {
600 #define DLB2_SYS_LDB_PP2VDEV(x) \
601 (0x10000f8c + (x) * 0x1000)
602 #define DLB2_SYS_LDB_PP2VDEV_RST 0x0
603 union dlb2_sys_ldb_pp2vdev {
611 #define DLB2_SYS_LDB_PP2VAS(x) \
612 (0x10000f88 + (x) * 0x1000)
613 #define DLB2_SYS_LDB_PP2VAS_RST 0x0
614 union dlb2_sys_ldb_pp2vas {
622 #define DLB2_SYS_LDB_CQ_ADDR_U(x) \
623 (0x10000f84 + (x) * 0x1000)
624 #define DLB2_SYS_LDB_CQ_ADDR_U_RST 0x0
625 union dlb2_sys_ldb_cq_addr_u {
632 #define DLB2_SYS_LDB_CQ_ADDR_L(x) \
633 (0x10000f80 + (x) * 0x1000)
634 #define DLB2_SYS_LDB_CQ_ADDR_L_RST 0x0
635 union dlb2_sys_ldb_cq_addr_l {
643 #define DLB2_SYS_DIR_CQ_FMT(x) \
644 (0x10000fec + (x) * 0x1000)
645 #define DLB2_SYS_DIR_CQ_FMT_RST 0x0
646 union dlb2_sys_dir_cq_fmt {
648 u32 keep_pf_ppid : 1;
654 #define DLB2_SYS_DIR_CQ_AI_DATA(x) \
655 (0x10000fe8 + (x) * 0x1000)
656 #define DLB2_SYS_DIR_CQ_AI_DATA_RST 0x0
657 union dlb2_sys_dir_cq_ai_data {
664 #define DLB2_SYS_DIR_CQ_AI_ADDR(x) \
665 (0x10000fe4 + (x) * 0x1000)
666 #define DLB2_SYS_DIR_CQ_AI_ADDR_RST 0x0
667 union dlb2_sys_dir_cq_ai_addr {
676 #define DLB2_SYS_DIR_CQ_PASID(x) \
677 (0x10000fe0 + (x) * 0x1000)
678 #define DLB2_SYS_DIR_CQ_PASID_RST 0x0
679 union dlb2_sys_dir_cq_pasid {
690 #define DLB2_SYS_DIR_CQ_AT(x) \
691 (0x10000fdc + (x) * 0x1000)
692 #define DLB2_SYS_DIR_CQ_AT_RST 0x0
693 union dlb2_sys_dir_cq_at {
701 #define DLB2_SYS_DIR_CQ_ISR(x) \
702 (0x10000fd8 + (x) * 0x1000)
703 #define DLB2_SYS_DIR_CQ_ISR_RST 0x0
704 union dlb2_sys_dir_cq_isr {
714 #define DLB2_SYS_DIR_CQ2VF_PF_RO(x) \
715 (0x10000fd4 + (x) * 0x1000)
716 #define DLB2_SYS_DIR_CQ2VF_PF_RO_RST 0x0
717 union dlb2_sys_dir_cq2vf_pf_ro {
727 #define DLB2_SYS_DIR_PP_V(x) \
728 (0x10000fd0 + (x) * 0x1000)
729 #define DLB2_SYS_DIR_PP_V_RST 0x0
730 union dlb2_sys_dir_pp_v {
738 #define DLB2_SYS_DIR_PP2VDEV(x) \
739 (0x10000fcc + (x) * 0x1000)
740 #define DLB2_SYS_DIR_PP2VDEV_RST 0x0
741 union dlb2_sys_dir_pp2vdev {
749 #define DLB2_SYS_DIR_PP2VAS(x) \
750 (0x10000fc8 + (x) * 0x1000)
751 #define DLB2_SYS_DIR_PP2VAS_RST 0x0
752 union dlb2_sys_dir_pp2vas {
760 #define DLB2_SYS_DIR_CQ_ADDR_U(x) \
761 (0x10000fc4 + (x) * 0x1000)
762 #define DLB2_SYS_DIR_CQ_ADDR_U_RST 0x0
763 union dlb2_sys_dir_cq_addr_u {
770 #define DLB2_SYS_DIR_CQ_ADDR_L(x) \
771 (0x10000fc0 + (x) * 0x1000)
772 #define DLB2_SYS_DIR_CQ_ADDR_L_RST 0x0
773 union dlb2_sys_dir_cq_addr_l {
781 #define DLB2_SYS_INGRESS_ALARM_ENBL 0x10000300
782 #define DLB2_SYS_INGRESS_ALARM_ENBL_RST 0x0
783 union dlb2_sys_ingress_alarm_enbl {
787 u32 illegal_pasid : 1;
789 u32 disabled_qid : 1;
790 u32 illegal_ldb_qid_cfg : 1;
796 #define DLB2_SYS_MSIX_ACK 0x10000400
797 #define DLB2_SYS_MSIX_ACK_RST 0x0
798 union dlb2_sys_msix_ack {
807 #define DLB2_SYS_MSIX_PASSTHRU 0x10000404
808 #define DLB2_SYS_MSIX_PASSTHRU_RST 0x0
809 union dlb2_sys_msix_passthru {
811 u32 msix_0_passthru : 1;
812 u32 msix_1_passthru : 1;
818 #define DLB2_SYS_MSIX_MODE 0x10000408
819 #define DLB2_SYS_MSIX_MODE_RST 0x0
821 #define DLB2_MSIX_MODE_PACKED 0
822 #define DLB2_MSIX_MODE_COMPRESSED 1
823 union dlb2_sys_msix_mode {
834 #define DLB2_SYS_DIR_CQ_31_0_OCC_INT_STS 0x10000440
835 #define DLB2_SYS_DIR_CQ_31_0_OCC_INT_STS_RST 0x0
836 union dlb2_sys_dir_cq_31_0_occ_int_sts {
838 u32 cq_0_occ_int : 1;
839 u32 cq_1_occ_int : 1;
840 u32 cq_2_occ_int : 1;
841 u32 cq_3_occ_int : 1;
842 u32 cq_4_occ_int : 1;
843 u32 cq_5_occ_int : 1;
844 u32 cq_6_occ_int : 1;
845 u32 cq_7_occ_int : 1;
846 u32 cq_8_occ_int : 1;
847 u32 cq_9_occ_int : 1;
848 u32 cq_10_occ_int : 1;
849 u32 cq_11_occ_int : 1;
850 u32 cq_12_occ_int : 1;
851 u32 cq_13_occ_int : 1;
852 u32 cq_14_occ_int : 1;
853 u32 cq_15_occ_int : 1;
854 u32 cq_16_occ_int : 1;
855 u32 cq_17_occ_int : 1;
856 u32 cq_18_occ_int : 1;
857 u32 cq_19_occ_int : 1;
858 u32 cq_20_occ_int : 1;
859 u32 cq_21_occ_int : 1;
860 u32 cq_22_occ_int : 1;
861 u32 cq_23_occ_int : 1;
862 u32 cq_24_occ_int : 1;
863 u32 cq_25_occ_int : 1;
864 u32 cq_26_occ_int : 1;
865 u32 cq_27_occ_int : 1;
866 u32 cq_28_occ_int : 1;
867 u32 cq_29_occ_int : 1;
868 u32 cq_30_occ_int : 1;
869 u32 cq_31_occ_int : 1;
874 #define DLB2_SYS_DIR_CQ_63_32_OCC_INT_STS 0x10000444
875 #define DLB2_SYS_DIR_CQ_63_32_OCC_INT_STS_RST 0x0
876 union dlb2_sys_dir_cq_63_32_occ_int_sts {
878 u32 cq_32_occ_int : 1;
879 u32 cq_33_occ_int : 1;
880 u32 cq_34_occ_int : 1;
881 u32 cq_35_occ_int : 1;
882 u32 cq_36_occ_int : 1;
883 u32 cq_37_occ_int : 1;
884 u32 cq_38_occ_int : 1;
885 u32 cq_39_occ_int : 1;
886 u32 cq_40_occ_int : 1;
887 u32 cq_41_occ_int : 1;
888 u32 cq_42_occ_int : 1;
889 u32 cq_43_occ_int : 1;
890 u32 cq_44_occ_int : 1;
891 u32 cq_45_occ_int : 1;
892 u32 cq_46_occ_int : 1;
893 u32 cq_47_occ_int : 1;
894 u32 cq_48_occ_int : 1;
895 u32 cq_49_occ_int : 1;
896 u32 cq_50_occ_int : 1;
897 u32 cq_51_occ_int : 1;
898 u32 cq_52_occ_int : 1;
899 u32 cq_53_occ_int : 1;
900 u32 cq_54_occ_int : 1;
901 u32 cq_55_occ_int : 1;
902 u32 cq_56_occ_int : 1;
903 u32 cq_57_occ_int : 1;
904 u32 cq_58_occ_int : 1;
905 u32 cq_59_occ_int : 1;
906 u32 cq_60_occ_int : 1;
907 u32 cq_61_occ_int : 1;
908 u32 cq_62_occ_int : 1;
909 u32 cq_63_occ_int : 1;
914 #define DLB2_SYS_LDB_CQ_31_0_OCC_INT_STS 0x10000460
915 #define DLB2_SYS_LDB_CQ_31_0_OCC_INT_STS_RST 0x0
916 union dlb2_sys_ldb_cq_31_0_occ_int_sts {
918 u32 cq_0_occ_int : 1;
919 u32 cq_1_occ_int : 1;
920 u32 cq_2_occ_int : 1;
921 u32 cq_3_occ_int : 1;
922 u32 cq_4_occ_int : 1;
923 u32 cq_5_occ_int : 1;
924 u32 cq_6_occ_int : 1;
925 u32 cq_7_occ_int : 1;
926 u32 cq_8_occ_int : 1;
927 u32 cq_9_occ_int : 1;
928 u32 cq_10_occ_int : 1;
929 u32 cq_11_occ_int : 1;
930 u32 cq_12_occ_int : 1;
931 u32 cq_13_occ_int : 1;
932 u32 cq_14_occ_int : 1;
933 u32 cq_15_occ_int : 1;
934 u32 cq_16_occ_int : 1;
935 u32 cq_17_occ_int : 1;
936 u32 cq_18_occ_int : 1;
937 u32 cq_19_occ_int : 1;
938 u32 cq_20_occ_int : 1;
939 u32 cq_21_occ_int : 1;
940 u32 cq_22_occ_int : 1;
941 u32 cq_23_occ_int : 1;
942 u32 cq_24_occ_int : 1;
943 u32 cq_25_occ_int : 1;
944 u32 cq_26_occ_int : 1;
945 u32 cq_27_occ_int : 1;
946 u32 cq_28_occ_int : 1;
947 u32 cq_29_occ_int : 1;
948 u32 cq_30_occ_int : 1;
949 u32 cq_31_occ_int : 1;
954 #define DLB2_SYS_LDB_CQ_63_32_OCC_INT_STS 0x10000464
955 #define DLB2_SYS_LDB_CQ_63_32_OCC_INT_STS_RST 0x0
956 union dlb2_sys_ldb_cq_63_32_occ_int_sts {
958 u32 cq_32_occ_int : 1;
959 u32 cq_33_occ_int : 1;
960 u32 cq_34_occ_int : 1;
961 u32 cq_35_occ_int : 1;
962 u32 cq_36_occ_int : 1;
963 u32 cq_37_occ_int : 1;
964 u32 cq_38_occ_int : 1;
965 u32 cq_39_occ_int : 1;
966 u32 cq_40_occ_int : 1;
967 u32 cq_41_occ_int : 1;
968 u32 cq_42_occ_int : 1;
969 u32 cq_43_occ_int : 1;
970 u32 cq_44_occ_int : 1;
971 u32 cq_45_occ_int : 1;
972 u32 cq_46_occ_int : 1;
973 u32 cq_47_occ_int : 1;
974 u32 cq_48_occ_int : 1;
975 u32 cq_49_occ_int : 1;
976 u32 cq_50_occ_int : 1;
977 u32 cq_51_occ_int : 1;
978 u32 cq_52_occ_int : 1;
979 u32 cq_53_occ_int : 1;
980 u32 cq_54_occ_int : 1;
981 u32 cq_55_occ_int : 1;
982 u32 cq_56_occ_int : 1;
983 u32 cq_57_occ_int : 1;
984 u32 cq_58_occ_int : 1;
985 u32 cq_59_occ_int : 1;
986 u32 cq_60_occ_int : 1;
987 u32 cq_61_occ_int : 1;
988 u32 cq_62_occ_int : 1;
989 u32 cq_63_occ_int : 1;
994 #define DLB2_SYS_DIR_CQ_OPT_CLR 0x100004c0
995 #define DLB2_SYS_DIR_CQ_OPT_CLR_RST 0x0
996 union dlb2_sys_dir_cq_opt_clr {
1004 #define DLB2_SYS_ALARM_HW_SYND 0x1000050c
1005 #define DLB2_SYS_ALARM_HW_SYND_RST 0x0
1006 union dlb2_sys_alarm_hw_synd {
1024 #define DLB2_AQED_PIPE_QID_FID_LIM(x) \
1025 (0x20000000 + (x) * 0x1000)
1026 #define DLB2_AQED_PIPE_QID_FID_LIM_RST 0x7ff
1027 union dlb2_aqed_pipe_qid_fid_lim {
1029 u32 qid_fid_limit : 13;
1035 #define DLB2_AQED_PIPE_QID_HID_WIDTH(x) \
1036 (0x20080000 + (x) * 0x1000)
1037 #define DLB2_AQED_PIPE_QID_HID_WIDTH_RST 0x0
1038 union dlb2_aqed_pipe_qid_hid_width {
1040 u32 compress_code : 3;
1046 #define DLB2_AQED_PIPE_CFG_ARB_WEIGHTS_TQPRI_ATM_0 0x24000004
1047 #define DLB2_AQED_PIPE_CFG_ARB_WEIGHTS_TQPRI_ATM_0_RST 0xfefcfaf8
1048 union dlb2_aqed_pipe_cfg_arb_weights_tqpri_atm_0 {
1058 #define DLB2_ATM_QID2CQIDIX_00(x) \
1059 (0x30080000 + (x) * 0x1000)
1060 #define DLB2_ATM_QID2CQIDIX_00_RST 0x0
1061 #define DLB2_ATM_QID2CQIDIX(x, y) \
1062 (DLB2_ATM_QID2CQIDIX_00(x) + 0x80000 * (y))
1063 #define DLB2_ATM_QID2CQIDIX_NUM 16
1064 union dlb2_atm_qid2cqidix_00 {
1074 #define DLB2_ATM_CFG_ARB_WEIGHTS_RDY_BIN 0x34000004
1075 #define DLB2_ATM_CFG_ARB_WEIGHTS_RDY_BIN_RST 0xfffefdfc
1076 union dlb2_atm_cfg_arb_weights_rdy_bin {
1086 #define DLB2_ATM_CFG_ARB_WEIGHTS_SCHED_BIN 0x34000008
1087 #define DLB2_ATM_CFG_ARB_WEIGHTS_SCHED_BIN_RST 0xfffefdfc
1088 union dlb2_atm_cfg_arb_weights_sched_bin {
1098 #define DLB2_CHP_CFG_DIR_VAS_CRD(x) \
1099 (0x40000000 + (x) * 0x1000)
1100 #define DLB2_CHP_CFG_DIR_VAS_CRD_RST 0x0
1101 union dlb2_chp_cfg_dir_vas_crd {
1109 #define DLB2_CHP_CFG_LDB_VAS_CRD(x) \
1110 (0x40080000 + (x) * 0x1000)
1111 #define DLB2_CHP_CFG_LDB_VAS_CRD_RST 0x0
1112 union dlb2_chp_cfg_ldb_vas_crd {
1120 #define DLB2_CHP_ORD_QID_SN(x) \
1121 (0x40100000 + (x) * 0x1000)
1122 #define DLB2_CHP_ORD_QID_SN_RST 0x0
1123 union dlb2_chp_ord_qid_sn {
1131 #define DLB2_CHP_ORD_QID_SN_MAP(x) \
1132 (0x40180000 + (x) * 0x1000)
1133 #define DLB2_CHP_ORD_QID_SN_MAP_RST 0x0
1134 union dlb2_chp_ord_qid_sn_map {
1146 #define DLB2_CHP_SN_CHK_ENBL(x) \
1147 (0x40200000 + (x) * 0x1000)
1148 #define DLB2_CHP_SN_CHK_ENBL_RST 0x0
1149 union dlb2_chp_sn_chk_enbl {
1157 #define DLB2_CHP_DIR_CQ_DEPTH(x) \
1158 (0x40280000 + (x) * 0x1000)
1159 #define DLB2_CHP_DIR_CQ_DEPTH_RST 0x0
1160 union dlb2_chp_dir_cq_depth {
1168 #define DLB2_CHP_DIR_CQ_INT_DEPTH_THRSH(x) \
1169 (0x40300000 + (x) * 0x1000)
1170 #define DLB2_CHP_DIR_CQ_INT_DEPTH_THRSH_RST 0x0
1171 union dlb2_chp_dir_cq_int_depth_thrsh {
1173 u32 depth_threshold : 13;
1179 #define DLB2_CHP_DIR_CQ_INT_ENB(x) \
1180 (0x40380000 + (x) * 0x1000)
1181 #define DLB2_CHP_DIR_CQ_INT_ENB_RST 0x0
1182 union dlb2_chp_dir_cq_int_enb {
1191 #define DLB2_CHP_DIR_CQ_TMR_THRSH(x) \
1192 (0x40480000 + (x) * 0x1000)
1193 #define DLB2_CHP_DIR_CQ_TMR_THRSH_RST 0x1
1194 union dlb2_chp_dir_cq_tmr_thrsh {
1197 u32 thrsh_13_1 : 13;
1203 #define DLB2_CHP_DIR_CQ_TKN_DEPTH_SEL(x) \
1204 (0x40500000 + (x) * 0x1000)
1205 #define DLB2_CHP_DIR_CQ_TKN_DEPTH_SEL_RST 0x0
1206 union dlb2_chp_dir_cq_tkn_depth_sel {
1208 u32 token_depth_select : 4;
1214 #define DLB2_CHP_DIR_CQ_WD_ENB(x) \
1215 (0x40580000 + (x) * 0x1000)
1216 #define DLB2_CHP_DIR_CQ_WD_ENB_RST 0x0
1217 union dlb2_chp_dir_cq_wd_enb {
1225 #define DLB2_CHP_DIR_CQ_WPTR(x) \
1226 (0x40600000 + (x) * 0x1000)
1227 #define DLB2_CHP_DIR_CQ_WPTR_RST 0x0
1228 union dlb2_chp_dir_cq_wptr {
1230 u32 write_pointer : 13;
1236 #define DLB2_CHP_DIR_CQ2VAS(x) \
1237 (0x40680000 + (x) * 0x1000)
1238 #define DLB2_CHP_DIR_CQ2VAS_RST 0x0
1239 union dlb2_chp_dir_cq2vas {
1247 #define DLB2_CHP_HIST_LIST_BASE(x) \
1248 (0x40700000 + (x) * 0x1000)
1249 #define DLB2_CHP_HIST_LIST_BASE_RST 0x0
1250 union dlb2_chp_hist_list_base {
1258 #define DLB2_CHP_HIST_LIST_LIM(x) \
1259 (0x40780000 + (x) * 0x1000)
1260 #define DLB2_CHP_HIST_LIST_LIM_RST 0x0
1261 union dlb2_chp_hist_list_lim {
1269 #define DLB2_CHP_HIST_LIST_POP_PTR(x) \
1270 (0x40800000 + (x) * 0x1000)
1271 #define DLB2_CHP_HIST_LIST_POP_PTR_RST 0x0
1272 union dlb2_chp_hist_list_pop_ptr {
1281 #define DLB2_CHP_HIST_LIST_PUSH_PTR(x) \
1282 (0x40880000 + (x) * 0x1000)
1283 #define DLB2_CHP_HIST_LIST_PUSH_PTR_RST 0x0
1284 union dlb2_chp_hist_list_push_ptr {
1293 #define DLB2_CHP_LDB_CQ_DEPTH(x) \
1294 (0x40900000 + (x) * 0x1000)
1295 #define DLB2_CHP_LDB_CQ_DEPTH_RST 0x0
1296 union dlb2_chp_ldb_cq_depth {
1304 #define DLB2_CHP_LDB_CQ_INT_DEPTH_THRSH(x) \
1305 (0x40980000 + (x) * 0x1000)
1306 #define DLB2_CHP_LDB_CQ_INT_DEPTH_THRSH_RST 0x0
1307 union dlb2_chp_ldb_cq_int_depth_thrsh {
1309 u32 depth_threshold : 11;
1315 #define DLB2_CHP_LDB_CQ_INT_ENB(x) \
1316 (0x40a00000 + (x) * 0x1000)
1317 #define DLB2_CHP_LDB_CQ_INT_ENB_RST 0x0
1318 union dlb2_chp_ldb_cq_int_enb {
1327 #define DLB2_CHP_LDB_CQ_TMR_THRSH(x) \
1328 (0x40b00000 + (x) * 0x1000)
1329 #define DLB2_CHP_LDB_CQ_TMR_THRSH_RST 0x1
1330 union dlb2_chp_ldb_cq_tmr_thrsh {
1333 u32 thrsh_13_1 : 13;
1339 #define DLB2_CHP_LDB_CQ_TKN_DEPTH_SEL(x) \
1340 (0x40b80000 + (x) * 0x1000)
1341 #define DLB2_CHP_LDB_CQ_TKN_DEPTH_SEL_RST 0x0
1342 union dlb2_chp_ldb_cq_tkn_depth_sel {
1344 u32 token_depth_select : 4;
1350 #define DLB2_CHP_LDB_CQ_WD_ENB(x) \
1351 (0x40c00000 + (x) * 0x1000)
1352 #define DLB2_CHP_LDB_CQ_WD_ENB_RST 0x0
1353 union dlb2_chp_ldb_cq_wd_enb {
1361 #define DLB2_CHP_LDB_CQ_WPTR(x) \
1362 (0x40c80000 + (x) * 0x1000)
1363 #define DLB2_CHP_LDB_CQ_WPTR_RST 0x0
1364 union dlb2_chp_ldb_cq_wptr {
1366 u32 write_pointer : 11;
1372 #define DLB2_CHP_LDB_CQ2VAS(x) \
1373 (0x40d00000 + (x) * 0x1000)
1374 #define DLB2_CHP_LDB_CQ2VAS_RST 0x0
1375 union dlb2_chp_ldb_cq2vas {
1383 #define DLB2_CHP_CFG_CHP_CSR_CTRL 0x44000008
1384 #define DLB2_CHP_CFG_CHP_CSR_CTRL_RST 0x180002
1385 union dlb2_chp_cfg_chp_csr_ctrl {
1387 u32 int_cor_alarm_dis : 1;
1388 u32 int_cor_synd_dis : 1;
1389 u32 int_uncr_alarm_dis : 1;
1390 u32 int_unc_synd_dis : 1;
1391 u32 int_inf0_alarm_dis : 1;
1392 u32 int_inf0_synd_dis : 1;
1393 u32 int_inf1_alarm_dis : 1;
1394 u32 int_inf1_synd_dis : 1;
1395 u32 int_inf2_alarm_dis : 1;
1396 u32 int_inf2_synd_dis : 1;
1397 u32 int_inf3_alarm_dis : 1;
1398 u32 int_inf3_synd_dis : 1;
1399 u32 int_inf4_alarm_dis : 1;
1400 u32 int_inf4_synd_dis : 1;
1401 u32 int_inf5_alarm_dis : 1;
1402 u32 int_inf5_synd_dis : 1;
1403 u32 dlb_cor_alarm_enable : 1;
1404 u32 cfg_64bytes_qe_ldb_cq_mode : 1;
1405 u32 cfg_64bytes_qe_dir_cq_mode : 1;
1406 u32 pad_write_ldb : 1;
1407 u32 pad_write_dir : 1;
1408 u32 pad_first_write_ldb : 1;
1409 u32 pad_first_write_dir : 1;
1415 #define DLB2_CHP_DIR_CQ_INTR_ARMED0 0x4400005c
1416 #define DLB2_CHP_DIR_CQ_INTR_ARMED0_RST 0x0
1417 union dlb2_chp_dir_cq_intr_armed0 {
1424 #define DLB2_CHP_DIR_CQ_INTR_ARMED1 0x44000060
1425 #define DLB2_CHP_DIR_CQ_INTR_ARMED1_RST 0x0
1426 union dlb2_chp_dir_cq_intr_armed1 {
1433 #define DLB2_CHP_CFG_DIR_CQ_TIMER_CTL 0x44000084
1434 #define DLB2_CHP_CFG_DIR_CQ_TIMER_CTL_RST 0x0
1435 union dlb2_chp_cfg_dir_cq_timer_ctl {
1437 u32 sample_interval : 8;
1444 #define DLB2_CHP_CFG_DIR_WDTO_0 0x44000088
1445 #define DLB2_CHP_CFG_DIR_WDTO_0_RST 0x0
1446 union dlb2_chp_cfg_dir_wdto_0 {
1453 #define DLB2_CHP_CFG_DIR_WDTO_1 0x4400008c
1454 #define DLB2_CHP_CFG_DIR_WDTO_1_RST 0x0
1455 union dlb2_chp_cfg_dir_wdto_1 {
1462 #define DLB2_CHP_CFG_DIR_WD_DISABLE0 0x44000098
1463 #define DLB2_CHP_CFG_DIR_WD_DISABLE0_RST 0xffffffff
1464 union dlb2_chp_cfg_dir_wd_disable0 {
1466 u32 wd_disable : 32;
1471 #define DLB2_CHP_CFG_DIR_WD_DISABLE1 0x4400009c
1472 #define DLB2_CHP_CFG_DIR_WD_DISABLE1_RST 0xffffffff
1473 union dlb2_chp_cfg_dir_wd_disable1 {
1475 u32 wd_disable : 32;
1480 #define DLB2_CHP_CFG_DIR_WD_ENB_INTERVAL 0x440000a0
1481 #define DLB2_CHP_CFG_DIR_WD_ENB_INTERVAL_RST 0x0
1482 union dlb2_chp_cfg_dir_wd_enb_interval {
1484 u32 sample_interval : 28;
1491 #define DLB2_CHP_CFG_DIR_WD_THRESHOLD 0x440000ac
1492 #define DLB2_CHP_CFG_DIR_WD_THRESHOLD_RST 0x0
1493 union dlb2_chp_cfg_dir_wd_threshold {
1495 u32 wd_threshold : 8;
1501 #define DLB2_CHP_LDB_CQ_INTR_ARMED0 0x440000b0
1502 #define DLB2_CHP_LDB_CQ_INTR_ARMED0_RST 0x0
1503 union dlb2_chp_ldb_cq_intr_armed0 {
1510 #define DLB2_CHP_LDB_CQ_INTR_ARMED1 0x440000b4
1511 #define DLB2_CHP_LDB_CQ_INTR_ARMED1_RST 0x0
1512 union dlb2_chp_ldb_cq_intr_armed1 {
1519 #define DLB2_CHP_CFG_LDB_CQ_TIMER_CTL 0x440000d8
1520 #define DLB2_CHP_CFG_LDB_CQ_TIMER_CTL_RST 0x0
1521 union dlb2_chp_cfg_ldb_cq_timer_ctl {
1523 u32 sample_interval : 8;
1530 #define DLB2_CHP_CFG_LDB_WDTO_0 0x440000dc
1531 #define DLB2_CHP_CFG_LDB_WDTO_0_RST 0x0
1532 union dlb2_chp_cfg_ldb_wdto_0 {
1539 #define DLB2_CHP_CFG_LDB_WDTO_1 0x440000e0
1540 #define DLB2_CHP_CFG_LDB_WDTO_1_RST 0x0
1541 union dlb2_chp_cfg_ldb_wdto_1 {
1548 #define DLB2_CHP_CFG_LDB_WD_DISABLE0 0x440000ec
1549 #define DLB2_CHP_CFG_LDB_WD_DISABLE0_RST 0xffffffff
1550 union dlb2_chp_cfg_ldb_wd_disable0 {
1552 u32 wd_disable : 32;
1557 #define DLB2_CHP_CFG_LDB_WD_DISABLE1 0x440000f0
1558 #define DLB2_CHP_CFG_LDB_WD_DISABLE1_RST 0xffffffff
1559 union dlb2_chp_cfg_ldb_wd_disable1 {
1561 u32 wd_disable : 32;
1566 #define DLB2_CHP_CFG_LDB_WD_ENB_INTERVAL 0x440000f4
1567 #define DLB2_CHP_CFG_LDB_WD_ENB_INTERVAL_RST 0x0
1568 union dlb2_chp_cfg_ldb_wd_enb_interval {
1570 u32 sample_interval : 28;
1577 #define DLB2_CHP_CFG_LDB_WD_THRESHOLD 0x44000100
1578 #define DLB2_CHP_CFG_LDB_WD_THRESHOLD_RST 0x0
1579 union dlb2_chp_cfg_ldb_wd_threshold {
1581 u32 wd_threshold : 8;
1587 #define DLB2_CHP_CTRL_DIAG_02 0x4c000028
1588 #define DLB2_CHP_CTRL_DIAG_02_RST 0x1555
1589 union dlb2_chp_ctrl_diag_02 {
1591 u32 egress_credit_status_empty : 1;
1592 u32 egress_credit_status_afull : 1;
1593 u32 chp_outbound_hcw_pipe_credit_status_empty : 1;
1594 u32 chp_outbound_hcw_pipe_credit_status_afull : 1;
1595 u32 chp_lsp_ap_cmp_pipe_credit_status_empty : 1;
1596 u32 chp_lsp_ap_cmp_pipe_credit_status_afull : 1;
1597 u32 chp_lsp_tok_pipe_credit_status_empty : 1;
1598 u32 chp_lsp_tok_pipe_credit_status_afull : 1;
1599 u32 chp_rop_pipe_credit_status_empty : 1;
1600 u32 chp_rop_pipe_credit_status_afull : 1;
1601 u32 qed_to_cq_pipe_credit_status_empty : 1;
1602 u32 qed_to_cq_pipe_credit_status_afull : 1;
1603 u32 egress_lsp_token_credit_status_empty : 1;
1604 u32 egress_lsp_token_credit_status_afull : 1;
1610 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_DIR_0 0x54000000
1611 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_DIR_0_RST 0xfefcfaf8
1612 union dlb2_dp_cfg_arb_weights_tqpri_dir_0 {
1622 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_DIR_1 0x54000004
1623 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_DIR_1_RST 0x0
1624 union dlb2_dp_cfg_arb_weights_tqpri_dir_1 {
1631 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_REPLAY_0 0x54000008
1632 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_REPLAY_0_RST 0xfefcfaf8
1633 union dlb2_dp_cfg_arb_weights_tqpri_replay_0 {
1643 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_REPLAY_1 0x5400000c
1644 #define DLB2_DP_CFG_ARB_WEIGHTS_TQPRI_REPLAY_1_RST 0x0
1645 union dlb2_dp_cfg_arb_weights_tqpri_replay_1 {
1652 #define DLB2_DP_DIR_CSR_CTRL 0x54000010
1653 #define DLB2_DP_DIR_CSR_CTRL_RST 0x0
1654 union dlb2_dp_dir_csr_ctrl {
1656 u32 int_cor_alarm_dis : 1;
1657 u32 int_cor_synd_dis : 1;
1658 u32 int_uncr_alarm_dis : 1;
1659 u32 int_unc_synd_dis : 1;
1660 u32 int_inf0_alarm_dis : 1;
1661 u32 int_inf0_synd_dis : 1;
1662 u32 int_inf1_alarm_dis : 1;
1663 u32 int_inf1_synd_dis : 1;
1664 u32 int_inf2_alarm_dis : 1;
1665 u32 int_inf2_synd_dis : 1;
1666 u32 int_inf3_alarm_dis : 1;
1667 u32 int_inf3_synd_dis : 1;
1668 u32 int_inf4_alarm_dis : 1;
1669 u32 int_inf4_synd_dis : 1;
1670 u32 int_inf5_alarm_dis : 1;
1671 u32 int_inf5_synd_dis : 1;
1677 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_ATQ_0 0x84000000
1678 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_ATQ_0_RST 0xfefcfaf8
1679 union dlb2_nalb_pipe_cfg_arb_weights_tqpri_atq_0 {
1689 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_ATQ_1 0x84000004
1690 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_ATQ_1_RST 0x0
1691 union dlb2_nalb_pipe_cfg_arb_weights_tqpri_atq_1 {
1698 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_NALB_0 0x84000008
1699 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_NALB_0_RST 0xfefcfaf8
1700 union dlb2_nalb_pipe_cfg_arb_weights_tqpri_nalb_0 {
1710 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_NALB_1 0x8400000c
1711 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_NALB_1_RST 0x0
1712 union dlb2_nalb_pipe_cfg_arb_weights_tqpri_nalb_1 {
1719 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_REPLAY_0 0x84000010
1720 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_REPLAY_0_RST 0xfefcfaf8
1721 union dlb2_nalb_pipe_cfg_arb_weights_tqpri_replay_0 {
1731 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_REPLAY_1 0x84000014
1732 #define DLB2_NALB_PIPE_CFG_ARB_WEIGHTS_TQPRI_REPLAY_1_RST 0x0
1733 union dlb2_nalb_pipe_cfg_arb_weights_tqpri_replay_1 {
1740 #define DLB2_RO_PIPE_GRP_0_SLT_SHFT(x) \
1741 (0x96000000 + (x) * 0x4)
1742 #define DLB2_RO_PIPE_GRP_0_SLT_SHFT_RST 0x0
1743 union dlb2_ro_pipe_grp_0_slt_shft {
1751 #define DLB2_RO_PIPE_GRP_1_SLT_SHFT(x) \
1752 (0x96010000 + (x) * 0x4)
1753 #define DLB2_RO_PIPE_GRP_1_SLT_SHFT_RST 0x0
1754 union dlb2_ro_pipe_grp_1_slt_shft {
1762 #define DLB2_RO_PIPE_GRP_SN_MODE 0x94000000
1763 #define DLB2_RO_PIPE_GRP_SN_MODE_RST 0x0
1764 union dlb2_ro_pipe_grp_sn_mode {
1774 #define DLB2_RO_PIPE_CFG_CTRL_GENERAL_0 0x9c000000
1775 #define DLB2_RO_PIPE_CFG_CTRL_GENERAL_0_RST 0x0
1776 union dlb2_ro_pipe_cfg_ctrl_general_0 {
1778 u32 unit_single_step_mode : 1;
1785 #define DLB2_LSP_CQ2PRIOV(x) \
1786 (0xa0000000 + (x) * 0x1000)
1787 #define DLB2_LSP_CQ2PRIOV_RST 0x0
1788 union dlb2_lsp_cq2priov {
1796 #define DLB2_LSP_CQ2QID0(x) \
1797 (0xa0080000 + (x) * 0x1000)
1798 #define DLB2_LSP_CQ2QID0_RST 0x0
1799 union dlb2_lsp_cq2qid0 {
1813 #define DLB2_LSP_CQ2QID1(x) \
1814 (0xa0100000 + (x) * 0x1000)
1815 #define DLB2_LSP_CQ2QID1_RST 0x0
1816 union dlb2_lsp_cq2qid1 {
1830 #define DLB2_LSP_CQ_DIR_DSBL(x) \
1831 (0xa0180000 + (x) * 0x1000)
1832 #define DLB2_LSP_CQ_DIR_DSBL_RST 0x1
1833 union dlb2_lsp_cq_dir_dsbl {
1841 #define DLB2_LSP_CQ_DIR_TKN_CNT(x) \
1842 (0xa0200000 + (x) * 0x1000)
1843 #define DLB2_LSP_CQ_DIR_TKN_CNT_RST 0x0
1844 union dlb2_lsp_cq_dir_tkn_cnt {
1852 #define DLB2_LSP_CQ_DIR_TKN_DEPTH_SEL_DSI(x) \
1853 (0xa0280000 + (x) * 0x1000)
1854 #define DLB2_LSP_CQ_DIR_TKN_DEPTH_SEL_DSI_RST 0x0
1855 union dlb2_lsp_cq_dir_tkn_depth_sel_dsi {
1857 u32 token_depth_select : 4;
1858 u32 disable_wb_opt : 1;
1859 u32 ignore_depth : 1;
1865 #define DLB2_LSP_CQ_DIR_TOT_SCH_CNTL(x) \
1866 (0xa0300000 + (x) * 0x1000)
1867 #define DLB2_LSP_CQ_DIR_TOT_SCH_CNTL_RST 0x0
1868 union dlb2_lsp_cq_dir_tot_sch_cntl {
1875 #define DLB2_LSP_CQ_DIR_TOT_SCH_CNTH(x) \
1876 (0xa0380000 + (x) * 0x1000)
1877 #define DLB2_LSP_CQ_DIR_TOT_SCH_CNTH_RST 0x0
1878 union dlb2_lsp_cq_dir_tot_sch_cnth {
1885 #define DLB2_LSP_CQ_LDB_DSBL(x) \
1886 (0xa0400000 + (x) * 0x1000)
1887 #define DLB2_LSP_CQ_LDB_DSBL_RST 0x1
1888 union dlb2_lsp_cq_ldb_dsbl {
1896 #define DLB2_LSP_CQ_LDB_INFL_CNT(x) \
1897 (0xa0480000 + (x) * 0x1000)
1898 #define DLB2_LSP_CQ_LDB_INFL_CNT_RST 0x0
1899 union dlb2_lsp_cq_ldb_infl_cnt {
1907 #define DLB2_LSP_CQ_LDB_INFL_LIM(x) \
1908 (0xa0500000 + (x) * 0x1000)
1909 #define DLB2_LSP_CQ_LDB_INFL_LIM_RST 0x0
1910 union dlb2_lsp_cq_ldb_infl_lim {
1918 #define DLB2_LSP_CQ_LDB_TKN_CNT(x) \
1919 (0xa0580000 + (x) * 0x1000)
1920 #define DLB2_LSP_CQ_LDB_TKN_CNT_RST 0x0
1921 union dlb2_lsp_cq_ldb_tkn_cnt {
1923 u32 token_count : 11;
1929 #define DLB2_LSP_CQ_LDB_TKN_DEPTH_SEL(x) \
1930 (0xa0600000 + (x) * 0x1000)
1931 #define DLB2_LSP_CQ_LDB_TKN_DEPTH_SEL_RST 0x0
1932 union dlb2_lsp_cq_ldb_tkn_depth_sel {
1934 u32 token_depth_select : 4;
1935 u32 ignore_depth : 1;
1941 #define DLB2_LSP_CQ_LDB_TOT_SCH_CNTL(x) \
1942 (0xa0680000 + (x) * 0x1000)
1943 #define DLB2_LSP_CQ_LDB_TOT_SCH_CNTL_RST 0x0
1944 union dlb2_lsp_cq_ldb_tot_sch_cntl {
1951 #define DLB2_LSP_CQ_LDB_TOT_SCH_CNTH(x) \
1952 (0xa0700000 + (x) * 0x1000)
1953 #define DLB2_LSP_CQ_LDB_TOT_SCH_CNTH_RST 0x0
1954 union dlb2_lsp_cq_ldb_tot_sch_cnth {
1961 #define DLB2_LSP_QID_DIR_MAX_DEPTH(x) \
1962 (0xa0780000 + (x) * 0x1000)
1963 #define DLB2_LSP_QID_DIR_MAX_DEPTH_RST 0x0
1964 union dlb2_lsp_qid_dir_max_depth {
1972 #define DLB2_LSP_QID_DIR_TOT_ENQ_CNTL(x) \
1973 (0xa0800000 + (x) * 0x1000)
1974 #define DLB2_LSP_QID_DIR_TOT_ENQ_CNTL_RST 0x0
1975 union dlb2_lsp_qid_dir_tot_enq_cntl {
1982 #define DLB2_LSP_QID_DIR_TOT_ENQ_CNTH(x) \
1983 (0xa0880000 + (x) * 0x1000)
1984 #define DLB2_LSP_QID_DIR_TOT_ENQ_CNTH_RST 0x0
1985 union dlb2_lsp_qid_dir_tot_enq_cnth {
1992 #define DLB2_LSP_QID_DIR_ENQUEUE_CNT(x) \
1993 (0xa0900000 + (x) * 0x1000)
1994 #define DLB2_LSP_QID_DIR_ENQUEUE_CNT_RST 0x0
1995 union dlb2_lsp_qid_dir_enqueue_cnt {
2003 #define DLB2_LSP_QID_DIR_DEPTH_THRSH(x) \
2004 (0xa0980000 + (x) * 0x1000)
2005 #define DLB2_LSP_QID_DIR_DEPTH_THRSH_RST 0x0
2006 union dlb2_lsp_qid_dir_depth_thrsh {
2014 #define DLB2_LSP_QID_AQED_ACTIVE_CNT(x) \
2015 (0xa0a00000 + (x) * 0x1000)
2016 #define DLB2_LSP_QID_AQED_ACTIVE_CNT_RST 0x0
2017 union dlb2_lsp_qid_aqed_active_cnt {
2025 #define DLB2_LSP_QID_AQED_ACTIVE_LIM(x) \
2026 (0xa0a80000 + (x) * 0x1000)
2027 #define DLB2_LSP_QID_AQED_ACTIVE_LIM_RST 0x0
2028 union dlb2_lsp_qid_aqed_active_lim {
2036 #define DLB2_LSP_QID_ATM_TOT_ENQ_CNTL(x) \
2037 (0xa0b00000 + (x) * 0x1000)
2038 #define DLB2_LSP_QID_ATM_TOT_ENQ_CNTL_RST 0x0
2039 union dlb2_lsp_qid_atm_tot_enq_cntl {
2046 #define DLB2_LSP_QID_ATM_TOT_ENQ_CNTH(x) \
2047 (0xa0b80000 + (x) * 0x1000)
2048 #define DLB2_LSP_QID_ATM_TOT_ENQ_CNTH_RST 0x0
2049 union dlb2_lsp_qid_atm_tot_enq_cnth {
2056 #define DLB2_LSP_QID_ATQ_ENQUEUE_CNT(x) \
2057 (0xa0c00000 + (x) * 0x1000)
2058 #define DLB2_LSP_QID_ATQ_ENQUEUE_CNT_RST 0x0
2059 union dlb2_lsp_qid_atq_enqueue_cnt {
2067 #define DLB2_LSP_QID_LDB_ENQUEUE_CNT(x) \
2068 (0xa0c80000 + (x) * 0x1000)
2069 #define DLB2_LSP_QID_LDB_ENQUEUE_CNT_RST 0x0
2070 union dlb2_lsp_qid_ldb_enqueue_cnt {
2078 #define DLB2_LSP_QID_LDB_INFL_CNT(x) \
2079 (0xa0d00000 + (x) * 0x1000)
2080 #define DLB2_LSP_QID_LDB_INFL_CNT_RST 0x0
2081 union dlb2_lsp_qid_ldb_infl_cnt {
2089 #define DLB2_LSP_QID_LDB_INFL_LIM(x) \
2090 (0xa0d80000 + (x) * 0x1000)
2091 #define DLB2_LSP_QID_LDB_INFL_LIM_RST 0x0
2092 union dlb2_lsp_qid_ldb_infl_lim {
2100 #define DLB2_LSP_QID2CQIDIX_00(x) \
2101 (0xa0e00000 + (x) * 0x1000)
2102 #define DLB2_LSP_QID2CQIDIX_00_RST 0x0
2103 #define DLB2_LSP_QID2CQIDIX(x, y) \
2104 (DLB2_LSP_QID2CQIDIX_00(x) + 0x80000 * (y))
2105 #define DLB2_LSP_QID2CQIDIX_NUM 16
2106 union dlb2_lsp_qid2cqidix_00 {
2116 #define DLB2_LSP_QID2CQIDIX2_00(x) \
2117 (0xa1600000 + (x) * 0x1000)
2118 #define DLB2_LSP_QID2CQIDIX2_00_RST 0x0
2119 #define DLB2_LSP_QID2CQIDIX2(x, y) \
2120 (DLB2_LSP_QID2CQIDIX2_00(x) + 0x80000 * (y))
2121 #define DLB2_LSP_QID2CQIDIX2_NUM 16
2122 union dlb2_lsp_qid2cqidix2_00 {
2132 #define DLB2_LSP_QID_LDB_REPLAY_CNT(x) \
2133 (0xa1e00000 + (x) * 0x1000)
2134 #define DLB2_LSP_QID_LDB_REPLAY_CNT_RST 0x0
2135 union dlb2_lsp_qid_ldb_replay_cnt {
2143 #define DLB2_LSP_QID_NALDB_MAX_DEPTH(x) \
2144 (0xa1f00000 + (x) * 0x1000)
2145 #define DLB2_LSP_QID_NALDB_MAX_DEPTH_RST 0x0
2146 union dlb2_lsp_qid_naldb_max_depth {
2154 #define DLB2_LSP_QID_NALDB_TOT_ENQ_CNTL(x) \
2155 (0xa1f80000 + (x) * 0x1000)
2156 #define DLB2_LSP_QID_NALDB_TOT_ENQ_CNTL_RST 0x0
2157 union dlb2_lsp_qid_naldb_tot_enq_cntl {
2164 #define DLB2_LSP_QID_NALDB_TOT_ENQ_CNTH(x) \
2165 (0xa2000000 + (x) * 0x1000)
2166 #define DLB2_LSP_QID_NALDB_TOT_ENQ_CNTH_RST 0x0
2167 union dlb2_lsp_qid_naldb_tot_enq_cnth {
2174 #define DLB2_LSP_QID_ATM_DEPTH_THRSH(x) \
2175 (0xa2080000 + (x) * 0x1000)
2176 #define DLB2_LSP_QID_ATM_DEPTH_THRSH_RST 0x0
2177 union dlb2_lsp_qid_atm_depth_thrsh {
2185 #define DLB2_LSP_QID_NALDB_DEPTH_THRSH(x) \
2186 (0xa2100000 + (x) * 0x1000)
2187 #define DLB2_LSP_QID_NALDB_DEPTH_THRSH_RST 0x0
2188 union dlb2_lsp_qid_naldb_depth_thrsh {
2196 #define DLB2_LSP_QID_ATM_ACTIVE(x) \
2197 (0xa2180000 + (x) * 0x1000)
2198 #define DLB2_LSP_QID_ATM_ACTIVE_RST 0x0
2199 union dlb2_lsp_qid_atm_active {
2207 #define DLB2_LSP_CFG_ARB_WEIGHT_ATM_NALB_QID_0 0xa4000008
2208 #define DLB2_LSP_CFG_ARB_WEIGHT_ATM_NALB_QID_0_RST 0x0
2209 union dlb2_lsp_cfg_arb_weight_atm_nalb_qid_0 {
2211 u32 pri0_weight : 8;
2212 u32 pri1_weight : 8;
2213 u32 pri2_weight : 8;
2214 u32 pri3_weight : 8;
2219 #define DLB2_LSP_CFG_ARB_WEIGHT_ATM_NALB_QID_1 0xa400000c
2220 #define DLB2_LSP_CFG_ARB_WEIGHT_ATM_NALB_QID_1_RST 0x0
2221 union dlb2_lsp_cfg_arb_weight_atm_nalb_qid_1 {
2228 #define DLB2_LSP_CFG_ARB_WEIGHT_LDB_QID_0 0xa4000014
2229 #define DLB2_LSP_CFG_ARB_WEIGHT_LDB_QID_0_RST 0x0
2230 union dlb2_lsp_cfg_arb_weight_ldb_qid_0 {
2232 u32 pri0_weight : 8;
2233 u32 pri1_weight : 8;
2234 u32 pri2_weight : 8;
2235 u32 pri3_weight : 8;
2240 #define DLB2_LSP_CFG_ARB_WEIGHT_LDB_QID_1 0xa4000018
2241 #define DLB2_LSP_CFG_ARB_WEIGHT_LDB_QID_1_RST 0x0
2242 union dlb2_lsp_cfg_arb_weight_ldb_qid_1 {
2249 #define DLB2_LSP_LDB_SCHED_CTRL 0xa400002c
2250 #define DLB2_LSP_LDB_SCHED_CTRL_RST 0x0
2251 union dlb2_lsp_ldb_sched_ctrl {
2256 u32 nalb_haswork_v : 1;
2257 u32 rlist_haswork_v : 1;
2258 u32 slist_haswork_v : 1;
2259 u32 inflight_ok_v : 1;
2260 u32 aqed_nfull_v : 1;
2266 #define DLB2_LSP_DIR_SCH_CNT_L 0xa4000034
2267 #define DLB2_LSP_DIR_SCH_CNT_L_RST 0x0
2268 union dlb2_lsp_dir_sch_cnt_l {
2275 #define DLB2_LSP_DIR_SCH_CNT_H 0xa4000038
2276 #define DLB2_LSP_DIR_SCH_CNT_H_RST 0x0
2277 union dlb2_lsp_dir_sch_cnt_h {
2284 #define DLB2_LSP_LDB_SCH_CNT_L 0xa400003c
2285 #define DLB2_LSP_LDB_SCH_CNT_L_RST 0x0
2286 union dlb2_lsp_ldb_sch_cnt_l {
2293 #define DLB2_LSP_LDB_SCH_CNT_H 0xa4000040
2294 #define DLB2_LSP_LDB_SCH_CNT_H_RST 0x0
2295 union dlb2_lsp_ldb_sch_cnt_h {
2302 #define DLB2_LSP_CFG_SHDW_CTRL 0xa4000070
2303 #define DLB2_LSP_CFG_SHDW_CTRL_RST 0x0
2304 union dlb2_lsp_cfg_shdw_ctrl {
2312 #define DLB2_LSP_CFG_SHDW_RANGE_COS(x) \
2313 (0xa4000074 + (x) * 4)
2314 #define DLB2_LSP_CFG_SHDW_RANGE_COS_RST 0x40
2315 union dlb2_lsp_cfg_shdw_range_cos {
2319 u32 no_extra_credit : 1;
2324 #define DLB2_LSP_CFG_CTRL_GENERAL_0 0xac000000
2325 #define DLB2_LSP_CFG_CTRL_GENERAL_0_RST 0x0
2326 union dlb2_lsp_cfg_ctrl_general_0 {
2328 u32 disab_atq_empty_arb : 1;
2329 u32 inc_tok_unit_idle : 1;
2330 u32 disab_rlist_pri : 1;
2331 u32 inc_cmp_unit_idle : 1;
2333 u32 dir_single_op : 1;
2334 u32 dir_half_bw : 1;
2335 u32 dir_single_out : 1;
2336 u32 dir_disab_multi : 1;
2337 u32 atq_single_op : 1;
2338 u32 atq_half_bw : 1;
2339 u32 atq_single_out : 1;
2340 u32 atq_disab_multi : 1;
2341 u32 dirrpl_single_op : 1;
2342 u32 dirrpl_half_bw : 1;
2343 u32 dirrpl_single_out : 1;
2344 u32 lbrpl_single_op : 1;
2345 u32 lbrpl_half_bw : 1;
2346 u32 lbrpl_single_out : 1;
2347 u32 ldb_single_op : 1;
2348 u32 ldb_half_bw : 1;
2349 u32 ldb_disab_multi : 1;
2350 u32 atm_single_sch : 1;
2351 u32 atm_single_cmp : 1;
2352 u32 ldb_ce_tog_arb : 1;
2354 u32 smon0_valid_sel : 2;
2355 u32 smon0_value_sel : 1;
2356 u32 smon0_compare_sel : 2;
2361 #define DLB2_CFG_MSTR_DIAG_RESET_STS 0xb4000000
2362 #define DLB2_CFG_MSTR_DIAG_RESET_STS_RST 0x80000bff
2363 union dlb2_cfg_mstr_diag_reset_sts {
2365 u32 chp_pf_reset_done : 1;
2366 u32 rop_pf_reset_done : 1;
2367 u32 lsp_pf_reset_done : 1;
2368 u32 nalb_pf_reset_done : 1;
2369 u32 ap_pf_reset_done : 1;
2370 u32 dp_pf_reset_done : 1;
2371 u32 qed_pf_reset_done : 1;
2372 u32 dqed_pf_reset_done : 1;
2373 u32 aqed_pf_reset_done : 1;
2374 u32 sys_pf_reset_done : 1;
2375 u32 pf_reset_active : 1;
2376 u32 flrsm_state : 7;
2378 u32 dlb_proc_reset_done : 1;
2383 #define DLB2_CFG_MSTR_CFG_DIAGNOSTIC_IDLE_STATUS 0xb4000004
2384 #define DLB2_CFG_MSTR_CFG_DIAGNOSTIC_IDLE_STATUS_RST 0x9d0fffff
2385 union dlb2_cfg_mstr_cfg_diagnostic_idle_status {
2387 u32 chp_pipeidle : 1;
2388 u32 rop_pipeidle : 1;
2389 u32 lsp_pipeidle : 1;
2390 u32 nalb_pipeidle : 1;
2391 u32 ap_pipeidle : 1;
2392 u32 dp_pipeidle : 1;
2393 u32 qed_pipeidle : 1;
2394 u32 dqed_pipeidle : 1;
2395 u32 aqed_pipeidle : 1;
2396 u32 sys_pipeidle : 1;
2397 u32 chp_unit_idle : 1;
2398 u32 rop_unit_idle : 1;
2399 u32 lsp_unit_idle : 1;
2400 u32 nalb_unit_idle : 1;
2401 u32 ap_unit_idle : 1;
2402 u32 dp_unit_idle : 1;
2403 u32 qed_unit_idle : 1;
2404 u32 dqed_unit_idle : 1;
2405 u32 aqed_unit_idle : 1;
2406 u32 sys_unit_idle : 1;
2408 u32 mstr_cfg_ring_idle : 1;
2409 u32 mstr_cfg_mstr_idle : 1;
2410 u32 mstr_flr_clkreq_b : 1;
2411 u32 mstr_proc_idle : 1;
2412 u32 mstr_proc_idle_masked : 1;
2414 u32 dlb_func_idle : 1;
2419 #define DLB2_CFG_MSTR_CFG_PM_STATUS 0xb4000014
2420 #define DLB2_CFG_MSTR_CFG_PM_STATUS_RST 0x100403e
2421 union dlb2_cfg_mstr_cfg_pm_status {
2424 u32 pgcb_dlb_idle : 1;
2425 u32 pgcb_dlb_pg_rdy_ack_b : 1;
2426 u32 pmsm_pgcb_req_b : 1;
2427 u32 pgbc_pmc_pg_req_b : 1;
2428 u32 pmc_pgcb_pg_ack_b : 1;
2429 u32 pmc_pgcb_fet_en_b : 1;
2430 u32 pgcb_fet_en_b : 1;
2433 u32 fuse_force_on : 1;
2434 u32 fuse_proc_disable : 1;
2437 u32 pm_fsm_d0tod3_ok : 1;
2438 u32 pm_fsm_d3tod0_ok : 1;
2446 #define DLB2_CFG_MSTR_CFG_PM_PMCSR_DISABLE 0xb4000018
2447 #define DLB2_CFG_MSTR_CFG_PM_PMCSR_DISABLE_RST 0x1
2448 union dlb2_cfg_mstr_cfg_pm_pmcsr_disable {
2456 #define DLB2_FUNC_VF_VF2PF_MAILBOX_BYTES 256
2457 #define DLB2_FUNC_VF_VF2PF_MAILBOX(x) \
2458 (0x1000 + (x) * 0x4)
2459 #define DLB2_FUNC_VF_VF2PF_MAILBOX_RST 0x0
2460 union dlb2_func_vf_vf2pf_mailbox {
2467 #define DLB2_FUNC_VF_VF2PF_MAILBOX_ISR 0x1f00
2468 #define DLB2_FUNC_VF_VF2PF_MAILBOX_ISR_RST 0x0
2469 #define DLB2_FUNC_VF_SIOV_VF2PF_MAILBOX_ISR_TRIGGER 0x8000
2470 union dlb2_func_vf_vf2pf_mailbox_isr {
2478 #define DLB2_FUNC_VF_PF2VF_MAILBOX_BYTES 64
2479 #define DLB2_FUNC_VF_PF2VF_MAILBOX(x) \
2480 (0x2000 + (x) * 0x4)
2481 #define DLB2_FUNC_VF_PF2VF_MAILBOX_RST 0x0
2482 union dlb2_func_vf_pf2vf_mailbox {
2489 #define DLB2_FUNC_VF_PF2VF_MAILBOX_ISR 0x2f00
2490 #define DLB2_FUNC_VF_PF2VF_MAILBOX_ISR_RST 0x0
2491 union dlb2_func_vf_pf2vf_mailbox_isr {
2499 #define DLB2_FUNC_VF_VF_MSI_ISR_PEND 0x2f10
2500 #define DLB2_FUNC_VF_VF_MSI_ISR_PEND_RST 0x0
2501 union dlb2_func_vf_vf_msi_isr_pend {
2508 #define DLB2_FUNC_VF_VF_RESET_IN_PROGRESS 0x3000
2509 #define DLB2_FUNC_VF_VF_RESET_IN_PROGRESS_RST 0x1
2510 union dlb2_func_vf_vf_reset_in_progress {
2512 u32 reset_in_progress : 1;
2518 #define DLB2_FUNC_VF_VF_MSI_ISR 0x4000
2519 #define DLB2_FUNC_VF_VF_MSI_ISR_RST 0x0
2520 union dlb2_func_vf_vf_msi_isr {
2522 u32 vf_msi_isr : 32;
2527 #endif /* __DLB2_REGS_H */