1 /* SPDX-License-Identifier: MIT */
2 static uint32_t gm107_grgpc_data[] = {
3 /* 0x0000: gpc_mmio_list_head */
4 	0x0000006c,
5 /* 0x0004: gpc_mmio_list_tail */
6 /* 0x0004: tpc_mmio_list_head */
7 	0x0000006c,
8 /* 0x0008: tpc_mmio_list_tail */
9 /* 0x0008: unk_mmio_list_head */
10 	0x0000006c,
11 /* 0x000c: unk_mmio_list_tail */
12 	0x0000006c,
13 /* 0x0010: gpc_id */
14 	0x00000000,
15 /* 0x0014: tpc_count */
16 	0x00000000,
17 /* 0x0018: tpc_mask */
18 	0x00000000,
19 /* 0x001c: unk_count */
20 	0x00000000,
21 /* 0x0020: unk_mask */
22 	0x00000000,
23 /* 0x0024: cmd_queue */
24 	0x00000000,
25 	0x00000000,
26 	0x00000000,
27 	0x00000000,
28 	0x00000000,
29 	0x00000000,
30 	0x00000000,
31 	0x00000000,
32 	0x00000000,
33 	0x00000000,
34 	0x00000000,
35 	0x00000000,
36 	0x00000000,
37 	0x00000000,
38 	0x00000000,
39 	0x00000000,
40 	0x00000000,
41 	0x00000000,
42 };
43 
44 static uint32_t gm107_grgpc_code[] = {
45 	0x03410ef5,
46 /* 0x0004: queue_put */
47 	0x9800d898,
48 	0x86f001d9,
49 	0xf489a408,
50 	0x020f0b1b,
51 	0x0002f87e,
52 /* 0x001a: queue_put_next */
53 	0x98c400f8,
54 	0x0384b607,
55 	0xb6008dbb,
56 	0x8eb50880,
57 	0x018fb500,
58 	0xf00190b6,
59 	0xd9b50f94,
60 /* 0x0037: queue_get */
61 	0xf400f801,
62 	0xd8980131,
63 	0x01d99800,
64 	0x0bf489a4,
65 	0x0789c421,
66 	0xbb0394b6,
67 	0x90b6009d,
68 	0x009e9808,
69 	0xb6019f98,
70 	0x84f00180,
71 	0x00d8b50f,
72 /* 0x0063: queue_get_done */
73 	0xf80132f4,
74 /* 0x0065: nv_rd32 */
75 	0xf0ecb200,
76 	0x00801fc9,
77 	0x0cf601ca,
78 /* 0x0073: nv_rd32_wait */
79 	0x8c04bd00,
80 	0xcf01ca00,
81 	0xccc800cc,
82 	0xf61bf41f,
83 	0xec7e060a,
84 	0x008f0000,
85 	0xffcf01cb,
86 /* 0x008f: nv_wr32 */
87 	0x8000f800,
88 	0xf601cc00,
89 	0x04bd000f,
90 	0xc9f0ecb2,
91 	0x1ec9f01f,
92 	0x01ca0080,
93 	0xbd000cf6,
94 /* 0x00a9: nv_wr32_wait */
95 	0xca008c04,
96 	0x00cccf01,
97 	0xf41fccc8,
98 	0x00f8f61b,
99 /* 0x00b8: wait_donez */
100 	0x99f094bd,
101 	0x37008000,
102 	0x0009f602,
103 	0x008004bd,
104 	0x0af60206,
105 /* 0x00cf: wait_donez_ne */
106 	0x8804bd00,
107 	0xcf010000,
108 	0x8aff0088,
109 	0xf61bf488,
110 	0x99f094bd,
111 	0x17008000,
112 	0x0009f602,
113 	0x00f804bd,
114 /* 0x00ec: wait_doneo */
115 	0x99f094bd,
116 	0x37008000,
117 	0x0009f602,
118 	0x008004bd,
119 	0x0af60206,
120 /* 0x0103: wait_doneo_e */
121 	0x8804bd00,
122 	0xcf010000,
123 	0x8aff0088,
124 	0xf60bf488,
125 	0x99f094bd,
126 	0x17008000,
127 	0x0009f602,
128 	0x00f804bd,
129 /* 0x0120: mmctx_size */
130 /* 0x0122: nv_mmctx_size_loop */
131 	0xe89894bd,
132 	0x1a85b600,
133 	0xb60180b6,
134 	0x98bb0284,
135 	0x04e0b600,
136 	0x1bf4efa4,
137 	0xf89fb2ec,
138 /* 0x013d: mmctx_xfer */
139 	0xf094bd00,
140 	0x00800199,
141 	0x09f60237,
142 	0xbd04bd00,
143 	0x05bbfd94,
144 	0x800f0bf4,
145 	0xf601c400,
146 	0x04bd000b,
147 /* 0x015f: mmctx_base_disabled */
148 	0xfd0099f0,
149 	0x0bf405ee,
150 	0xc6008018,
151 	0x000ef601,
152 	0x008004bd,
153 	0x0ff601c7,
154 	0xf004bd00,
155 /* 0x017a: mmctx_multi_disabled */
156 	0xabc80199,
157 	0x10b4b600,
158 	0xc80cb9f0,
159 	0xe4b601ae,
160 	0x05befd11,
161 	0x01c50080,
162 	0xbd000bf6,
163 /* 0x0195: mmctx_exec_loop */
164 /* 0x0195: mmctx_wait_free */
165 	0xc5008e04,
166 	0x00eecf01,
167 	0xf41fe4f0,
168 	0xce98f60b,
169 	0x05e9fd00,
170 	0x01c80080,
171 	0xbd000ef6,
172 	0x04c0b604,
173 	0x1bf4cda4,
174 	0x02abc8df,
175 /* 0x01bf: mmctx_fini_wait */
176 	0x8b1c1bf4,
177 	0xcf01c500,
178 	0xb4f000bb,
179 	0x10b4b01f,
180 	0x0af31bf4,
181 	0x00b87e05,
182 	0x250ef400,
183 /* 0x01d8: mmctx_stop */
184 	0xb600abc8,
185 	0xb9f010b4,
186 	0x12b9f00c,
187 	0x01c50080,
188 	0xbd000bf6,
189 /* 0x01ed: mmctx_stop_wait */
190 	0xc5008b04,
191 	0x00bbcf01,
192 	0xf412bbc8,
193 /* 0x01fa: mmctx_done */
194 	0x94bdf61b,
195 	0x800199f0,
196 	0xf6021700,
197 	0x04bd0009,
198 /* 0x020a: strand_wait */
199 	0xa0f900f8,
200 	0xb87e020a,
201 	0xa0fc0000,
202 /* 0x0216: strand_pre */
203 	0x0c0900f8,
204 	0x024afc80,
205 	0xbd0009f6,
206 	0x020a7e04,
207 /* 0x0227: strand_post */
208 	0x0900f800,
209 	0x4afc800d,
210 	0x0009f602,
211 	0x0a7e04bd,
212 	0x00f80002,
213 /* 0x0238: strand_set */
214 	0xfc800f0c,
215 	0x0cf6024f,
216 	0x0c04bd00,
217 	0x4afc800b,
218 	0x000cf602,
219 	0xfc8004bd,
220 	0x0ef6024f,
221 	0x0c04bd00,
222 	0x4afc800a,
223 	0x000cf602,
224 	0x0a7e04bd,
225 	0x00f80002,
226 /* 0x0268: strand_ctx_init */
227 	0x99f094bd,
228 	0x37008003,
229 	0x0009f602,
230 	0x167e04bd,
231 	0x030e0002,
232 	0x0002387e,
233 	0xfc80c4bd,
234 	0x0cf60247,
235 	0x0c04bd00,
236 	0x4afc8001,
237 	0x000cf602,
238 	0x0a7e04bd,
239 	0x0c920002,
240 	0x46fc8001,
241 	0x000cf602,
242 	0x020c04bd,
243 	0x024afc80,
244 	0xbd000cf6,
245 	0x020a7e04,
246 	0x02277e00,
247 	0x42008800,
248 	0x20008902,
249 	0x0099cf02,
250 /* 0x02c7: ctx_init_strand_loop */
251 	0xf608fe95,
252 	0x8ef6008e,
253 	0x808acf40,
254 	0xb606a5b6,
255 	0xeabb01a0,
256 	0x0480b600,
257 	0xf40192b6,
258 	0xe4b6e81b,
259 	0xf2efbc08,
260 	0x99f094bd,
261 	0x17008003,
262 	0x0009f602,
263 	0x00f804bd,
264 /* 0x02f8: error */
265 	0xffb2e0f9,
266 	0x4098148e,
267 	0x00008f7e,
268 	0xffb2010f,
269 	0x409c1c8e,
270 	0x00008f7e,
271 	0x00f8e0fc,
272 /* 0x0314: tpc_strand_wait */
273 	0x94bd90f9,
274 	0x800a99f0,
275 	0xf6023700,
276 	0x04bd0009,
277 /* 0x0324: tpc_strand_busy */
278 	0x033f0089,
279 	0xb30099cf,
280 	0xbdf90094,
281 	0x0a99f094,
282 	0x02170080,
283 	0xbd0009f6,
284 	0xf890fc04,
285 /* 0x0341: init */
286 	0x4104bd00,
287 	0x11cf4200,
288 	0x0911e700,
289 	0x0814b601,
290 	0x020014fe,
291 	0x12004002,
292 	0xbd0002f6,
293 	0x05ad4104,
294 	0x400010fe,
295 	0x00f60700,
296 	0x0204bd00,
297 	0x04004004,
298 	0xbd0002f6,
299 	0x1031f404,
300 	0x01820082,
301 	0x030022cf,
302 	0x1f24f001,
303 	0xb60432bb,
304 	0x02b50132,
305 	0x0603b505,
306 	0x01860082,
307 	0xb50022cf,
308 	0x24b60402,
309 	0xc900800f,
310 	0x0002f601,
311 	0x308e04bd,
312 	0xe5f0500c,
313 	0xbd24bd01,
314 /* 0x03b3: init_unk_loop */
315 	0x7e44bd34,
316 	0xb0000065,
317 	0x0bf400f6,
318 	0xbb010f0e,
319 	0x4ffd04f2,
320 	0x0130b605,
321 /* 0x03c8: init_unk_next */
322 	0xb60120b6,
323 	0x26b004e0,
324 	0xe21bf402,
325 /* 0x03d4: init_unk_done */
326 	0xb50703b5,
327 	0x00820804,
328 	0x22cf0201,
329 	0x9534bd00,
330 	0x00800825,
331 	0x05f601c0,
332 	0x8004bd00,
333 	0xf601c100,
334 	0x04bd0005,
335 	0x98000e98,
336 	0x207e010f,
337 	0x2fbb0001,
338 	0x003fbb00,
339 	0x98010e98,
340 	0x207e020f,
341 	0x0e980001,
342 	0x00effd05,
343 	0xbb002ebb,
344 	0x0e98003e,
345 	0x030f9802,
346 	0x0001207e,
347 	0xfd070e98,
348 	0x2ebb00ef,
349 	0x003ebb00,
350 	0x800235b6,
351 	0xf601d300,
352 	0x04bd0003,
353 	0xb60825b6,
354 	0x20b60635,
355 	0x0130b601,
356 	0xb60824b6,
357 	0x2fb20834,
358 	0x0002687e,
359 	0xbb002fbb,
360 	0x3f0f003f,
361 	0x501d608e,
362 	0xb201e5f0,
363 	0x008f7eff,
364 	0x8e0c0f00,
365 	0xf0501da8,
366 	0xffb201e5,
367 	0x00008f7e,
368 	0x0003147e,
369 	0x608e3f0f,
370 	0xe5f0501d,
371 	0x7effb201,
372 	0x0f00008f,
373 	0x1d9c8e00,
374 	0x01e5f050,
375 	0x8f7effb2,
376 	0x010f0000,
377 	0x0003147e,
378 	0x501da88e,
379 	0xb201e5f0,
380 	0x008f7eff,
381 	0x8eff0f00,
382 	0xf0501d98,
383 	0xffb201e5,
384 	0x00008f7e,
385 	0xa88e020f,
386 	0xe5f0501d,
387 	0x7effb201,
388 	0x7e00008f,
389 	0x98000314,
390 	0x00850504,
391 	0x55f05040,
392 /* 0x04dd: tpc_strand_init_tpc_loop */
393 	0x705eb801,
394 	0x657e0005,
395 	0xf6b20000,
396 /* 0x04ea: tpc_strand_init_idx_loop */
397 	0x5eb874bd,
398 	0xb2000560,
399 	0x008f7e7f,
400 	0x885eb800,
401 	0x2f950005,
402 	0x008f7e08,
403 	0x8c5eb800,
404 	0x2f950005,
405 	0x008f7e08,
406 	0x905eb800,
407 	0x657e0005,
408 	0xf5b60000,
409 	0x01f0b606,
410 	0xbb08f4b6,
411 	0x3fbb002f,
412 	0x0170b600,
413 	0xf40162b6,
414 	0x50b7bf1b,
415 	0x42b60800,
416 	0xa81bf401,
417 	0x608e3f0f,
418 	0xe5f0501d,
419 	0x7effb201,
420 	0x0f00008f,
421 	0x1da88e0d,
422 	0x01e5f050,
423 	0x8f7effb2,
424 	0x147e0000,
425 	0x00800003,
426 	0x03f60201,
427 	0xbd04bd00,
428 	0x1f29f024,
429 	0x02300080,
430 	0xbd0002f6,
431 /* 0x0571: wait */
432 	0x0028f404,
433 /* 0x0577: main */
434 	0x0d0031f4,
435 	0x00377e24,
436 	0xf401f400,
437 	0xf404e4b0,
438 	0x81fe1d18,
439 	0xbd060201,
440 	0x0412fd20,
441 	0xfd01e4b6,
442 	0x18fe051e,
443 	0x06487e00,
444 	0xda0ef400,
445 /* 0x05a0: main_not_ctx_xfer */
446 	0xf010ef94,
447 	0xf87e01f5,
448 	0x0ef40002,
449 /* 0x05ad: ih */
450 	0xf900f9cd,
451 	0x0188fe80,
452 	0x90f980f9,
453 	0xb0f9a0f9,
454 	0xe0f9d0f9,
455 	0x04bdf0f9,
456 	0xcf02004a,
457 	0xabc400aa,
458 	0x1f0bf404,
459 	0x004e240d,
460 	0x00eecf1a,
461 	0xcf19004f,
462 	0x047e00ff,
463 	0x010e0000,
464 	0xf61d0040,
465 	0x04bd000e,
466 /* 0x05ec: ih_no_fifo */
467 	0xf6010040,
468 	0x04bd000a,
469 	0xe0fcf0fc,
470 	0xb0fcd0fc,
471 	0x90fca0fc,
472 	0x88fe80fc,
473 	0xfc80fc00,
474 	0x0032f400,
475 /* 0x060e: hub_barrier_done */
476 	0x010f01f8,
477 	0xbb040e98,
478 	0xffb204fe,
479 	0x4094188e,
480 	0x00008f7e,
481 /* 0x0622: ctx_redswitch */
482 	0x200f00f8,
483 	0x01850080,
484 	0xbd000ff6,
485 /* 0x062f: ctx_redswitch_delay */
486 	0xb6080e04,
487 	0x1bf401e2,
488 	0x00f5f1fd,
489 	0x00f5f108,
490 	0x85008002,
491 	0x000ff601,
492 	0x00f804bd,
493 /* 0x0648: ctx_xfer */
494 	0x02810080,
495 	0xbd000ff6,
496 	0x1dc48e04,
497 	0x01e5f050,
498 	0x8f7effb2,
499 	0x11f40000,
500 	0x06227e07,
501 /* 0x0665: ctx_xfer_not_load */
502 	0x02167e00,
503 	0x8024bd00,
504 	0xf60247fc,
505 	0x04bd0002,
506 	0xb6012cf0,
507 	0xfc800320,
508 	0x02f6024a,
509 	0x0f04bd00,
510 	0x1da88e0c,
511 	0x01e5f050,
512 	0x8f7effb2,
513 	0x147e0000,
514 	0x3f0f0003,
515 	0x501d608e,
516 	0xb201e5f0,
517 	0x008f7eff,
518 	0x8e000f00,
519 	0xf0501d9c,
520 	0xffb201e5,
521 	0x00008f7e,
522 	0x147e010f,
523 	0xfcf00003,
524 	0x03f0b601,
525 	0x501da88e,
526 	0xb201e5f0,
527 	0x008f7eff,
528 	0x01acf000,
529 	0x8b02a5f0,
530 	0x98500000,
531 	0xc4b6040c,
532 	0x00bcbb0f,
533 	0x98000c98,
534 	0x000e010d,
535 	0x00013d7e,
536 	0x8b01acf0,
537 	0x98504000,
538 	0xc4b6040c,
539 	0x00bcbb0f,
540 	0x98010c98,
541 	0x0f98020d,
542 	0x08004e06,
543 	0x00013d7e,
544 	0xf001acf0,
545 	0x008b04a5,
546 	0x0c985030,
547 	0x0fc4b604,
548 	0x9800bcbb,
549 	0x0d98020c,
550 	0x080f9803,
551 	0x7e02004e,
552 	0x7e00013d,
553 	0x7e00020a,
554 	0xf4000314,
555 	0x12f40601,
556 /* 0x073d: ctx_xfer_post */
557 	0x02277e1a,
558 	0x8e0d0f00,
559 	0xf0501da8,
560 	0xffb201e5,
561 	0x00008f7e,
562 	0x0003147e,
563 /* 0x0754: ctx_xfer_done */
564 	0x00060e7e,
565 	0x000000f8,
566 	0x00000000,
567 	0x00000000,
568 	0x00000000,
569 	0x00000000,
570 	0x00000000,
571 	0x00000000,
572 	0x00000000,
573 	0x00000000,
574 	0x00000000,
575 	0x00000000,
576 	0x00000000,
577 	0x00000000,
578 	0x00000000,
579 	0x00000000,
580 	0x00000000,
581 	0x00000000,
582 	0x00000000,
583 	0x00000000,
584 	0x00000000,
585 	0x00000000,
586 	0x00000000,
587 	0x00000000,
588 	0x00000000,
589 	0x00000000,
590 	0x00000000,
591 	0x00000000,
592 	0x00000000,
593 	0x00000000,
594 	0x00000000,
595 	0x00000000,
596 	0x00000000,
597 	0x00000000,
598 	0x00000000,
599 	0x00000000,
600 	0x00000000,
601 	0x00000000,
602 	0x00000000,
603 	0x00000000,
604 	0x00000000,
605 	0x00000000,
606 	0x00000000,
607 };
608