1 /* SPDX-License-Identifier: GPL-2.0 */ 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