xref: /dragonfly/sys/dev/drm/amd/include/vi_structs.h (revision c59a5c48)
1*c59a5c48SFrançois Tigeot /*
2*c59a5c48SFrançois Tigeot  * Copyright 2012 Advanced Micro Devices, Inc.
3*c59a5c48SFrançois Tigeot  *
4*c59a5c48SFrançois Tigeot  * Permission is hereby granted, free of charge, to any person obtaining a
5*c59a5c48SFrançois Tigeot  * copy of this software and associated documentation files (the "Software"),
6*c59a5c48SFrançois Tigeot  * to deal in the Software without restriction, including without limitation
7*c59a5c48SFrançois Tigeot  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8*c59a5c48SFrançois Tigeot  * and/or sell copies of the Software, and to permit persons to whom the
9*c59a5c48SFrançois Tigeot  * Software is furnished to do so, subject to the following conditions:
10*c59a5c48SFrançois Tigeot  *
11*c59a5c48SFrançois Tigeot  * The above copyright notice and this permission notice shall be included in
12*c59a5c48SFrançois Tigeot  * all copies or substantial portions of the Software.
13*c59a5c48SFrançois Tigeot  *
14*c59a5c48SFrançois Tigeot  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15*c59a5c48SFrançois Tigeot  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16*c59a5c48SFrançois Tigeot  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17*c59a5c48SFrançois Tigeot  * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18*c59a5c48SFrançois Tigeot  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19*c59a5c48SFrançois Tigeot  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20*c59a5c48SFrançois Tigeot  * OTHER DEALINGS IN THE SOFTWARE.
21*c59a5c48SFrançois Tigeot  *
22*c59a5c48SFrançois Tigeot  */
23*c59a5c48SFrançois Tigeot 
24*c59a5c48SFrançois Tigeot #ifndef VI_STRUCTS_H_
25*c59a5c48SFrançois Tigeot #define VI_STRUCTS_H_
26*c59a5c48SFrançois Tigeot 
27*c59a5c48SFrançois Tigeot struct vi_sdma_mqd {
28*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_rb_cntl;
29*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_rb_base;
30*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_rb_base_hi;
31*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_rb_rptr;
32*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_rb_wptr;
33*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_rb_wptr_poll_cntl;
34*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_rb_wptr_poll_addr_hi;
35*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_rb_wptr_poll_addr_lo;
36*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_rb_rptr_addr_hi;
37*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_rb_rptr_addr_lo;
38*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_ib_cntl;
39*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_ib_rptr;
40*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_ib_offset;
41*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_ib_base_lo;
42*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_ib_base_hi;
43*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_ib_size;
44*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_skip_cntl;
45*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_context_status;
46*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_doorbell;
47*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_virtual_addr;
48*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_ape1_cntl;
49*c59a5c48SFrançois Tigeot 	uint32_t sdmax_rlcx_doorbell_log;
50*c59a5c48SFrançois Tigeot 	uint32_t reserved_22;
51*c59a5c48SFrançois Tigeot 	uint32_t reserved_23;
52*c59a5c48SFrançois Tigeot 	uint32_t reserved_24;
53*c59a5c48SFrançois Tigeot 	uint32_t reserved_25;
54*c59a5c48SFrançois Tigeot 	uint32_t reserved_26;
55*c59a5c48SFrançois Tigeot 	uint32_t reserved_27;
56*c59a5c48SFrançois Tigeot 	uint32_t reserved_28;
57*c59a5c48SFrançois Tigeot 	uint32_t reserved_29;
58*c59a5c48SFrançois Tigeot 	uint32_t reserved_30;
59*c59a5c48SFrançois Tigeot 	uint32_t reserved_31;
60*c59a5c48SFrançois Tigeot 	uint32_t reserved_32;
61*c59a5c48SFrançois Tigeot 	uint32_t reserved_33;
62*c59a5c48SFrançois Tigeot 	uint32_t reserved_34;
63*c59a5c48SFrançois Tigeot 	uint32_t reserved_35;
64*c59a5c48SFrançois Tigeot 	uint32_t reserved_36;
65*c59a5c48SFrançois Tigeot 	uint32_t reserved_37;
66*c59a5c48SFrançois Tigeot 	uint32_t reserved_38;
67*c59a5c48SFrançois Tigeot 	uint32_t reserved_39;
68*c59a5c48SFrançois Tigeot 	uint32_t reserved_40;
69*c59a5c48SFrançois Tigeot 	uint32_t reserved_41;
70*c59a5c48SFrançois Tigeot 	uint32_t reserved_42;
71*c59a5c48SFrançois Tigeot 	uint32_t reserved_43;
72*c59a5c48SFrançois Tigeot 	uint32_t reserved_44;
73*c59a5c48SFrançois Tigeot 	uint32_t reserved_45;
74*c59a5c48SFrançois Tigeot 	uint32_t reserved_46;
75*c59a5c48SFrançois Tigeot 	uint32_t reserved_47;
76*c59a5c48SFrançois Tigeot 	uint32_t reserved_48;
77*c59a5c48SFrançois Tigeot 	uint32_t reserved_49;
78*c59a5c48SFrançois Tigeot 	uint32_t reserved_50;
79*c59a5c48SFrançois Tigeot 	uint32_t reserved_51;
80*c59a5c48SFrançois Tigeot 	uint32_t reserved_52;
81*c59a5c48SFrançois Tigeot 	uint32_t reserved_53;
82*c59a5c48SFrançois Tigeot 	uint32_t reserved_54;
83*c59a5c48SFrançois Tigeot 	uint32_t reserved_55;
84*c59a5c48SFrançois Tigeot 	uint32_t reserved_56;
85*c59a5c48SFrançois Tigeot 	uint32_t reserved_57;
86*c59a5c48SFrançois Tigeot 	uint32_t reserved_58;
87*c59a5c48SFrançois Tigeot 	uint32_t reserved_59;
88*c59a5c48SFrançois Tigeot 	uint32_t reserved_60;
89*c59a5c48SFrançois Tigeot 	uint32_t reserved_61;
90*c59a5c48SFrançois Tigeot 	uint32_t reserved_62;
91*c59a5c48SFrançois Tigeot 	uint32_t reserved_63;
92*c59a5c48SFrançois Tigeot 	uint32_t reserved_64;
93*c59a5c48SFrançois Tigeot 	uint32_t reserved_65;
94*c59a5c48SFrançois Tigeot 	uint32_t reserved_66;
95*c59a5c48SFrançois Tigeot 	uint32_t reserved_67;
96*c59a5c48SFrançois Tigeot 	uint32_t reserved_68;
97*c59a5c48SFrançois Tigeot 	uint32_t reserved_69;
98*c59a5c48SFrançois Tigeot 	uint32_t reserved_70;
99*c59a5c48SFrançois Tigeot 	uint32_t reserved_71;
100*c59a5c48SFrançois Tigeot 	uint32_t reserved_72;
101*c59a5c48SFrançois Tigeot 	uint32_t reserved_73;
102*c59a5c48SFrançois Tigeot 	uint32_t reserved_74;
103*c59a5c48SFrançois Tigeot 	uint32_t reserved_75;
104*c59a5c48SFrançois Tigeot 	uint32_t reserved_76;
105*c59a5c48SFrançois Tigeot 	uint32_t reserved_77;
106*c59a5c48SFrançois Tigeot 	uint32_t reserved_78;
107*c59a5c48SFrançois Tigeot 	uint32_t reserved_79;
108*c59a5c48SFrançois Tigeot 	uint32_t reserved_80;
109*c59a5c48SFrançois Tigeot 	uint32_t reserved_81;
110*c59a5c48SFrançois Tigeot 	uint32_t reserved_82;
111*c59a5c48SFrançois Tigeot 	uint32_t reserved_83;
112*c59a5c48SFrançois Tigeot 	uint32_t reserved_84;
113*c59a5c48SFrançois Tigeot 	uint32_t reserved_85;
114*c59a5c48SFrançois Tigeot 	uint32_t reserved_86;
115*c59a5c48SFrançois Tigeot 	uint32_t reserved_87;
116*c59a5c48SFrançois Tigeot 	uint32_t reserved_88;
117*c59a5c48SFrançois Tigeot 	uint32_t reserved_89;
118*c59a5c48SFrançois Tigeot 	uint32_t reserved_90;
119*c59a5c48SFrançois Tigeot 	uint32_t reserved_91;
120*c59a5c48SFrançois Tigeot 	uint32_t reserved_92;
121*c59a5c48SFrançois Tigeot 	uint32_t reserved_93;
122*c59a5c48SFrançois Tigeot 	uint32_t reserved_94;
123*c59a5c48SFrançois Tigeot 	uint32_t reserved_95;
124*c59a5c48SFrançois Tigeot 	uint32_t reserved_96;
125*c59a5c48SFrançois Tigeot 	uint32_t reserved_97;
126*c59a5c48SFrançois Tigeot 	uint32_t reserved_98;
127*c59a5c48SFrançois Tigeot 	uint32_t reserved_99;
128*c59a5c48SFrançois Tigeot 	uint32_t reserved_100;
129*c59a5c48SFrançois Tigeot 	uint32_t reserved_101;
130*c59a5c48SFrançois Tigeot 	uint32_t reserved_102;
131*c59a5c48SFrançois Tigeot 	uint32_t reserved_103;
132*c59a5c48SFrançois Tigeot 	uint32_t reserved_104;
133*c59a5c48SFrançois Tigeot 	uint32_t reserved_105;
134*c59a5c48SFrançois Tigeot 	uint32_t reserved_106;
135*c59a5c48SFrançois Tigeot 	uint32_t reserved_107;
136*c59a5c48SFrançois Tigeot 	uint32_t reserved_108;
137*c59a5c48SFrançois Tigeot 	uint32_t reserved_109;
138*c59a5c48SFrançois Tigeot 	uint32_t reserved_110;
139*c59a5c48SFrançois Tigeot 	uint32_t reserved_111;
140*c59a5c48SFrançois Tigeot 	uint32_t reserved_112;
141*c59a5c48SFrançois Tigeot 	uint32_t reserved_113;
142*c59a5c48SFrançois Tigeot 	uint32_t reserved_114;
143*c59a5c48SFrançois Tigeot 	uint32_t reserved_115;
144*c59a5c48SFrançois Tigeot 	uint32_t reserved_116;
145*c59a5c48SFrançois Tigeot 	uint32_t reserved_117;
146*c59a5c48SFrançois Tigeot 	uint32_t reserved_118;
147*c59a5c48SFrançois Tigeot 	uint32_t reserved_119;
148*c59a5c48SFrançois Tigeot 	uint32_t reserved_120;
149*c59a5c48SFrançois Tigeot 	uint32_t reserved_121;
150*c59a5c48SFrançois Tigeot 	uint32_t reserved_122;
151*c59a5c48SFrançois Tigeot 	uint32_t reserved_123;
152*c59a5c48SFrançois Tigeot 	uint32_t reserved_124;
153*c59a5c48SFrançois Tigeot 	uint32_t reserved_125;
154*c59a5c48SFrançois Tigeot 	uint32_t reserved_126;
155*c59a5c48SFrançois Tigeot 	uint32_t reserved_127;
156*c59a5c48SFrançois Tigeot };
157*c59a5c48SFrançois Tigeot 
158*c59a5c48SFrançois Tigeot struct vi_mqd {
159*c59a5c48SFrançois Tigeot 	uint32_t header;
160*c59a5c48SFrançois Tigeot 	uint32_t compute_dispatch_initiator;
161*c59a5c48SFrançois Tigeot 	uint32_t compute_dim_x;
162*c59a5c48SFrançois Tigeot 	uint32_t compute_dim_y;
163*c59a5c48SFrançois Tigeot 	uint32_t compute_dim_z;
164*c59a5c48SFrançois Tigeot 	uint32_t compute_start_x;
165*c59a5c48SFrançois Tigeot 	uint32_t compute_start_y;
166*c59a5c48SFrançois Tigeot 	uint32_t compute_start_z;
167*c59a5c48SFrançois Tigeot 	uint32_t compute_num_thread_x;
168*c59a5c48SFrançois Tigeot 	uint32_t compute_num_thread_y;
169*c59a5c48SFrançois Tigeot 	uint32_t compute_num_thread_z;
170*c59a5c48SFrançois Tigeot 	uint32_t compute_pipelinestat_enable;
171*c59a5c48SFrançois Tigeot 	uint32_t compute_perfcount_enable;
172*c59a5c48SFrançois Tigeot 	uint32_t compute_pgm_lo;
173*c59a5c48SFrançois Tigeot 	uint32_t compute_pgm_hi;
174*c59a5c48SFrançois Tigeot 	uint32_t compute_tba_lo;
175*c59a5c48SFrançois Tigeot 	uint32_t compute_tba_hi;
176*c59a5c48SFrançois Tigeot 	uint32_t compute_tma_lo;
177*c59a5c48SFrançois Tigeot 	uint32_t compute_tma_hi;
178*c59a5c48SFrançois Tigeot 	uint32_t compute_pgm_rsrc1;
179*c59a5c48SFrançois Tigeot 	uint32_t compute_pgm_rsrc2;
180*c59a5c48SFrançois Tigeot 	uint32_t compute_vmid;
181*c59a5c48SFrançois Tigeot 	uint32_t compute_resource_limits;
182*c59a5c48SFrançois Tigeot 	uint32_t compute_static_thread_mgmt_se0;
183*c59a5c48SFrançois Tigeot 	uint32_t compute_static_thread_mgmt_se1;
184*c59a5c48SFrançois Tigeot 	uint32_t compute_tmpring_size;
185*c59a5c48SFrançois Tigeot 	uint32_t compute_static_thread_mgmt_se2;
186*c59a5c48SFrançois Tigeot 	uint32_t compute_static_thread_mgmt_se3;
187*c59a5c48SFrançois Tigeot 	uint32_t compute_restart_x;
188*c59a5c48SFrançois Tigeot 	uint32_t compute_restart_y;
189*c59a5c48SFrançois Tigeot 	uint32_t compute_restart_z;
190*c59a5c48SFrançois Tigeot 	uint32_t compute_thread_trace_enable;
191*c59a5c48SFrançois Tigeot 	uint32_t compute_misc_reserved;
192*c59a5c48SFrançois Tigeot 	uint32_t compute_dispatch_id;
193*c59a5c48SFrançois Tigeot 	uint32_t compute_threadgroup_id;
194*c59a5c48SFrançois Tigeot 	uint32_t compute_relaunch;
195*c59a5c48SFrançois Tigeot 	uint32_t compute_wave_restore_addr_lo;
196*c59a5c48SFrançois Tigeot 	uint32_t compute_wave_restore_addr_hi;
197*c59a5c48SFrançois Tigeot 	uint32_t compute_wave_restore_control;
198*c59a5c48SFrançois Tigeot 	uint32_t reserved_39;
199*c59a5c48SFrançois Tigeot 	uint32_t reserved_40;
200*c59a5c48SFrançois Tigeot 	uint32_t reserved_41;
201*c59a5c48SFrançois Tigeot 	uint32_t reserved_42;
202*c59a5c48SFrançois Tigeot 	uint32_t reserved_43;
203*c59a5c48SFrançois Tigeot 	uint32_t reserved_44;
204*c59a5c48SFrançois Tigeot 	uint32_t reserved_45;
205*c59a5c48SFrançois Tigeot 	uint32_t reserved_46;
206*c59a5c48SFrançois Tigeot 	uint32_t reserved_47;
207*c59a5c48SFrançois Tigeot 	uint32_t reserved_48;
208*c59a5c48SFrançois Tigeot 	uint32_t reserved_49;
209*c59a5c48SFrançois Tigeot 	uint32_t reserved_50;
210*c59a5c48SFrançois Tigeot 	uint32_t reserved_51;
211*c59a5c48SFrançois Tigeot 	uint32_t reserved_52;
212*c59a5c48SFrançois Tigeot 	uint32_t reserved_53;
213*c59a5c48SFrançois Tigeot 	uint32_t reserved_54;
214*c59a5c48SFrançois Tigeot 	uint32_t reserved_55;
215*c59a5c48SFrançois Tigeot 	uint32_t reserved_56;
216*c59a5c48SFrançois Tigeot 	uint32_t reserved_57;
217*c59a5c48SFrançois Tigeot 	uint32_t reserved_58;
218*c59a5c48SFrançois Tigeot 	uint32_t reserved_59;
219*c59a5c48SFrançois Tigeot 	uint32_t reserved_60;
220*c59a5c48SFrançois Tigeot 	uint32_t reserved_61;
221*c59a5c48SFrançois Tigeot 	uint32_t reserved_62;
222*c59a5c48SFrançois Tigeot 	uint32_t reserved_63;
223*c59a5c48SFrançois Tigeot 	uint32_t reserved_64;
224*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_0;
225*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_1;
226*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_2;
227*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_3;
228*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_4;
229*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_5;
230*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_6;
231*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_7;
232*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_8;
233*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_9;
234*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_10;
235*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_11;
236*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_12;
237*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_13;
238*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_14;
239*c59a5c48SFrançois Tigeot 	uint32_t compute_user_data_15;
240*c59a5c48SFrançois Tigeot 	uint32_t cp_compute_csinvoc_count_lo;
241*c59a5c48SFrançois Tigeot 	uint32_t cp_compute_csinvoc_count_hi;
242*c59a5c48SFrançois Tigeot 	uint32_t reserved_83;
243*c59a5c48SFrançois Tigeot 	uint32_t reserved_84;
244*c59a5c48SFrançois Tigeot 	uint32_t reserved_85;
245*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_query_time_lo;
246*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_query_time_hi;
247*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_connect_start_time_lo;
248*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_connect_start_time_hi;
249*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_connect_end_time_lo;
250*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_connect_end_time_hi;
251*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_connect_end_wf_count;
252*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_connect_end_pq_rptr;
253*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_connect_end_pq_wptr;
254*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_connect_end_ib_rptr;
255*c59a5c48SFrançois Tigeot 	uint32_t reserved_96;
256*c59a5c48SFrançois Tigeot 	uint32_t reserved_97;
257*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_save_start_time_lo;
258*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_save_start_time_hi;
259*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_save_end_time_lo;
260*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_save_end_time_hi;
261*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_restore_start_time_lo;
262*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_restore_start_time_hi;
263*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_restore_end_time_lo;
264*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_restore_end_time_hi;
265*c59a5c48SFrançois Tigeot 	uint32_t reserved_106;
266*c59a5c48SFrançois Tigeot 	uint32_t reserved_107;
267*c59a5c48SFrançois Tigeot 	uint32_t gds_cs_ctxsw_cnt0;
268*c59a5c48SFrançois Tigeot 	uint32_t gds_cs_ctxsw_cnt1;
269*c59a5c48SFrançois Tigeot 	uint32_t gds_cs_ctxsw_cnt2;
270*c59a5c48SFrançois Tigeot 	uint32_t gds_cs_ctxsw_cnt3;
271*c59a5c48SFrançois Tigeot 	uint32_t reserved_112;
272*c59a5c48SFrançois Tigeot 	uint32_t reserved_113;
273*c59a5c48SFrançois Tigeot 	uint32_t cp_pq_exe_status_lo;
274*c59a5c48SFrançois Tigeot 	uint32_t cp_pq_exe_status_hi;
275*c59a5c48SFrançois Tigeot 	uint32_t cp_packet_id_lo;
276*c59a5c48SFrançois Tigeot 	uint32_t cp_packet_id_hi;
277*c59a5c48SFrançois Tigeot 	uint32_t cp_packet_exe_status_lo;
278*c59a5c48SFrançois Tigeot 	uint32_t cp_packet_exe_status_hi;
279*c59a5c48SFrançois Tigeot 	uint32_t gds_save_base_addr_lo;
280*c59a5c48SFrançois Tigeot 	uint32_t gds_save_base_addr_hi;
281*c59a5c48SFrançois Tigeot 	uint32_t gds_save_mask_lo;
282*c59a5c48SFrançois Tigeot 	uint32_t gds_save_mask_hi;
283*c59a5c48SFrançois Tigeot 	uint32_t ctx_save_base_addr_lo;
284*c59a5c48SFrançois Tigeot 	uint32_t ctx_save_base_addr_hi;
285*c59a5c48SFrançois Tigeot 	uint32_t reserved_126;
286*c59a5c48SFrançois Tigeot 	uint32_t reserved_127;
287*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_base_addr_lo;
288*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_base_addr_hi;
289*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_active;
290*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_vmid;
291*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_persistent_state;
292*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_pipe_priority;
293*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_queue_priority;
294*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_quantum;
295*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_pq_base_lo;
296*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_pq_base_hi;
297*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_pq_rptr;
298*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_pq_rptr_report_addr_lo;
299*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_pq_rptr_report_addr_hi;
300*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_pq_wptr_poll_addr_lo;
301*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_pq_wptr_poll_addr_hi;
302*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_pq_doorbell_control;
303*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_pq_wptr;
304*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_pq_control;
305*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_ib_base_addr_lo;
306*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_ib_base_addr_hi;
307*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_ib_rptr;
308*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_ib_control;
309*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_iq_timer;
310*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_iq_rptr;
311*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_dequeue_request;
312*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_dma_offload;
313*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_sema_cmd;
314*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_msg_type;
315*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_atomic0_preop_lo;
316*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_atomic0_preop_hi;
317*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_atomic1_preop_lo;
318*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_atomic1_preop_hi;
319*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_hq_status0;
320*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_hq_control0;
321*c59a5c48SFrançois Tigeot 	uint32_t cp_mqd_control;
322*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_hq_status1;
323*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_hq_control1;
324*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_eop_base_addr_lo;
325*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_eop_base_addr_hi;
326*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_eop_control;
327*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_eop_rptr;
328*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_eop_wptr;
329*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_eop_done_events;
330*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_ctx_save_base_addr_lo;
331*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_ctx_save_base_addr_hi;
332*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_ctx_save_control;
333*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_cntl_stack_offset;
334*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_cntl_stack_size;
335*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_wg_state_offset;
336*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_ctx_save_size;
337*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_gds_resource_state;
338*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_error;
339*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_eop_wptr_mem;
340*c59a5c48SFrançois Tigeot 	uint32_t cp_hqd_eop_dones;
341*c59a5c48SFrançois Tigeot 	uint32_t reserved_182;
342*c59a5c48SFrançois Tigeot 	uint32_t reserved_183;
343*c59a5c48SFrançois Tigeot 	uint32_t reserved_184;
344*c59a5c48SFrançois Tigeot 	uint32_t reserved_185;
345*c59a5c48SFrançois Tigeot 	uint32_t reserved_186;
346*c59a5c48SFrançois Tigeot 	uint32_t reserved_187;
347*c59a5c48SFrançois Tigeot 	uint32_t reserved_188;
348*c59a5c48SFrançois Tigeot 	uint32_t reserved_189;
349*c59a5c48SFrançois Tigeot 	uint32_t reserved_190;
350*c59a5c48SFrançois Tigeot 	uint32_t reserved_191;
351*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_header;
352*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw0;
353*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw1;
354*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw2;
355*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw3;
356*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw4;
357*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw5;
358*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw6;
359*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw7;
360*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw8;
361*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw9;
362*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw10;
363*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw11;
364*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw12;
365*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw13;
366*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw14;
367*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw15;
368*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw16;
369*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw17;
370*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw18;
371*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw19;
372*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw20;
373*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw21;
374*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw22;
375*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw23;
376*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw24;
377*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw25;
378*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw26;
379*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw27;
380*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw28;
381*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw29;
382*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw30;
383*c59a5c48SFrançois Tigeot 	uint32_t iqtimer_pkt_dw31;
384*c59a5c48SFrançois Tigeot 	uint32_t reserved_225;
385*c59a5c48SFrançois Tigeot 	uint32_t reserved_226;
386*c59a5c48SFrançois Tigeot 	uint32_t reserved_227;
387*c59a5c48SFrançois Tigeot 	uint32_t set_resources_header;
388*c59a5c48SFrançois Tigeot 	uint32_t set_resources_dw1;
389*c59a5c48SFrançois Tigeot 	uint32_t set_resources_dw2;
390*c59a5c48SFrançois Tigeot 	uint32_t set_resources_dw3;
391*c59a5c48SFrançois Tigeot 	uint32_t set_resources_dw4;
392*c59a5c48SFrançois Tigeot 	uint32_t set_resources_dw5;
393*c59a5c48SFrançois Tigeot 	uint32_t set_resources_dw6;
394*c59a5c48SFrançois Tigeot 	uint32_t set_resources_dw7;
395*c59a5c48SFrançois Tigeot 	uint32_t reserved_236;
396*c59a5c48SFrançois Tigeot 	uint32_t reserved_237;
397*c59a5c48SFrançois Tigeot 	uint32_t reserved_238;
398*c59a5c48SFrançois Tigeot 	uint32_t reserved_239;
399*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id0;
400*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id1;
401*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id2;
402*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id3;
403*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id4;
404*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id5;
405*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id6;
406*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id7;
407*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id8;
408*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id9;
409*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id10;
410*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id11;
411*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id12;
412*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id13;
413*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id14;
414*c59a5c48SFrançois Tigeot 	uint32_t queue_doorbell_id15;
415*c59a5c48SFrançois Tigeot };
416*c59a5c48SFrançois Tigeot 
417*c59a5c48SFrançois Tigeot #endif /* VI_STRUCTS_H_ */
418