1/* SPDX-License-Identifier: MIT */
2static 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
44static 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