event/dlb: add eventdev probe
[dpdk.git] / drivers / event / dlb / pf / base / dlb_regs.h
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 */