1 /* SPDX-License-Identifier: GPL-2.0 */ 2 static uint32_t gk104_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 gk104_grgpc_code[] = { 45 0x03a10ef5, 46 /* 0x0004: queue_put */ 47 0x9800d898, 48 0x86f001d9, 49 0x0489b808, 50 0xf00c1bf4, 51 0x21f502f7, 52 0x00f8037e, 53 /* 0x001c: queue_put_next */ 54 0xb60798c4, 55 0x8dbb0384, 56 0x0880b600, 57 0x80008e80, 58 0x90b6018f, 59 0x0f94f001, 60 0xf801d980, 61 /* 0x0039: queue_get */ 62 0x0131f400, 63 0x9800d898, 64 0x89b801d9, 65 0x210bf404, 66 0xb60789c4, 67 0x9dbb0394, 68 0x0890b600, 69 0x98009e98, 70 0x80b6019f, 71 0x0f84f001, 72 0xf400d880, 73 /* 0x0066: queue_get_done */ 74 0x00f80132, 75 /* 0x0068: nv_rd32 */ 76 0xf002ecb9, 77 0x07f11fc9, 78 0x03f0ca00, 79 0x000cd001, 80 /* 0x007a: nv_rd32_wait */ 81 0xc7f104bd, 82 0xc3f0ca00, 83 0x00cccf01, 84 0xf41fccc8, 85 0xa7f0f31b, 86 0x1021f506, 87 0x00f7f101, 88 0x01f3f0cb, 89 0xf800ffcf, 90 /* 0x009d: nv_wr32 */ 91 0x0007f100, 92 0x0103f0cc, 93 0xbd000fd0, 94 0x02ecb904, 95 0xf01fc9f0, 96 0x07f11ec9, 97 0x03f0ca00, 98 0x000cd001, 99 /* 0x00be: nv_wr32_wait */ 100 0xc7f104bd, 101 0xc3f0ca00, 102 0x00cccf01, 103 0xf41fccc8, 104 0x00f8f31b, 105 /* 0x00d0: wait_donez */ 106 0x99f094bd, 107 0x0007f100, 108 0x0203f00f, 109 0xbd0009d0, 110 0x0007f104, 111 0x0203f006, 112 0xbd000ad0, 113 /* 0x00ed: wait_donez_ne */ 114 0x0087f104, 115 0x0183f000, 116 0xff0088cf, 117 0x1bf4888a, 118 0xf094bdf3, 119 0x07f10099, 120 0x03f01700, 121 0x0009d002, 122 0x00f804bd, 123 /* 0x0110: wait_doneo */ 124 0x99f094bd, 125 0x0007f100, 126 0x0203f00f, 127 0xbd0009d0, 128 0x0007f104, 129 0x0203f006, 130 0xbd000ad0, 131 /* 0x012d: wait_doneo_e */ 132 0x0087f104, 133 0x0183f000, 134 0xff0088cf, 135 0x0bf4888a, 136 0xf094bdf3, 137 0x07f10099, 138 0x03f01700, 139 0x0009d002, 140 0x00f804bd, 141 /* 0x0150: mmctx_size */ 142 /* 0x0152: nv_mmctx_size_loop */ 143 0xe89894bd, 144 0x1a85b600, 145 0xb60180b6, 146 0x98bb0284, 147 0x04e0b600, 148 0xf404efb8, 149 0x9fb9eb1b, 150 /* 0x016f: mmctx_xfer */ 151 0xbd00f802, 152 0x0199f094, 153 0x0f0007f1, 154 0xd00203f0, 155 0x04bd0009, 156 0xbbfd94bd, 157 0x120bf405, 158 0xc40007f1, 159 0xd00103f0, 160 0x04bd000b, 161 /* 0x0197: mmctx_base_disabled */ 162 0xfd0099f0, 163 0x0bf405ee, 164 0x0007f11e, 165 0x0103f0c6, 166 0xbd000ed0, 167 0x0007f104, 168 0x0103f0c7, 169 0xbd000fd0, 170 0x0199f004, 171 /* 0x01b8: mmctx_multi_disabled */ 172 0xb600abc8, 173 0xb9f010b4, 174 0x01aec80c, 175 0xfd11e4b6, 176 0x07f105be, 177 0x03f0c500, 178 0x000bd001, 179 /* 0x01d6: mmctx_exec_loop */ 180 /* 0x01d6: mmctx_wait_free */ 181 0xe7f104bd, 182 0xe3f0c500, 183 0x00eecf01, 184 0xf41fe4f0, 185 0xce98f30b, 186 0x05e9fd00, 187 0xc80007f1, 188 0xd00103f0, 189 0x04bd000e, 190 0xb804c0b6, 191 0x1bf404cd, 192 0x02abc8d8, 193 /* 0x0207: mmctx_fini_wait */ 194 0xf11f1bf4, 195 0xf0c500b7, 196 0xbbcf01b3, 197 0x1fb4f000, 198 0xf410b4b0, 199 0xa7f0f01b, 200 0xd021f405, 201 /* 0x0223: mmctx_stop */ 202 0xc82b0ef4, 203 0xb4b600ab, 204 0x0cb9f010, 205 0xf112b9f0, 206 0xf0c50007, 207 0x0bd00103, 208 /* 0x023b: mmctx_stop_wait */ 209 0xf104bd00, 210 0xf0c500b7, 211 0xbbcf01b3, 212 0x12bbc800, 213 /* 0x024b: mmctx_done */ 214 0xbdf31bf4, 215 0x0199f094, 216 0x170007f1, 217 0xd00203f0, 218 0x04bd0009, 219 /* 0x025e: strand_wait */ 220 0xa0f900f8, 221 0xf402a7f0, 222 0xa0fcd021, 223 /* 0x026a: strand_pre */ 224 0x97f000f8, 225 0xfc07f10c, 226 0x0203f04a, 227 0xbd0009d0, 228 0x5e21f504, 229 /* 0x027f: strand_post */ 230 0xf000f802, 231 0x07f10d97, 232 0x03f04afc, 233 0x0009d002, 234 0x21f504bd, 235 0x00f8025e, 236 /* 0x0294: strand_set */ 237 0xf10fc7f0, 238 0xf04ffc07, 239 0x0cd00203, 240 0xf004bd00, 241 0x07f10bc7, 242 0x03f04afc, 243 0x000cd002, 244 0x07f104bd, 245 0x03f04ffc, 246 0x000ed002, 247 0xc7f004bd, 248 0xfc07f10a, 249 0x0203f04a, 250 0xbd000cd0, 251 0x5e21f504, 252 /* 0x02d3: strand_ctx_init */ 253 0xbd00f802, 254 0x0399f094, 255 0x0f0007f1, 256 0xd00203f0, 257 0x04bd0009, 258 0x026a21f5, 259 0xf503e7f0, 260 0xbd029421, 261 0xfc07f1c4, 262 0x0203f047, 263 0xbd000cd0, 264 0x01c7f004, 265 0x4afc07f1, 266 0xd00203f0, 267 0x04bd000c, 268 0x025e21f5, 269 0xf1010c92, 270 0xf046fc07, 271 0x0cd00203, 272 0xf004bd00, 273 0x07f102c7, 274 0x03f04afc, 275 0x000cd002, 276 0x21f504bd, 277 0x21f5025e, 278 0x87f1027f, 279 0x83f04200, 280 0x0097f102, 281 0x0293f020, 282 0x950099cf, 283 /* 0x034a: ctx_init_strand_loop */ 284 0x8ed008fe, 285 0x408ed000, 286 0xb6808acf, 287 0xa0b606a5, 288 0x00eabb01, 289 0xb60480b6, 290 0x1bf40192, 291 0x08e4b6e8, 292 0xbdf2efbc, 293 0x0399f094, 294 0x170007f1, 295 0xd00203f0, 296 0x04bd0009, 297 /* 0x037e: error */ 298 0xe0f900f8, 299 0xf102ffb9, 300 0xf09814e7, 301 0x21f440e3, 302 0x01f7f09d, 303 0xf102ffb9, 304 0xf09c1ce7, 305 0x21f440e3, 306 0xf8e0fc9d, 307 /* 0x03a1: init */ 308 0xf104bd00, 309 0xf0420017, 310 0x11cf0013, 311 0x0911e700, 312 0x0814b601, 313 0xf00014fe, 314 0x07f10227, 315 0x03f01200, 316 0x0002d000, 317 0x17f104bd, 318 0x10fe0545, 319 0x0007f100, 320 0x0003f007, 321 0xbd0000d0, 322 0x0427f004, 323 0x040007f1, 324 0xd00003f0, 325 0x04bd0002, 326 0xf11031f4, 327 0xf0820027, 328 0x22cf0123, 329 0x0137f000, 330 0xbb1f24f0, 331 0x32b60432, 332 0x05028001, 333 0xf1060380, 334 0xf0860027, 335 0x22cf0123, 336 0x04028000, 337 0xf10f24b6, 338 0xf0c90007, 339 0x02d00103, 340 0xf104bd00, 341 0xf00c30e7, 342 0xe5f050e3, 343 0xbd24bd01, 344 /* 0x0433: init_unk_loop */ 345 0xf444bd34, 346 0xf6b06821, 347 0x0f0bf400, 348 0xbb01f7f0, 349 0x4ffd04f2, 350 0x0130b605, 351 /* 0x0448: init_unk_next */ 352 0xb60120b6, 353 0x26b004e0, 354 0xe21bf401, 355 /* 0x0454: init_unk_done */ 356 0x80070380, 357 0x27f10804, 358 0x23f00100, 359 0x0022cf02, 360 0x259534bd, 361 0x0007f108, 362 0x0103f0c0, 363 0xbd0005d0, 364 0x0007f104, 365 0x0103f0c1, 366 0xbd0005d0, 367 0x000e9804, 368 0xf5010f98, 369 0xbb015021, 370 0x3fbb002f, 371 0x010e9800, 372 0xf5020f98, 373 0x98015021, 374 0xeffd050e, 375 0x002ebb00, 376 0x98003ebb, 377 0x0f98020e, 378 0x5021f503, 379 0x070e9801, 380 0xbb00effd, 381 0x3ebb002e, 382 0x0235b600, 383 0xd30007f1, 384 0xd00103f0, 385 0x04bd0003, 386 0xb60825b6, 387 0x20b60635, 388 0x0130b601, 389 0xb60824b6, 390 0x2fb90834, 391 0xd321f502, 392 0x002fbb02, 393 0xf1003fbb, 394 0xf0010007, 395 0x03d00203, 396 0xbd04bd00, 397 0x1f29f024, 398 0x080007f1, 399 0xd00203f0, 400 0x04bd0002, 401 /* 0x0508: wait */ 402 0xf40028f4, 403 /* 0x050e: main */ 404 0xd7f00031, 405 0x3921f424, 406 0xb0f401f4, 407 0x18f404e4, 408 0x0181fe1e, 409 0xbd0627f0, 410 0x0412fd20, 411 0xfd01e4b6, 412 0x18fe051e, 413 0x0121f500, 414 0xd90ef406, 415 /* 0x0538: main_not_ctx_xfer */ 416 0xf010ef94, 417 0x21f501f5, 418 0x0ef4037e, 419 /* 0x0545: ih */ 420 0xf900f9cc, 421 0x0188fe80, 422 0x90f980f9, 423 0xb0f9a0f9, 424 0xe0f9d0f9, 425 0x04bdf0f9, 426 0x0200a7f1, 427 0xcf00a3f0, 428 0xabc400aa, 429 0x2c0bf404, 430 0xf124d7f0, 431 0xf01a00e7, 432 0xeecf00e3, 433 0x00f7f100, 434 0x00f3f019, 435 0xf400ffcf, 436 0xe7f00421, 437 0x0007f101, 438 0x0003f01d, 439 0xbd000ed0, 440 /* 0x0595: ih_no_fifo */ 441 0x0007f104, 442 0x0003f001, 443 0xbd000ad0, 444 0xfcf0fc04, 445 0xfcd0fce0, 446 0xfca0fcb0, 447 0xfe80fc90, 448 0x80fc0088, 449 0x32f400fc, 450 /* 0x05bb: hub_barrier_done */ 451 0xf001f800, 452 0x0e9801f7, 453 0x04febb04, 454 0xf102ffb9, 455 0xf09418e7, 456 0x21f440e3, 457 /* 0x05d3: ctx_redswitch */ 458 0xf000f89d, 459 0x07f120f7, 460 0x03f08500, 461 0x000fd001, 462 0xe7f004bd, 463 /* 0x05e5: ctx_redswitch_delay */ 464 0x01e2b608, 465 0xf1fd1bf4, 466 0xf10800f5, 467 0xf10200f5, 468 0xf0850007, 469 0x0fd00103, 470 0xf804bd00, 471 /* 0x0601: ctx_xfer */ 472 0x0007f100, 473 0x0203f081, 474 0xbd000fd0, 475 0x0711f404, 476 0x05d321f5, 477 /* 0x0614: ctx_xfer_not_load */ 478 0x026a21f5, 479 0x07f124bd, 480 0x03f047fc, 481 0x0002d002, 482 0x2cf004bd, 483 0x0320b601, 484 0x4afc07f1, 485 0xd00203f0, 486 0x04bd0002, 487 0xf001acf0, 488 0xb7f102a5, 489 0xb3f00000, 490 0x040c9850, 491 0xbb0fc4b6, 492 0x0c9800bc, 493 0x010d9800, 494 0xf500e7f0, 495 0xf0016f21, 496 0xb7f101ac, 497 0xb3f04000, 498 0x040c9850, 499 0xbb0fc4b6, 500 0x0c9800bc, 501 0x020d9801, 502 0xf1060f98, 503 0xf50800e7, 504 0xf0016f21, 505 0xa5f001ac, 506 0x00b7f104, 507 0x50b3f030, 508 0xb6040c98, 509 0xbcbb0fc4, 510 0x020c9800, 511 0x98030d98, 512 0xe7f1080f, 513 0x21f50200, 514 0x21f5016f, 515 0x01f4025e, 516 0x0712f406, 517 /* 0x06b0: ctx_xfer_post */ 518 0x027f21f5, 519 /* 0x06b4: ctx_xfer_done */ 520 0x05bb21f5, 521 0x000000f8, 522 0x00000000, 523 0x00000000, 524 0x00000000, 525 0x00000000, 526 0x00000000, 527 0x00000000, 528 0x00000000, 529 0x00000000, 530 0x00000000, 531 0x00000000, 532 0x00000000, 533 0x00000000, 534 0x00000000, 535 0x00000000, 536 0x00000000, 537 0x00000000, 538 0x00000000, 539 }; 540