v10_structs.h 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257
  1. /*
  2. * Copyright 2019 Advanced Micro Devices, Inc.
  3. *
  4. * Permission is hereby granted, free of charge, to any person obtaining a
  5. * copy of this software and associated documentation files (the "Software"),
  6. * to deal in the Software without restriction, including without limitation
  7. * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  8. * and/or sell copies of the Software, and to permit persons to whom the
  9. * Software is furnished to do so, subject to the following conditions:
  10. *
  11. * The above copyright notice and this permission notice shall be included in
  12. * all copies or substantial portions of the Software.
  13. *
  14. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  17. * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
  18. * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  19. * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  20. * OTHER DEALINGS IN THE SOFTWARE.
  21. *
  22. */
  23. #ifndef V10_STRUCTS_H_
  24. #define V10_STRUCTS_H_
  25. struct v10_gfx_mqd {
  26. uint32_t reserved_0; // offset: 0 (0x0)
  27. uint32_t reserved_1; // offset: 1 (0x1)
  28. uint32_t reserved_2; // offset: 2 (0x2)
  29. uint32_t reserved_3; // offset: 3 (0x3)
  30. uint32_t reserved_4; // offset: 4 (0x4)
  31. uint32_t reserved_5; // offset: 5 (0x5)
  32. uint32_t reserved_6; // offset: 6 (0x6)
  33. uint32_t reserved_7; // offset: 7 (0x7)
  34. uint32_t reserved_8; // offset: 8 (0x8)
  35. uint32_t reserved_9; // offset: 9 (0x9)
  36. uint32_t reserved_10; // offset: 10 (0xA)
  37. uint32_t reserved_11; // offset: 11 (0xB)
  38. uint32_t reserved_12; // offset: 12 (0xC)
  39. uint32_t reserved_13; // offset: 13 (0xD)
  40. uint32_t reserved_14; // offset: 14 (0xE)
  41. uint32_t reserved_15; // offset: 15 (0xF)
  42. uint32_t reserved_16; // offset: 16 (0x10)
  43. uint32_t reserved_17; // offset: 17 (0x11)
  44. uint32_t reserved_18; // offset: 18 (0x12)
  45. uint32_t reserved_19; // offset: 19 (0x13)
  46. uint32_t reserved_20; // offset: 20 (0x14)
  47. uint32_t reserved_21; // offset: 21 (0x15)
  48. uint32_t reserved_22; // offset: 22 (0x16)
  49. uint32_t reserved_23; // offset: 23 (0x17)
  50. uint32_t reserved_24; // offset: 24 (0x18)
  51. uint32_t reserved_25; // offset: 25 (0x19)
  52. uint32_t reserved_26; // offset: 26 (0x1A)
  53. uint32_t reserved_27; // offset: 27 (0x1B)
  54. uint32_t reserved_28; // offset: 28 (0x1C)
  55. uint32_t reserved_29; // offset: 29 (0x1D)
  56. uint32_t reserved_30; // offset: 30 (0x1E)
  57. uint32_t reserved_31; // offset: 31 (0x1F)
  58. uint32_t reserved_32; // offset: 32 (0x20)
  59. uint32_t reserved_33; // offset: 33 (0x21)
  60. uint32_t reserved_34; // offset: 34 (0x22)
  61. uint32_t reserved_35; // offset: 35 (0x23)
  62. uint32_t reserved_36; // offset: 36 (0x24)
  63. uint32_t reserved_37; // offset: 37 (0x25)
  64. uint32_t reserved_38; // offset: 38 (0x26)
  65. uint32_t reserved_39; // offset: 39 (0x27)
  66. uint32_t reserved_40; // offset: 40 (0x28)
  67. uint32_t reserved_41; // offset: 41 (0x29)
  68. uint32_t reserved_42; // offset: 42 (0x2A)
  69. uint32_t reserved_43; // offset: 43 (0x2B)
  70. uint32_t reserved_44; // offset: 44 (0x2C)
  71. uint32_t reserved_45; // offset: 45 (0x2D)
  72. uint32_t reserved_46; // offset: 46 (0x2E)
  73. uint32_t reserved_47; // offset: 47 (0x2F)
  74. uint32_t reserved_48; // offset: 48 (0x30)
  75. uint32_t reserved_49; // offset: 49 (0x31)
  76. uint32_t reserved_50; // offset: 50 (0x32)
  77. uint32_t reserved_51; // offset: 51 (0x33)
  78. uint32_t reserved_52; // offset: 52 (0x34)
  79. uint32_t reserved_53; // offset: 53 (0x35)
  80. uint32_t reserved_54; // offset: 54 (0x36)
  81. uint32_t reserved_55; // offset: 55 (0x37)
  82. uint32_t reserved_56; // offset: 56 (0x38)
  83. uint32_t reserved_57; // offset: 57 (0x39)
  84. uint32_t reserved_58; // offset: 58 (0x3A)
  85. uint32_t reserved_59; // offset: 59 (0x3B)
  86. uint32_t reserved_60; // offset: 60 (0x3C)
  87. uint32_t reserved_61; // offset: 61 (0x3D)
  88. uint32_t reserved_62; // offset: 62 (0x3E)
  89. uint32_t reserved_63; // offset: 63 (0x3F)
  90. uint32_t reserved_64; // offset: 64 (0x40)
  91. uint32_t reserved_65; // offset: 65 (0x41)
  92. uint32_t reserved_66; // offset: 66 (0x42)
  93. uint32_t reserved_67; // offset: 67 (0x43)
  94. uint32_t reserved_68; // offset: 68 (0x44)
  95. uint32_t reserved_69; // offset: 69 (0x45)
  96. uint32_t reserved_70; // offset: 70 (0x46)
  97. uint32_t reserved_71; // offset: 71 (0x47)
  98. uint32_t reserved_72; // offset: 72 (0x48)
  99. uint32_t reserved_73; // offset: 73 (0x49)
  100. uint32_t reserved_74; // offset: 74 (0x4A)
  101. uint32_t reserved_75; // offset: 75 (0x4B)
  102. uint32_t reserved_76; // offset: 76 (0x4C)
  103. uint32_t reserved_77; // offset: 77 (0x4D)
  104. uint32_t reserved_78; // offset: 78 (0x4E)
  105. uint32_t reserved_79; // offset: 79 (0x4F)
  106. uint32_t reserved_80; // offset: 80 (0x50)
  107. uint32_t reserved_81; // offset: 81 (0x51)
  108. uint32_t reserved_82; // offset: 82 (0x52)
  109. uint32_t reserved_83; // offset: 83 (0x53)
  110. uint32_t reserved_84; // offset: 84 (0x54)
  111. uint32_t reserved_85; // offset: 85 (0x55)
  112. uint32_t reserved_86; // offset: 86 (0x56)
  113. uint32_t reserved_87; // offset: 87 (0x57)
  114. uint32_t reserved_88; // offset: 88 (0x58)
  115. uint32_t reserved_89; // offset: 89 (0x59)
  116. uint32_t reserved_90; // offset: 90 (0x5A)
  117. uint32_t reserved_91; // offset: 91 (0x5B)
  118. uint32_t reserved_92; // offset: 92 (0x5C)
  119. uint32_t reserved_93; // offset: 93 (0x5D)
  120. uint32_t reserved_94; // offset: 94 (0x5E)
  121. uint32_t reserved_95; // offset: 95 (0x5F)
  122. uint32_t reserved_96; // offset: 96 (0x60)
  123. uint32_t reserved_97; // offset: 97 (0x61)
  124. uint32_t reserved_98; // offset: 98 (0x62)
  125. uint32_t reserved_99; // offset: 99 (0x63)
  126. uint32_t reserved_100; // offset: 100 (0x64)
  127. uint32_t reserved_101; // offset: 101 (0x65)
  128. uint32_t reserved_102; // offset: 102 (0x66)
  129. uint32_t reserved_103; // offset: 103 (0x67)
  130. uint32_t reserved_104; // offset: 104 (0x68)
  131. uint32_t reserved_105; // offset: 105 (0x69)
  132. uint32_t disable_queue; // offset: 106 (0x6A)
  133. uint32_t reserved_107; // offset: 107 (0x6B)
  134. uint32_t reserved_108; // offset: 108 (0x6C)
  135. uint32_t reserved_109; // offset: 109 (0x6D)
  136. uint32_t reserved_110; // offset: 110 (0x6E)
  137. uint32_t reserved_111; // offset: 111 (0x6F)
  138. uint32_t reserved_112; // offset: 112 (0x70)
  139. uint32_t reserved_113; // offset: 113 (0x71)
  140. uint32_t reserved_114; // offset: 114 (0x72)
  141. uint32_t reserved_115; // offset: 115 (0x73)
  142. uint32_t reserved_116; // offset: 116 (0x74)
  143. uint32_t reserved_117; // offset: 117 (0x75)
  144. uint32_t reserved_118; // offset: 118 (0x76)
  145. uint32_t reserved_119; // offset: 119 (0x77)
  146. uint32_t reserved_120; // offset: 120 (0x78)
  147. uint32_t reserved_121; // offset: 121 (0x79)
  148. uint32_t reserved_122; // offset: 122 (0x7A)
  149. uint32_t reserved_123; // offset: 123 (0x7B)
  150. uint32_t reserved_124; // offset: 124 (0x7C)
  151. uint32_t reserved_125; // offset: 125 (0x7D)
  152. uint32_t reserved_126; // offset: 126 (0x7E)
  153. uint32_t reserved_127; // offset: 127 (0x7F)
  154. uint32_t cp_mqd_base_addr; // offset: 128 (0x80)
  155. uint32_t cp_mqd_base_addr_hi; // offset: 129 (0x81)
  156. uint32_t cp_gfx_hqd_active; // offset: 130 (0x82)
  157. uint32_t cp_gfx_hqd_vmid; // offset: 131 (0x83)
  158. uint32_t reserved_131; // offset: 132 (0x84)
  159. uint32_t reserved_132; // offset: 133 (0x85)
  160. uint32_t cp_gfx_hqd_queue_priority; // offset: 134 (0x86)
  161. uint32_t cp_gfx_hqd_quantum; // offset: 135 (0x87)
  162. uint32_t cp_gfx_hqd_base; // offset: 136 (0x88)
  163. uint32_t cp_gfx_hqd_base_hi; // offset: 137 (0x89)
  164. uint32_t cp_gfx_hqd_rptr; // offset: 138 (0x8A)
  165. uint32_t cp_gfx_hqd_rptr_addr; // offset: 139 (0x8B)
  166. uint32_t cp_gfx_hqd_rptr_addr_hi; // offset: 140 (0x8C)
  167. uint32_t cp_rb_wptr_poll_addr_lo; // offset: 141 (0x8D)
  168. uint32_t cp_rb_wptr_poll_addr_hi; // offset: 142 (0x8E)
  169. uint32_t cp_rb_doorbell_control; // offset: 143 (0x8F)
  170. uint32_t cp_gfx_hqd_offset; // offset: 144 (0x90)
  171. uint32_t cp_gfx_hqd_cntl; // offset: 145 (0x91)
  172. uint32_t reserved_146; // offset: 146 (0x92)
  173. uint32_t reserved_147; // offset: 147 (0x93)
  174. uint32_t cp_gfx_hqd_csmd_rptr; // offset: 148 (0x94)
  175. uint32_t cp_gfx_hqd_wptr; // offset: 149 (0x95)
  176. uint32_t cp_gfx_hqd_wptr_hi; // offset: 150 (0x96)
  177. uint32_t reserved_151; // offset: 151 (0x97)
  178. uint32_t reserved_152; // offset: 152 (0x98)
  179. uint32_t reserved_153; // offset: 153 (0x99)
  180. uint32_t reserved_154; // offset: 154 (0x9A)
  181. uint32_t reserved_155; // offset: 155 (0x9B)
  182. uint32_t cp_gfx_hqd_mapped; // offset: 156 (0x9C)
  183. uint32_t cp_gfx_hqd_que_mgr_control; // offset: 157 (0x9D)
  184. uint32_t reserved_158; // offset: 158 (0x9E)
  185. uint32_t reserved_159; // offset: 159 (0x9F)
  186. uint32_t cp_gfx_hqd_hq_status0; // offset: 160 (0xA0)
  187. uint32_t cp_gfx_hqd_hq_control0; // offset: 161 (0xA1)
  188. uint32_t cp_gfx_mqd_control; // offset: 162 (0xA2)
  189. uint32_t reserved_163; // offset: 163 (0xA3)
  190. uint32_t reserved_164; // offset: 164 (0xA4)
  191. uint32_t reserved_165; // offset: 165 (0xA5)
  192. uint32_t reserved_166; // offset: 166 (0xA6)
  193. uint32_t reserved_167; // offset: 167 (0xA7)
  194. uint32_t reserved_168; // offset: 168 (0xA8)
  195. uint32_t reserved_169; // offset: 169 (0xA9)
  196. uint32_t cp_num_prim_needed_count0_lo; // offset: 170 (0xAA)
  197. uint32_t cp_num_prim_needed_count0_hi; // offset: 171 (0xAB)
  198. uint32_t cp_num_prim_needed_count1_lo; // offset: 172 (0xAC)
  199. uint32_t cp_num_prim_needed_count1_hi; // offset: 173 (0xAD)
  200. uint32_t cp_num_prim_needed_count2_lo; // offset: 174 (0xAE)
  201. uint32_t cp_num_prim_needed_count2_hi; // offset: 175 (0xAF)
  202. uint32_t cp_num_prim_needed_count3_lo; // offset: 176 (0xB0)
  203. uint32_t cp_num_prim_needed_count3_hi; // offset: 177 (0xB1)
  204. uint32_t cp_num_prim_written_count0_lo; // offset: 178 (0xB2)
  205. uint32_t cp_num_prim_written_count0_hi; // offset: 179 (0xB3)
  206. uint32_t cp_num_prim_written_count1_lo; // offset: 180 (0xB4)
  207. uint32_t cp_num_prim_written_count1_hi; // offset: 181 (0xB5)
  208. uint32_t cp_num_prim_written_count2_lo; // offset: 182 (0xB6)
  209. uint32_t cp_num_prim_written_count2_hi; // offset: 183 (0xB7)
  210. uint32_t cp_num_prim_written_count3_lo; // offset: 184 (0xB8)
  211. uint32_t cp_num_prim_written_count3_hi; // offset: 185 (0xB9)
  212. uint32_t reserved_186; // offset: 186 (0xBA)
  213. uint32_t reserved_187; // offset: 187 (0xBB)
  214. uint32_t reserved_188; // offset: 188 (0xBC)
  215. uint32_t reserved_189; // offset: 189 (0xBD)
  216. uint32_t mp1_smn_fps_cnt; // offset: 190 (0xBE)
  217. uint32_t sq_thread_trace_buf0_base; // offset: 191 (0xBF)
  218. uint32_t sq_thread_trace_buf0_size; // offset: 192 (0xC0)
  219. uint32_t sq_thread_trace_buf1_base; // offset: 193 (0xC1)
  220. uint32_t sq_thread_trace_buf1_size; // offset: 194 (0xC2)
  221. uint32_t sq_thread_trace_wptr; // offset: 195 (0xC3)
  222. uint32_t sq_thread_trace_mask; // offset: 196 (0xC4)
  223. uint32_t sq_thread_trace_token_mask; // offset: 197 (0xC5)
  224. uint32_t sq_thread_trace_ctrl; // offset: 198 (0xC6)
  225. uint32_t sq_thread_trace_status; // offset: 199 (0xC7)
  226. uint32_t sq_thread_trace_dropped_cntr; // offset: 200 (0xC8)
  227. uint32_t sq_thread_trace_finish_done_debug; // offset: 201 (0xC9)
  228. uint32_t sq_thread_trace_gfx_draw_cntr; // offset: 202 (0xCA)
  229. uint32_t sq_thread_trace_gfx_marker_cntr; // offset: 203 (0xCB)
  230. uint32_t sq_thread_trace_hp3d_draw_cntr; // offset: 204 (0xCC)
  231. uint32_t sq_thread_trace_hp3d_marker_cntr; // offset: 205 (0xCD)
  232. uint32_t reserved_206; // offset: 206 (0xCE)
  233. uint32_t reserved_207; // offset: 207 (0xCF)
  234. uint32_t cp_sc_psinvoc_count0_lo; // offset: 208 (0xD0)
  235. uint32_t cp_sc_psinvoc_count0_hi; // offset: 209 (0xD1)
  236. uint32_t cp_pa_cprim_count_lo; // offset: 210 (0xD2)
  237. uint32_t cp_pa_cprim_count_hi; // offset: 211 (0xD3)
  238. uint32_t cp_pa_cinvoc_count_lo; // offset: 212 (0xD4)
  239. uint32_t cp_pa_cinvoc_count_hi; // offset: 213 (0xD5)
  240. uint32_t cp_vgt_vsinvoc_count_lo; // offset: 214 (0xD6)
  241. uint32_t cp_vgt_vsinvoc_count_hi; // offset: 215 (0xD7)
  242. uint32_t cp_vgt_gsinvoc_count_lo; // offset: 216 (0xD8)
  243. uint32_t cp_vgt_gsinvoc_count_hi; // offset: 217 (0xD9)
  244. uint32_t cp_vgt_gsprim_count_lo; // offset: 218 (0xDA)
  245. uint32_t cp_vgt_gsprim_count_hi; // offset: 219 (0xDB)
  246. uint32_t cp_vgt_iaprim_count_lo; // offset: 220 (0xDC)
  247. uint32_t cp_vgt_iaprim_count_hi; // offset: 221 (0xDD)
  248. uint32_t cp_vgt_iavert_count_lo; // offset: 222 (0xDE)
  249. uint32_t cp_vgt_iavert_count_hi; // offset: 223 (0xDF)
  250. uint32_t cp_vgt_hsinvoc_count_lo; // offset: 224 (0xE0)
  251. uint32_t cp_vgt_hsinvoc_count_hi; // offset: 225 (0xE1)
  252. uint32_t cp_vgt_dsinvoc_count_lo; // offset: 226 (0xE2)
  253. uint32_t cp_vgt_dsinvoc_count_hi; // offset: 227 (0xE3)
  254. uint32_t cp_vgt_csinvoc_count_lo; // offset: 228 (0xE4)
  255. uint32_t cp_vgt_csinvoc_count_hi; // offset: 229 (0xE5)
  256. uint32_t reserved_230; // offset: 230 (0xE6)
  257. uint32_t reserved_231; // offset: 231 (0xE7)
  258. uint32_t reserved_232; // offset: 232 (0xE8)
  259. uint32_t reserved_233; // offset: 233 (0xE9)
  260. uint32_t reserved_234; // offset: 234 (0xEA)
  261. uint32_t reserved_235; // offset: 235 (0xEB)
  262. uint32_t reserved_236; // offset: 236 (0xEC)
  263. uint32_t reserved_237; // offset: 237 (0xED)
  264. uint32_t reserved_238; // offset: 238 (0xEE)
  265. uint32_t reserved_239; // offset: 239 (0xEF)
  266. uint32_t reserved_240; // offset: 240 (0xF0)
  267. uint32_t reserved_241; // offset: 241 (0xF1)
  268. uint32_t reserved_242; // offset: 242 (0xF2)
  269. uint32_t reserved_243; // offset: 243 (0xF3)
  270. uint32_t reserved_244; // offset: 244 (0xF4)
  271. uint32_t reserved_245; // offset: 245 (0xF5)
  272. uint32_t reserved_246; // offset: 246 (0xF6)
  273. uint32_t reserved_247; // offset: 247 (0xF7)
  274. uint32_t reserved_248; // offset: 248 (0xF8)
  275. uint32_t reserved_249; // offset: 249 (0xF9)
  276. uint32_t reserved_250; // offset: 250 (0xFA)
  277. uint32_t reserved_251; // offset: 251 (0xFB)
  278. uint32_t reserved_252; // offset: 252 (0xFC)
  279. uint32_t reserved_253; // offset: 253 (0xFD)
  280. uint32_t reserved_254; // offset: 254 (0xFE)
  281. uint32_t reserved_255; // offset: 255 (0xFF)
  282. uint32_t reserved_256; // offset: 256 (0x100)
  283. uint32_t reserved_257; // offset: 257 (0x101)
  284. uint32_t reserved_258; // offset: 258 (0x102)
  285. uint32_t reserved_259; // offset: 259 (0x103)
  286. uint32_t reserved_260; // offset: 260 (0x104)
  287. uint32_t reserved_261; // offset: 261 (0x105)
  288. uint32_t reserved_262; // offset: 262 (0x106)
  289. uint32_t reserved_263; // offset: 263 (0x107)
  290. uint32_t reserved_264; // offset: 264 (0x108)
  291. uint32_t reserved_265; // offset: 265 (0x109)
  292. uint32_t reserved_266; // offset: 266 (0x10A)
  293. uint32_t reserved_267; // offset: 267 (0x10B)
  294. uint32_t vgt_strmout_buffer_filled_size_0; // offset: 268 (0x10C)
  295. uint32_t vgt_strmout_buffer_filled_size_1; // offset: 269 (0x10D)
  296. uint32_t vgt_strmout_buffer_filled_size_2; // offset: 270 (0x10E)
  297. uint32_t vgt_strmout_buffer_filled_size_3; // offset: 271 (0x10F)
  298. uint32_t reserved_272; // offset: 272 (0x110)
  299. uint32_t reserved_273; // offset: 273 (0x111)
  300. uint32_t reserved_274; // offset: 274 (0x112)
  301. uint32_t reserved_275; // offset: 275 (0x113)
  302. uint32_t vgt_dma_max_size; // offset: 276 (0x114)
  303. uint32_t vgt_dma_num_instances; // offset: 277 (0x115)
  304. uint32_t reserved_278; // offset: 278 (0x116)
  305. uint32_t reserved_279; // offset: 279 (0x117)
  306. uint32_t reserved_280; // offset: 280 (0x118)
  307. uint32_t reserved_281; // offset: 281 (0x119)
  308. uint32_t reserved_282; // offset: 282 (0x11A)
  309. uint32_t reserved_283; // offset: 283 (0x11B)
  310. uint32_t reserved_284; // offset: 284 (0x11C)
  311. uint32_t reserved_285; // offset: 285 (0x11D)
  312. uint32_t reserved_286; // offset: 286 (0x11E)
  313. uint32_t reserved_287; // offset: 287 (0x11F)
  314. uint32_t it_set_base_ib_addr_lo; // offset: 288 (0x120)
  315. uint32_t it_set_base_ib_addr_hi; // offset: 289 (0x121)
  316. uint32_t reserved_290; // offset: 290 (0x122)
  317. uint32_t reserved_291; // offset: 291 (0x123)
  318. uint32_t reserved_292; // offset: 292 (0x124)
  319. uint32_t reserved_293; // offset: 293 (0x125)
  320. uint32_t reserved_294; // offset: 294 (0x126)
  321. uint32_t reserved_295; // offset: 295 (0x127)
  322. uint32_t reserved_296; // offset: 296 (0x128)
  323. uint32_t reserved_297; // offset: 297 (0x129)
  324. uint32_t reserved_298; // offset: 298 (0x12A)
  325. uint32_t reserved_299; // offset: 299 (0x12B)
  326. uint32_t reserved_300; // offset: 300 (0x12C)
  327. uint32_t reserved_301; // offset: 301 (0x12D)
  328. uint32_t reserved_302; // offset: 302 (0x12E)
  329. uint32_t reserved_303; // offset: 303 (0x12F)
  330. uint32_t reserved_304; // offset: 304 (0x130)
  331. uint32_t reserved_305; // offset: 305 (0x131)
  332. uint32_t reserved_306; // offset: 306 (0x132)
  333. uint32_t reserved_307; // offset: 307 (0x133)
  334. uint32_t reserved_308; // offset: 308 (0x134)
  335. uint32_t reserved_309; // offset: 309 (0x135)
  336. uint32_t reserved_310; // offset: 310 (0x136)
  337. uint32_t reserved_311; // offset: 311 (0x137)
  338. uint32_t reserved_312; // offset: 312 (0x138)
  339. uint32_t reserved_313; // offset: 313 (0x139)
  340. uint32_t reserved_314; // offset: 314 (0x13A)
  341. uint32_t reserved_315; // offset: 315 (0x13B)
  342. uint32_t reserved_316; // offset: 316 (0x13C)
  343. uint32_t reserved_317; // offset: 317 (0x13D)
  344. uint32_t reserved_318; // offset: 318 (0x13E)
  345. uint32_t reserved_319; // offset: 319 (0x13F)
  346. uint32_t reserved_320; // offset: 320 (0x140)
  347. uint32_t reserved_321; // offset: 321 (0x141)
  348. uint32_t reserved_322; // offset: 322 (0x142)
  349. uint32_t reserved_323; // offset: 323 (0x143)
  350. uint32_t reserved_324; // offset: 324 (0x144)
  351. uint32_t reserved_325; // offset: 325 (0x145)
  352. uint32_t reserved_326; // offset: 326 (0x146)
  353. uint32_t reserved_327; // offset: 327 (0x147)
  354. uint32_t reserved_328; // offset: 328 (0x148)
  355. uint32_t reserved_329; // offset: 329 (0x149)
  356. uint32_t reserved_330; // offset: 330 (0x14A)
  357. uint32_t reserved_331; // offset: 331 (0x14B)
  358. uint32_t reserved_332; // offset: 332 (0x14C)
  359. uint32_t reserved_333; // offset: 333 (0x14D)
  360. uint32_t reserved_334; // offset: 334 (0x14E)
  361. uint32_t reserved_335; // offset: 335 (0x14F)
  362. uint32_t reserved_336; // offset: 336 (0x150)
  363. uint32_t reserved_337; // offset: 337 (0x151)
  364. uint32_t reserved_338; // offset: 338 (0x152)
  365. uint32_t reserved_339; // offset: 339 (0x153)
  366. uint32_t reserved_340; // offset: 340 (0x154)
  367. uint32_t reserved_341; // offset: 341 (0x155)
  368. uint32_t reserved_342; // offset: 342 (0x156)
  369. uint32_t reserved_343; // offset: 343 (0x157)
  370. uint32_t reserved_344; // offset: 344 (0x158)
  371. uint32_t reserved_345; // offset: 345 (0x159)
  372. uint32_t reserved_346; // offset: 346 (0x15A)
  373. uint32_t reserved_347; // offset: 347 (0x15B)
  374. uint32_t reserved_348; // offset: 348 (0x15C)
  375. uint32_t reserved_349; // offset: 349 (0x15D)
  376. uint32_t reserved_350; // offset: 350 (0x15E)
  377. uint32_t reserved_351; // offset: 351 (0x15F)
  378. uint32_t reserved_352; // offset: 352 (0x160)
  379. uint32_t reserved_353; // offset: 353 (0x161)
  380. uint32_t reserved_354; // offset: 354 (0x162)
  381. uint32_t reserved_355; // offset: 355 (0x163)
  382. uint32_t spi_shader_pgm_rsrc3_ps; // offset: 356 (0x164)
  383. uint32_t spi_shader_pgm_rsrc3_vs; // offset: 357 (0x165)
  384. uint32_t spi_shader_pgm_rsrc3_gs; // offset: 358 (0x166)
  385. uint32_t spi_shader_pgm_rsrc3_hs; // offset: 359 (0x167)
  386. uint32_t spi_shader_pgm_rsrc4_ps; // offset: 360 (0x168)
  387. uint32_t spi_shader_pgm_rsrc4_vs; // offset: 361 (0x169)
  388. uint32_t spi_shader_pgm_rsrc4_gs; // offset: 362 (0x16A)
  389. uint32_t spi_shader_pgm_rsrc4_hs; // offset: 363 (0x16B)
  390. uint32_t db_occlusion_count0_low_00; // offset: 364 (0x16C)
  391. uint32_t db_occlusion_count0_hi_00; // offset: 365 (0x16D)
  392. uint32_t db_occlusion_count1_low_00; // offset: 366 (0x16E)
  393. uint32_t db_occlusion_count1_hi_00; // offset: 367 (0x16F)
  394. uint32_t db_occlusion_count2_low_00; // offset: 368 (0x170)
  395. uint32_t db_occlusion_count2_hi_00; // offset: 369 (0x171)
  396. uint32_t db_occlusion_count3_low_00; // offset: 370 (0x172)
  397. uint32_t db_occlusion_count3_hi_00; // offset: 371 (0x173)
  398. uint32_t db_occlusion_count0_low_01; // offset: 372 (0x174)
  399. uint32_t db_occlusion_count0_hi_01; // offset: 373 (0x175)
  400. uint32_t db_occlusion_count1_low_01; // offset: 374 (0x176)
  401. uint32_t db_occlusion_count1_hi_01; // offset: 375 (0x177)
  402. uint32_t db_occlusion_count2_low_01; // offset: 376 (0x178)
  403. uint32_t db_occlusion_count2_hi_01; // offset: 377 (0x179)
  404. uint32_t db_occlusion_count3_low_01; // offset: 378 (0x17A)
  405. uint32_t db_occlusion_count3_hi_01; // offset: 379 (0x17B)
  406. uint32_t db_occlusion_count0_low_02; // offset: 380 (0x17C)
  407. uint32_t db_occlusion_count0_hi_02; // offset: 381 (0x17D)
  408. uint32_t db_occlusion_count1_low_02; // offset: 382 (0x17E)
  409. uint32_t db_occlusion_count1_hi_02; // offset: 383 (0x17F)
  410. uint32_t db_occlusion_count2_low_02; // offset: 384 (0x180)
  411. uint32_t db_occlusion_count2_hi_02; // offset: 385 (0x181)
  412. uint32_t db_occlusion_count3_low_02; // offset: 386 (0x182)
  413. uint32_t db_occlusion_count3_hi_02; // offset: 387 (0x183)
  414. uint32_t db_occlusion_count0_low_03; // offset: 388 (0x184)
  415. uint32_t db_occlusion_count0_hi_03; // offset: 389 (0x185)
  416. uint32_t db_occlusion_count1_low_03; // offset: 390 (0x186)
  417. uint32_t db_occlusion_count1_hi_03; // offset: 391 (0x187)
  418. uint32_t db_occlusion_count2_low_03; // offset: 392 (0x188)
  419. uint32_t db_occlusion_count2_hi_03; // offset: 393 (0x189)
  420. uint32_t db_occlusion_count3_low_03; // offset: 394 (0x18A)
  421. uint32_t db_occlusion_count3_hi_03; // offset: 395 (0x18B)
  422. uint32_t db_occlusion_count0_low_04; // offset: 396 (0x18C)
  423. uint32_t db_occlusion_count0_hi_04; // offset: 397 (0x18D)
  424. uint32_t db_occlusion_count1_low_04; // offset: 398 (0x18E)
  425. uint32_t db_occlusion_count1_hi_04; // offset: 399 (0x18F)
  426. uint32_t db_occlusion_count2_low_04; // offset: 400 (0x190)
  427. uint32_t db_occlusion_count2_hi_04; // offset: 401 (0x191)
  428. uint32_t db_occlusion_count3_low_04; // offset: 402 (0x192)
  429. uint32_t db_occlusion_count3_hi_04; // offset: 403 (0x193)
  430. uint32_t db_occlusion_count0_low_05; // offset: 404 (0x194)
  431. uint32_t db_occlusion_count0_hi_05; // offset: 405 (0x195)
  432. uint32_t db_occlusion_count1_low_05; // offset: 406 (0x196)
  433. uint32_t db_occlusion_count1_hi_05; // offset: 407 (0x197)
  434. uint32_t db_occlusion_count2_low_05; // offset: 408 (0x198)
  435. uint32_t db_occlusion_count2_hi_05; // offset: 409 (0x199)
  436. uint32_t db_occlusion_count3_low_05; // offset: 410 (0x19A)
  437. uint32_t db_occlusion_count3_hi_05; // offset: 411 (0x19B)
  438. uint32_t db_occlusion_count0_low_06; // offset: 412 (0x19C)
  439. uint32_t db_occlusion_count0_hi_06; // offset: 413 (0x19D)
  440. uint32_t db_occlusion_count1_low_06; // offset: 414 (0x19E)
  441. uint32_t db_occlusion_count1_hi_06; // offset: 415 (0x19F)
  442. uint32_t db_occlusion_count2_low_06; // offset: 416 (0x1A0)
  443. uint32_t db_occlusion_count2_hi_06; // offset: 417 (0x1A1)
  444. uint32_t db_occlusion_count3_low_06; // offset: 418 (0x1A2)
  445. uint32_t db_occlusion_count3_hi_06; // offset: 419 (0x1A3)
  446. uint32_t db_occlusion_count0_low_07; // offset: 420 (0x1A4)
  447. uint32_t db_occlusion_count0_hi_07; // offset: 421 (0x1A5)
  448. uint32_t db_occlusion_count1_low_07; // offset: 422 (0x1A6)
  449. uint32_t db_occlusion_count1_hi_07; // offset: 423 (0x1A7)
  450. uint32_t db_occlusion_count2_low_07; // offset: 424 (0x1A8)
  451. uint32_t db_occlusion_count2_hi_07; // offset: 425 (0x1A9)
  452. uint32_t db_occlusion_count3_low_07; // offset: 426 (0x1AA)
  453. uint32_t db_occlusion_count3_hi_07; // offset: 427 (0x1AB)
  454. uint32_t db_occlusion_count0_low_10; // offset: 428 (0x1AC)
  455. uint32_t db_occlusion_count0_hi_10; // offset: 429 (0x1AD)
  456. uint32_t db_occlusion_count1_low_10; // offset: 430 (0x1AE)
  457. uint32_t db_occlusion_count1_hi_10; // offset: 431 (0x1AF)
  458. uint32_t db_occlusion_count2_low_10; // offset: 432 (0x1B0)
  459. uint32_t db_occlusion_count2_hi_10; // offset: 433 (0x1B1)
  460. uint32_t db_occlusion_count3_low_10; // offset: 434 (0x1B2)
  461. uint32_t db_occlusion_count3_hi_10; // offset: 435 (0x1B3)
  462. uint32_t db_occlusion_count0_low_11; // offset: 436 (0x1B4)
  463. uint32_t db_occlusion_count0_hi_11; // offset: 437 (0x1B5)
  464. uint32_t db_occlusion_count1_low_11; // offset: 438 (0x1B6)
  465. uint32_t db_occlusion_count1_hi_11; // offset: 439 (0x1B7)
  466. uint32_t db_occlusion_count2_low_11; // offset: 440 (0x1B8)
  467. uint32_t db_occlusion_count2_hi_11; // offset: 441 (0x1B9)
  468. uint32_t db_occlusion_count3_low_11; // offset: 442 (0x1BA)
  469. uint32_t db_occlusion_count3_hi_11; // offset: 443 (0x1BB)
  470. uint32_t db_occlusion_count0_low_12; // offset: 444 (0x1BC)
  471. uint32_t db_occlusion_count0_hi_12; // offset: 445 (0x1BD)
  472. uint32_t db_occlusion_count1_low_12; // offset: 446 (0x1BE)
  473. uint32_t db_occlusion_count1_hi_12; // offset: 447 (0x1BF)
  474. uint32_t db_occlusion_count2_low_12; // offset: 448 (0x1C0)
  475. uint32_t db_occlusion_count2_hi_12; // offset: 449 (0x1C1)
  476. uint32_t db_occlusion_count3_low_12; // offset: 450 (0x1C2)
  477. uint32_t db_occlusion_count3_hi_12; // offset: 451 (0x1C3)
  478. uint32_t db_occlusion_count0_low_13; // offset: 452 (0x1C4)
  479. uint32_t db_occlusion_count0_hi_13; // offset: 453 (0x1C5)
  480. uint32_t db_occlusion_count1_low_13; // offset: 454 (0x1C6)
  481. uint32_t db_occlusion_count1_hi_13; // offset: 455 (0x1C7)
  482. uint32_t db_occlusion_count2_low_13; // offset: 456 (0x1C8)
  483. uint32_t db_occlusion_count2_hi_13; // offset: 457 (0x1C9)
  484. uint32_t db_occlusion_count3_low_13; // offset: 458 (0x1CA)
  485. uint32_t db_occlusion_count3_hi_13; // offset: 459 (0x1CB)
  486. uint32_t db_occlusion_count0_low_14; // offset: 460 (0x1CC)
  487. uint32_t db_occlusion_count0_hi_14; // offset: 461 (0x1CD)
  488. uint32_t db_occlusion_count1_low_14; // offset: 462 (0x1CE)
  489. uint32_t db_occlusion_count1_hi_14; // offset: 463 (0x1CF)
  490. uint32_t db_occlusion_count2_low_14; // offset: 464 (0x1D0)
  491. uint32_t db_occlusion_count2_hi_14; // offset: 465 (0x1D1)
  492. uint32_t db_occlusion_count3_low_14; // offset: 466 (0x1D2)
  493. uint32_t db_occlusion_count3_hi_14; // offset: 467 (0x1D3)
  494. uint32_t db_occlusion_count0_low_15; // offset: 468 (0x1D4)
  495. uint32_t db_occlusion_count0_hi_15; // offset: 469 (0x1D5)
  496. uint32_t db_occlusion_count1_low_15; // offset: 470 (0x1D6)
  497. uint32_t db_occlusion_count1_hi_15; // offset: 471 (0x1D7)
  498. uint32_t db_occlusion_count2_low_15; // offset: 472 (0x1D8)
  499. uint32_t db_occlusion_count2_hi_15; // offset: 473 (0x1D9)
  500. uint32_t db_occlusion_count3_low_15; // offset: 474 (0x1DA)
  501. uint32_t db_occlusion_count3_hi_15; // offset: 475 (0x1DB)
  502. uint32_t db_occlusion_count0_low_16; // offset: 476 (0x1DC)
  503. uint32_t db_occlusion_count0_hi_16; // offset: 477 (0x1DD)
  504. uint32_t db_occlusion_count1_low_16; // offset: 478 (0x1DE)
  505. uint32_t db_occlusion_count1_hi_16; // offset: 479 (0x1DF)
  506. uint32_t db_occlusion_count2_low_16; // offset: 480 (0x1E0)
  507. uint32_t db_occlusion_count2_hi_16; // offset: 481 (0x1E1)
  508. uint32_t db_occlusion_count3_low_16; // offset: 482 (0x1E2)
  509. uint32_t db_occlusion_count3_hi_16; // offset: 483 (0x1E3)
  510. uint32_t db_occlusion_count0_low_17; // offset: 484 (0x1E4)
  511. uint32_t db_occlusion_count0_hi_17; // offset: 485 (0x1E5)
  512. uint32_t db_occlusion_count1_low_17; // offset: 486 (0x1E6)
  513. uint32_t db_occlusion_count1_hi_17; // offset: 487 (0x1E7)
  514. uint32_t db_occlusion_count2_low_17; // offset: 488 (0x1E8)
  515. uint32_t db_occlusion_count2_hi_17; // offset: 489 (0x1E9)
  516. uint32_t db_occlusion_count3_low_17; // offset: 490 (0x1EA)
  517. uint32_t db_occlusion_count3_hi_17; // offset: 491 (0x1EB)
  518. uint32_t reserved_492; // offset: 492 (0x1EC)
  519. uint32_t reserved_493; // offset: 493 (0x1ED)
  520. uint32_t reserved_494; // offset: 494 (0x1EE)
  521. uint32_t reserved_495; // offset: 495 (0x1EF)
  522. uint32_t reserved_496; // offset: 496 (0x1F0)
  523. uint32_t reserved_497; // offset: 497 (0x1F1)
  524. uint32_t reserved_498; // offset: 498 (0x1F2)
  525. uint32_t reserved_499; // offset: 499 (0x1F3)
  526. uint32_t reserved_500; // offset: 500 (0x1F4)
  527. uint32_t reserved_501; // offset: 501 (0x1F5)
  528. uint32_t reserved_502; // offset: 502 (0x1F6)
  529. uint32_t reserved_503; // offset: 503 (0x1F7)
  530. uint32_t reserved_504; // offset: 504 (0x1F8)
  531. uint32_t reserved_505; // offset: 505 (0x1F9)
  532. uint32_t reserved_506; // offset: 506 (0x1FA)
  533. uint32_t reserved_507; // offset: 507 (0x1FB)
  534. uint32_t reserved_508; // offset: 508 (0x1FC)
  535. uint32_t reserved_509; // offset: 509 (0x1FD)
  536. uint32_t reserved_510; // offset: 510 (0x1FE)
  537. uint32_t reserved_511; // offset: 511 (0x1FF)
  538. };
  539. struct v10_sdma_mqd {
  540. uint32_t sdmax_rlcx_rb_cntl;
  541. uint32_t sdmax_rlcx_rb_base;
  542. uint32_t sdmax_rlcx_rb_base_hi;
  543. uint32_t sdmax_rlcx_rb_rptr;
  544. uint32_t sdmax_rlcx_rb_rptr_hi;
  545. uint32_t sdmax_rlcx_rb_wptr;
  546. uint32_t sdmax_rlcx_rb_wptr_hi;
  547. uint32_t sdmax_rlcx_rb_wptr_poll_cntl;
  548. uint32_t sdmax_rlcx_rb_rptr_addr_hi;
  549. uint32_t sdmax_rlcx_rb_rptr_addr_lo;
  550. uint32_t sdmax_rlcx_ib_cntl;
  551. uint32_t sdmax_rlcx_ib_rptr;
  552. uint32_t sdmax_rlcx_ib_offset;
  553. uint32_t sdmax_rlcx_ib_base_lo;
  554. uint32_t sdmax_rlcx_ib_base_hi;
  555. uint32_t sdmax_rlcx_ib_size;
  556. uint32_t sdmax_rlcx_skip_cntl;
  557. uint32_t sdmax_rlcx_context_status;
  558. uint32_t sdmax_rlcx_doorbell;
  559. uint32_t sdmax_rlcx_status;
  560. uint32_t sdmax_rlcx_doorbell_log;
  561. uint32_t sdmax_rlcx_watermark;
  562. uint32_t sdmax_rlcx_doorbell_offset;
  563. uint32_t sdmax_rlcx_csa_addr_lo;
  564. uint32_t sdmax_rlcx_csa_addr_hi;
  565. uint32_t sdmax_rlcx_ib_sub_remain;
  566. uint32_t sdmax_rlcx_preempt;
  567. uint32_t sdmax_rlcx_dummy_reg;
  568. uint32_t sdmax_rlcx_rb_wptr_poll_addr_hi;
  569. uint32_t sdmax_rlcx_rb_wptr_poll_addr_lo;
  570. uint32_t sdmax_rlcx_rb_aql_cntl;
  571. uint32_t sdmax_rlcx_minor_ptr_update;
  572. uint32_t sdmax_rlcx_midcmd_data0;
  573. uint32_t sdmax_rlcx_midcmd_data1;
  574. uint32_t sdmax_rlcx_midcmd_data2;
  575. uint32_t sdmax_rlcx_midcmd_data3;
  576. uint32_t sdmax_rlcx_midcmd_data4;
  577. uint32_t sdmax_rlcx_midcmd_data5;
  578. uint32_t sdmax_rlcx_midcmd_data6;
  579. uint32_t sdmax_rlcx_midcmd_data7;
  580. uint32_t sdmax_rlcx_midcmd_data8;
  581. uint32_t sdmax_rlcx_midcmd_cntl;
  582. uint32_t reserved_42;
  583. uint32_t reserved_43;
  584. uint32_t reserved_44;
  585. uint32_t reserved_45;
  586. uint32_t reserved_46;
  587. uint32_t reserved_47;
  588. uint32_t reserved_48;
  589. uint32_t reserved_49;
  590. uint32_t reserved_50;
  591. uint32_t reserved_51;
  592. uint32_t reserved_52;
  593. uint32_t reserved_53;
  594. uint32_t reserved_54;
  595. uint32_t reserved_55;
  596. uint32_t reserved_56;
  597. uint32_t reserved_57;
  598. uint32_t reserved_58;
  599. uint32_t reserved_59;
  600. uint32_t reserved_60;
  601. uint32_t reserved_61;
  602. uint32_t reserved_62;
  603. uint32_t reserved_63;
  604. uint32_t reserved_64;
  605. uint32_t reserved_65;
  606. uint32_t reserved_66;
  607. uint32_t reserved_67;
  608. uint32_t reserved_68;
  609. uint32_t reserved_69;
  610. uint32_t reserved_70;
  611. uint32_t reserved_71;
  612. uint32_t reserved_72;
  613. uint32_t reserved_73;
  614. uint32_t reserved_74;
  615. uint32_t reserved_75;
  616. uint32_t reserved_76;
  617. uint32_t reserved_77;
  618. uint32_t reserved_78;
  619. uint32_t reserved_79;
  620. uint32_t reserved_80;
  621. uint32_t reserved_81;
  622. uint32_t reserved_82;
  623. uint32_t reserved_83;
  624. uint32_t reserved_84;
  625. uint32_t reserved_85;
  626. uint32_t reserved_86;
  627. uint32_t reserved_87;
  628. uint32_t reserved_88;
  629. uint32_t reserved_89;
  630. uint32_t reserved_90;
  631. uint32_t reserved_91;
  632. uint32_t reserved_92;
  633. uint32_t reserved_93;
  634. uint32_t reserved_94;
  635. uint32_t reserved_95;
  636. uint32_t reserved_96;
  637. uint32_t reserved_97;
  638. uint32_t reserved_98;
  639. uint32_t reserved_99;
  640. uint32_t reserved_100;
  641. uint32_t reserved_101;
  642. uint32_t reserved_102;
  643. uint32_t reserved_103;
  644. uint32_t reserved_104;
  645. uint32_t reserved_105;
  646. uint32_t reserved_106;
  647. uint32_t reserved_107;
  648. uint32_t reserved_108;
  649. uint32_t reserved_109;
  650. uint32_t reserved_110;
  651. uint32_t reserved_111;
  652. uint32_t reserved_112;
  653. uint32_t reserved_113;
  654. uint32_t reserved_114;
  655. uint32_t reserved_115;
  656. uint32_t reserved_116;
  657. uint32_t reserved_117;
  658. uint32_t reserved_118;
  659. uint32_t reserved_119;
  660. uint32_t reserved_120;
  661. uint32_t reserved_121;
  662. uint32_t reserved_122;
  663. uint32_t reserved_123;
  664. uint32_t reserved_124;
  665. uint32_t reserved_125;
  666. uint32_t reserved_126;
  667. uint32_t reserved_127;
  668. uint32_t sdma_engine_id;
  669. uint32_t sdma_queue_id;
  670. };
  671. struct v10_compute_mqd {
  672. uint32_t header;
  673. uint32_t compute_dispatch_initiator;
  674. uint32_t compute_dim_x;
  675. uint32_t compute_dim_y;
  676. uint32_t compute_dim_z;
  677. uint32_t compute_start_x;
  678. uint32_t compute_start_y;
  679. uint32_t compute_start_z;
  680. uint32_t compute_num_thread_x;
  681. uint32_t compute_num_thread_y;
  682. uint32_t compute_num_thread_z;
  683. uint32_t compute_pipelinestat_enable;
  684. uint32_t compute_perfcount_enable;
  685. uint32_t compute_pgm_lo;
  686. uint32_t compute_pgm_hi;
  687. uint32_t compute_tba_lo;
  688. uint32_t compute_tba_hi;
  689. uint32_t compute_tma_lo;
  690. uint32_t compute_tma_hi;
  691. uint32_t compute_pgm_rsrc1;
  692. uint32_t compute_pgm_rsrc2;
  693. uint32_t compute_vmid;
  694. uint32_t compute_resource_limits;
  695. uint32_t compute_static_thread_mgmt_se0;
  696. uint32_t compute_static_thread_mgmt_se1;
  697. uint32_t compute_tmpring_size;
  698. uint32_t compute_static_thread_mgmt_se2;
  699. uint32_t compute_static_thread_mgmt_se3;
  700. uint32_t compute_restart_x;
  701. uint32_t compute_restart_y;
  702. uint32_t compute_restart_z;
  703. uint32_t compute_thread_trace_enable;
  704. uint32_t compute_misc_reserved;
  705. uint32_t compute_dispatch_id;
  706. uint32_t compute_threadgroup_id;
  707. uint32_t compute_relaunch;
  708. uint32_t compute_wave_restore_addr_lo;
  709. uint32_t compute_wave_restore_addr_hi;
  710. uint32_t compute_wave_restore_control;
  711. uint32_t reserved_39;
  712. uint32_t reserved_40;
  713. uint32_t reserved_41;
  714. uint32_t reserved_42;
  715. uint32_t reserved_43;
  716. uint32_t reserved_44;
  717. uint32_t reserved_45;
  718. uint32_t reserved_46;
  719. uint32_t reserved_47;
  720. uint32_t reserved_48;
  721. uint32_t reserved_49;
  722. uint32_t reserved_50;
  723. uint32_t reserved_51;
  724. uint32_t reserved_52;
  725. uint32_t reserved_53;
  726. uint32_t reserved_54;
  727. uint32_t reserved_55;
  728. uint32_t reserved_56;
  729. uint32_t reserved_57;
  730. uint32_t reserved_58;
  731. uint32_t reserved_59;
  732. uint32_t reserved_60;
  733. uint32_t reserved_61;
  734. uint32_t reserved_62;
  735. uint32_t reserved_63;
  736. uint32_t reserved_64;
  737. uint32_t compute_user_data_0;
  738. uint32_t compute_user_data_1;
  739. uint32_t compute_user_data_2;
  740. uint32_t compute_user_data_3;
  741. uint32_t compute_user_data_4;
  742. uint32_t compute_user_data_5;
  743. uint32_t compute_user_data_6;
  744. uint32_t compute_user_data_7;
  745. uint32_t compute_user_data_8;
  746. uint32_t compute_user_data_9;
  747. uint32_t compute_user_data_10;
  748. uint32_t compute_user_data_11;
  749. uint32_t compute_user_data_12;
  750. uint32_t compute_user_data_13;
  751. uint32_t compute_user_data_14;
  752. uint32_t compute_user_data_15;
  753. uint32_t cp_compute_csinvoc_count_lo;
  754. uint32_t cp_compute_csinvoc_count_hi;
  755. uint32_t reserved_83;
  756. uint32_t reserved_84;
  757. uint32_t reserved_85;
  758. uint32_t cp_mqd_query_time_lo;
  759. uint32_t cp_mqd_query_time_hi;
  760. uint32_t cp_mqd_connect_start_time_lo;
  761. uint32_t cp_mqd_connect_start_time_hi;
  762. uint32_t cp_mqd_connect_end_time_lo;
  763. uint32_t cp_mqd_connect_end_time_hi;
  764. uint32_t cp_mqd_connect_end_wf_count;
  765. uint32_t cp_mqd_connect_end_pq_rptr;
  766. uint32_t cp_mqd_connect_end_pq_wptr;
  767. uint32_t cp_mqd_connect_end_ib_rptr;
  768. uint32_t cp_mqd_readindex_lo;
  769. uint32_t cp_mqd_readindex_hi;
  770. uint32_t cp_mqd_save_start_time_lo;
  771. uint32_t cp_mqd_save_start_time_hi;
  772. uint32_t cp_mqd_save_end_time_lo;
  773. uint32_t cp_mqd_save_end_time_hi;
  774. uint32_t cp_mqd_restore_start_time_lo;
  775. uint32_t cp_mqd_restore_start_time_hi;
  776. uint32_t cp_mqd_restore_end_time_lo;
  777. uint32_t cp_mqd_restore_end_time_hi;
  778. uint32_t disable_queue;
  779. uint32_t reserved_107;
  780. uint32_t gds_cs_ctxsw_cnt0;
  781. uint32_t gds_cs_ctxsw_cnt1;
  782. uint32_t gds_cs_ctxsw_cnt2;
  783. uint32_t gds_cs_ctxsw_cnt3;
  784. uint32_t reserved_112;
  785. uint32_t reserved_113;
  786. uint32_t cp_pq_exe_status_lo;
  787. uint32_t cp_pq_exe_status_hi;
  788. uint32_t cp_packet_id_lo;
  789. uint32_t cp_packet_id_hi;
  790. uint32_t cp_packet_exe_status_lo;
  791. uint32_t cp_packet_exe_status_hi;
  792. uint32_t gds_save_base_addr_lo;
  793. uint32_t gds_save_base_addr_hi;
  794. uint32_t gds_save_mask_lo;
  795. uint32_t gds_save_mask_hi;
  796. uint32_t ctx_save_base_addr_lo;
  797. uint32_t ctx_save_base_addr_hi;
  798. uint32_t reserved_126;
  799. uint32_t reserved_127;
  800. uint32_t cp_mqd_base_addr_lo;
  801. uint32_t cp_mqd_base_addr_hi;
  802. uint32_t cp_hqd_active;
  803. uint32_t cp_hqd_vmid;
  804. uint32_t cp_hqd_persistent_state;
  805. uint32_t cp_hqd_pipe_priority;
  806. uint32_t cp_hqd_queue_priority;
  807. uint32_t cp_hqd_quantum;
  808. uint32_t cp_hqd_pq_base_lo;
  809. uint32_t cp_hqd_pq_base_hi;
  810. uint32_t cp_hqd_pq_rptr;
  811. uint32_t cp_hqd_pq_rptr_report_addr_lo;
  812. uint32_t cp_hqd_pq_rptr_report_addr_hi;
  813. uint32_t cp_hqd_pq_wptr_poll_addr_lo;
  814. uint32_t cp_hqd_pq_wptr_poll_addr_hi;
  815. uint32_t cp_hqd_pq_doorbell_control;
  816. uint32_t reserved_144;
  817. uint32_t cp_hqd_pq_control;
  818. uint32_t cp_hqd_ib_base_addr_lo;
  819. uint32_t cp_hqd_ib_base_addr_hi;
  820. uint32_t cp_hqd_ib_rptr;
  821. uint32_t cp_hqd_ib_control;
  822. uint32_t cp_hqd_iq_timer;
  823. uint32_t cp_hqd_iq_rptr;
  824. uint32_t cp_hqd_dequeue_request;
  825. uint32_t cp_hqd_dma_offload;
  826. uint32_t cp_hqd_sema_cmd;
  827. uint32_t cp_hqd_msg_type;
  828. uint32_t cp_hqd_atomic0_preop_lo;
  829. uint32_t cp_hqd_atomic0_preop_hi;
  830. uint32_t cp_hqd_atomic1_preop_lo;
  831. uint32_t cp_hqd_atomic1_preop_hi;
  832. uint32_t cp_hqd_hq_scheduler0;
  833. uint32_t cp_hqd_hq_scheduler1;
  834. uint32_t cp_mqd_control;
  835. uint32_t cp_hqd_hq_status1;
  836. uint32_t cp_hqd_hq_control1;
  837. uint32_t cp_hqd_eop_base_addr_lo;
  838. uint32_t cp_hqd_eop_base_addr_hi;
  839. uint32_t cp_hqd_eop_control;
  840. uint32_t cp_hqd_eop_rptr;
  841. uint32_t cp_hqd_eop_wptr;
  842. uint32_t cp_hqd_eop_done_events;
  843. uint32_t cp_hqd_ctx_save_base_addr_lo;
  844. uint32_t cp_hqd_ctx_save_base_addr_hi;
  845. uint32_t cp_hqd_ctx_save_control;
  846. uint32_t cp_hqd_cntl_stack_offset;
  847. uint32_t cp_hqd_cntl_stack_size;
  848. uint32_t cp_hqd_wg_state_offset;
  849. uint32_t cp_hqd_ctx_save_size;
  850. uint32_t cp_hqd_gds_resource_state;
  851. uint32_t cp_hqd_error;
  852. uint32_t cp_hqd_eop_wptr_mem;
  853. uint32_t cp_hqd_aql_control;
  854. uint32_t cp_hqd_pq_wptr_lo;
  855. uint32_t cp_hqd_pq_wptr_hi;
  856. uint32_t cp_hqd_suspend_cntl_stack_offset;
  857. uint32_t cp_hqd_suspend_cntl_stack_dw_cnt;
  858. uint32_t cp_hqd_suspend_wg_state_offset;
  859. uint32_t reserved_187;
  860. uint32_t reserved_188;
  861. uint32_t reserved_189;
  862. uint32_t reserved_190;
  863. uint32_t reserved_191;
  864. uint32_t iqtimer_pkt_header;
  865. uint32_t iqtimer_pkt_dw0;
  866. uint32_t iqtimer_pkt_dw1;
  867. uint32_t iqtimer_pkt_dw2;
  868. uint32_t iqtimer_pkt_dw3;
  869. uint32_t iqtimer_pkt_dw4;
  870. uint32_t iqtimer_pkt_dw5;
  871. uint32_t iqtimer_pkt_dw6;
  872. uint32_t iqtimer_pkt_dw7;
  873. uint32_t iqtimer_pkt_dw8;
  874. uint32_t iqtimer_pkt_dw9;
  875. uint32_t iqtimer_pkt_dw10;
  876. uint32_t iqtimer_pkt_dw11;
  877. uint32_t iqtimer_pkt_dw12;
  878. uint32_t iqtimer_pkt_dw13;
  879. uint32_t iqtimer_pkt_dw14;
  880. uint32_t iqtimer_pkt_dw15;
  881. uint32_t iqtimer_pkt_dw16;
  882. uint32_t iqtimer_pkt_dw17;
  883. uint32_t iqtimer_pkt_dw18;
  884. uint32_t iqtimer_pkt_dw19;
  885. uint32_t iqtimer_pkt_dw20;
  886. uint32_t iqtimer_pkt_dw21;
  887. uint32_t iqtimer_pkt_dw22;
  888. uint32_t iqtimer_pkt_dw23;
  889. uint32_t iqtimer_pkt_dw24;
  890. uint32_t iqtimer_pkt_dw25;
  891. uint32_t iqtimer_pkt_dw26;
  892. uint32_t iqtimer_pkt_dw27;
  893. uint32_t iqtimer_pkt_dw28;
  894. uint32_t iqtimer_pkt_dw29;
  895. uint32_t iqtimer_pkt_dw30;
  896. uint32_t iqtimer_pkt_dw31;
  897. uint32_t reserved_225;
  898. uint32_t reserved_226;
  899. uint32_t reserved_227;
  900. uint32_t set_resources_header;
  901. uint32_t set_resources_dw1;
  902. uint32_t set_resources_dw2;
  903. uint32_t set_resources_dw3;
  904. uint32_t set_resources_dw4;
  905. uint32_t set_resources_dw5;
  906. uint32_t set_resources_dw6;
  907. uint32_t set_resources_dw7;
  908. uint32_t reserved_236;
  909. uint32_t reserved_237;
  910. uint32_t reserved_238;
  911. uint32_t reserved_239;
  912. uint32_t queue_doorbell_id0;
  913. uint32_t queue_doorbell_id1;
  914. uint32_t queue_doorbell_id2;
  915. uint32_t queue_doorbell_id3;
  916. uint32_t queue_doorbell_id4;
  917. uint32_t queue_doorbell_id5;
  918. uint32_t queue_doorbell_id6;
  919. uint32_t queue_doorbell_id7;
  920. uint32_t queue_doorbell_id8;
  921. uint32_t queue_doorbell_id9;
  922. uint32_t queue_doorbell_id10;
  923. uint32_t queue_doorbell_id11;
  924. uint32_t queue_doorbell_id12;
  925. uint32_t queue_doorbell_id13;
  926. uint32_t queue_doorbell_id14;
  927. uint32_t queue_doorbell_id15;
  928. uint32_t reserved_256;
  929. uint32_t reserved_257;
  930. uint32_t reserved_258;
  931. uint32_t reserved_259;
  932. uint32_t reserved_260;
  933. uint32_t reserved_261;
  934. uint32_t reserved_262;
  935. uint32_t reserved_263;
  936. uint32_t reserved_264;
  937. uint32_t reserved_265;
  938. uint32_t reserved_266;
  939. uint32_t reserved_267;
  940. uint32_t reserved_268;
  941. uint32_t reserved_269;
  942. uint32_t reserved_270;
  943. uint32_t reserved_271;
  944. uint32_t reserved_272;
  945. uint32_t reserved_273;
  946. uint32_t reserved_274;
  947. uint32_t reserved_275;
  948. uint32_t reserved_276;
  949. uint32_t reserved_277;
  950. uint32_t reserved_278;
  951. uint32_t reserved_279;
  952. uint32_t reserved_280;
  953. uint32_t reserved_281;
  954. uint32_t reserved_282;
  955. uint32_t reserved_283;
  956. uint32_t reserved_284;
  957. uint32_t reserved_285;
  958. uint32_t reserved_286;
  959. uint32_t reserved_287;
  960. uint32_t reserved_288;
  961. uint32_t reserved_289;
  962. uint32_t reserved_290;
  963. uint32_t reserved_291;
  964. uint32_t reserved_292;
  965. uint32_t reserved_293;
  966. uint32_t reserved_294;
  967. uint32_t reserved_295;
  968. uint32_t reserved_296;
  969. uint32_t reserved_297;
  970. uint32_t reserved_298;
  971. uint32_t reserved_299;
  972. uint32_t reserved_300;
  973. uint32_t reserved_301;
  974. uint32_t reserved_302;
  975. uint32_t reserved_303;
  976. uint32_t reserved_304;
  977. uint32_t reserved_305;
  978. uint32_t reserved_306;
  979. uint32_t reserved_307;
  980. uint32_t reserved_308;
  981. uint32_t reserved_309;
  982. uint32_t reserved_310;
  983. uint32_t reserved_311;
  984. uint32_t reserved_312;
  985. uint32_t reserved_313;
  986. uint32_t reserved_314;
  987. uint32_t reserved_315;
  988. uint32_t reserved_316;
  989. uint32_t reserved_317;
  990. uint32_t reserved_318;
  991. uint32_t reserved_319;
  992. uint32_t reserved_320;
  993. uint32_t reserved_321;
  994. uint32_t reserved_322;
  995. uint32_t reserved_323;
  996. uint32_t reserved_324;
  997. uint32_t reserved_325;
  998. uint32_t reserved_326;
  999. uint32_t reserved_327;
  1000. uint32_t reserved_328;
  1001. uint32_t reserved_329;
  1002. uint32_t reserved_330;
  1003. uint32_t reserved_331;
  1004. uint32_t reserved_332;
  1005. uint32_t reserved_333;
  1006. uint32_t reserved_334;
  1007. uint32_t reserved_335;
  1008. uint32_t reserved_336;
  1009. uint32_t reserved_337;
  1010. uint32_t reserved_338;
  1011. uint32_t reserved_339;
  1012. uint32_t reserved_340;
  1013. uint32_t reserved_341;
  1014. uint32_t reserved_342;
  1015. uint32_t reserved_343;
  1016. uint32_t reserved_344;
  1017. uint32_t reserved_345;
  1018. uint32_t reserved_346;
  1019. uint32_t reserved_347;
  1020. uint32_t reserved_348;
  1021. uint32_t reserved_349;
  1022. uint32_t reserved_350;
  1023. uint32_t reserved_351;
  1024. uint32_t reserved_352;
  1025. uint32_t reserved_353;
  1026. uint32_t reserved_354;
  1027. uint32_t reserved_355;
  1028. uint32_t reserved_356;
  1029. uint32_t reserved_357;
  1030. uint32_t reserved_358;
  1031. uint32_t reserved_359;
  1032. uint32_t reserved_360;
  1033. uint32_t reserved_361;
  1034. uint32_t reserved_362;
  1035. uint32_t reserved_363;
  1036. uint32_t reserved_364;
  1037. uint32_t reserved_365;
  1038. uint32_t reserved_366;
  1039. uint32_t reserved_367;
  1040. uint32_t reserved_368;
  1041. uint32_t reserved_369;
  1042. uint32_t reserved_370;
  1043. uint32_t reserved_371;
  1044. uint32_t reserved_372;
  1045. uint32_t reserved_373;
  1046. uint32_t reserved_374;
  1047. uint32_t reserved_375;
  1048. uint32_t reserved_376;
  1049. uint32_t reserved_377;
  1050. uint32_t reserved_378;
  1051. uint32_t reserved_379;
  1052. uint32_t reserved_380;
  1053. uint32_t reserved_381;
  1054. uint32_t reserved_382;
  1055. uint32_t reserved_383;
  1056. uint32_t reserved_384;
  1057. uint32_t reserved_385;
  1058. uint32_t reserved_386;
  1059. uint32_t reserved_387;
  1060. uint32_t reserved_388;
  1061. uint32_t reserved_389;
  1062. uint32_t reserved_390;
  1063. uint32_t reserved_391;
  1064. uint32_t reserved_392;
  1065. uint32_t reserved_393;
  1066. uint32_t reserved_394;
  1067. uint32_t reserved_395;
  1068. uint32_t reserved_396;
  1069. uint32_t reserved_397;
  1070. uint32_t reserved_398;
  1071. uint32_t reserved_399;
  1072. uint32_t reserved_400;
  1073. uint32_t reserved_401;
  1074. uint32_t reserved_402;
  1075. uint32_t reserved_403;
  1076. uint32_t reserved_404;
  1077. uint32_t reserved_405;
  1078. uint32_t reserved_406;
  1079. uint32_t reserved_407;
  1080. uint32_t reserved_408;
  1081. uint32_t reserved_409;
  1082. uint32_t reserved_410;
  1083. uint32_t reserved_411;
  1084. uint32_t reserved_412;
  1085. uint32_t reserved_413;
  1086. uint32_t reserved_414;
  1087. uint32_t reserved_415;
  1088. uint32_t reserved_416;
  1089. uint32_t reserved_417;
  1090. uint32_t reserved_418;
  1091. uint32_t reserved_419;
  1092. uint32_t reserved_420;
  1093. uint32_t reserved_421;
  1094. uint32_t reserved_422;
  1095. uint32_t reserved_423;
  1096. uint32_t reserved_424;
  1097. uint32_t reserved_425;
  1098. uint32_t reserved_426;
  1099. uint32_t reserved_427;
  1100. uint32_t reserved_428;
  1101. uint32_t reserved_429;
  1102. uint32_t reserved_430;
  1103. uint32_t reserved_431;
  1104. uint32_t reserved_432;
  1105. uint32_t reserved_433;
  1106. uint32_t reserved_434;
  1107. uint32_t reserved_435;
  1108. uint32_t reserved_436;
  1109. uint32_t reserved_437;
  1110. uint32_t reserved_438;
  1111. uint32_t reserved_439;
  1112. uint32_t reserved_440;
  1113. uint32_t reserved_441;
  1114. uint32_t reserved_442;
  1115. uint32_t reserved_443;
  1116. uint32_t reserved_444;
  1117. uint32_t reserved_445;
  1118. uint32_t reserved_446;
  1119. uint32_t reserved_447;
  1120. uint32_t reserved_448;
  1121. uint32_t reserved_449;
  1122. uint32_t reserved_450;
  1123. uint32_t reserved_451;
  1124. uint32_t reserved_452;
  1125. uint32_t reserved_453;
  1126. uint32_t reserved_454;
  1127. uint32_t reserved_455;
  1128. uint32_t reserved_456;
  1129. uint32_t reserved_457;
  1130. uint32_t reserved_458;
  1131. uint32_t reserved_459;
  1132. uint32_t reserved_460;
  1133. uint32_t reserved_461;
  1134. uint32_t reserved_462;
  1135. uint32_t reserved_463;
  1136. uint32_t reserved_464;
  1137. uint32_t reserved_465;
  1138. uint32_t reserved_466;
  1139. uint32_t reserved_467;
  1140. uint32_t reserved_468;
  1141. uint32_t reserved_469;
  1142. uint32_t reserved_470;
  1143. uint32_t reserved_471;
  1144. uint32_t reserved_472;
  1145. uint32_t reserved_473;
  1146. uint32_t reserved_474;
  1147. uint32_t reserved_475;
  1148. uint32_t reserved_476;
  1149. uint32_t reserved_477;
  1150. uint32_t reserved_478;
  1151. uint32_t reserved_479;
  1152. uint32_t reserved_480;
  1153. uint32_t reserved_481;
  1154. uint32_t reserved_482;
  1155. uint32_t reserved_483;
  1156. uint32_t reserved_484;
  1157. uint32_t reserved_485;
  1158. uint32_t reserved_486;
  1159. uint32_t reserved_487;
  1160. uint32_t reserved_488;
  1161. uint32_t reserved_489;
  1162. uint32_t reserved_490;
  1163. uint32_t reserved_491;
  1164. uint32_t reserved_492;
  1165. uint32_t reserved_493;
  1166. uint32_t reserved_494;
  1167. uint32_t reserved_495;
  1168. uint32_t reserved_496;
  1169. uint32_t reserved_497;
  1170. uint32_t reserved_498;
  1171. uint32_t reserved_499;
  1172. uint32_t reserved_500;
  1173. uint32_t reserved_501;
  1174. uint32_t reserved_502;
  1175. uint32_t reserved_503;
  1176. uint32_t reserved_504;
  1177. uint32_t reserved_505;
  1178. uint32_t reserved_506;
  1179. uint32_t reserved_507;
  1180. uint32_t reserved_508;
  1181. uint32_t reserved_509;
  1182. uint32_t reserved_510;
  1183. uint32_t reserved_511;
  1184. };
  1185. struct v10_ce_ib_state {
  1186. /* section of non chained ib part */
  1187. uint32_t ce_ib_completion_status;
  1188. uint32_t ce_constegnine_count;
  1189. uint32_t ce_ibOffset_ib1;
  1190. uint32_t ce_ibOffset_ib2;
  1191. /* section of chained ib */
  1192. uint32_t ce_chainib_addrlo_ib1;
  1193. uint32_t ce_chainib_addrlo_ib2;
  1194. uint32_t ce_chainib_addrhi_ib1;
  1195. uint32_t ce_chainib_addrhi_ib2;
  1196. uint32_t ce_chainib_size_ib1;
  1197. uint32_t ce_chainib_size_ib2;
  1198. }; /* total 10 DWORD */
  1199. struct v10_de_ib_state {
  1200. /* section of non chained ib part */
  1201. uint32_t ib_completion_status;
  1202. uint32_t de_constEngine_count;
  1203. uint32_t ib_offset_ib1;
  1204. uint32_t ib_offset_ib2;
  1205. /* section of chained ib */
  1206. uint32_t chain_ib_addrlo_ib1;
  1207. uint32_t chain_ib_addrlo_ib2;
  1208. uint32_t chain_ib_addrhi_ib1;
  1209. uint32_t chain_ib_addrhi_ib2;
  1210. uint32_t chain_ib_size_ib1;
  1211. uint32_t chain_ib_size_ib2;
  1212. /* section of non chained ib part */
  1213. uint32_t preamble_begin_ib1;
  1214. uint32_t preamble_begin_ib2;
  1215. uint32_t preamble_end_ib1;
  1216. uint32_t preamble_end_ib2;
  1217. /* section of chained ib */
  1218. uint32_t chain_ib_pream_addrlo_ib1;
  1219. uint32_t chain_ib_pream_addrlo_ib2;
  1220. uint32_t chain_ib_pream_addrhi_ib1;
  1221. uint32_t chain_ib_pream_addrhi_ib2;
  1222. /* section of non chained ib part */
  1223. uint32_t draw_indirect_baseLo;
  1224. uint32_t draw_indirect_baseHi;
  1225. uint32_t disp_indirect_baseLo;
  1226. uint32_t disp_indirect_baseHi;
  1227. uint32_t gds_backup_addrlo;
  1228. uint32_t gds_backup_addrhi;
  1229. uint32_t index_base_addrlo;
  1230. uint32_t index_base_addrhi;
  1231. uint32_t sample_cntl;
  1232. }; /* Total of 27 DWORD */
  1233. struct v10_gfx_meta_data {
  1234. /* 10 DWORD, address must be 4KB aligned */
  1235. struct v10_ce_ib_state ce_payload;
  1236. uint32_t reserved1[54];
  1237. /* 27 DWORD, address must be 64B aligned */
  1238. struct v10_de_ib_state de_payload;
  1239. /* PFP IB base address which get pre-empted */
  1240. uint32_t DeIbBaseAddrLo;
  1241. uint32_t DeIbBaseAddrHi;
  1242. uint32_t reserved2[931];
  1243. }; /* Total of 4K Bytes */
  1244. #endif /* V10_STRUCTS_H_ */