Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/nvc0-/gr: generate cs register lists from grctx data

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>

+1150 -2071
+15 -37
drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpc.fuc
··· 29 29 */ 30 30 31 31 #ifdef INCLUDE_DATA 32 + gpc_mmio_list_head: .b32 #mmio_list_base 33 + gpc_mmio_list_tail: 34 + tpc_mmio_list_head: .b32 #mmio_list_base 35 + tpc_mmio_list_tail: 36 + unk_mmio_list_head: .b32 #mmio_list_base 37 + unk_mmio_list_tail: .b32 #mmio_list_base 38 + 32 39 gpc_id: .b32 0 33 - gpc_mmio_list_head: .b32 0 34 - gpc_mmio_list_tail: .b32 0 35 40 36 41 tpc_count: .b32 0 37 42 tpc_mask: .b32 0 38 - tpc_mmio_list_head: .b32 0 39 - tpc_mmio_list_tail: .b32 0 40 43 41 44 #ifdef NVGK 42 45 unk_count: .b32 1 43 46 unk_mask: .b32 1 44 - unk_mmio_list_head: .b32 #nve4_unk_mmio_head 45 - unk_mmio_list_tail: .b32 #nve4_unk_mmio_tail 46 47 #endif 47 48 48 49 cmd_queue: queue_init 50 + 51 + mmio_list_base: 49 52 #endif 50 53 51 54 #ifdef INCLUDE_CODE ··· 71 68 // fall through to main loop after completion. 72 69 // 73 70 // Input: 74 - // CC_SCRATCH[0]: chipset (PMC_BOOT_0 read returns 0x0bad0bad... sigh) 75 71 // CC_SCRATCH[1]: context base 76 72 // 77 73 // Output: ··· 115 113 iord $r2 I[$r1 + 0x000] // MYINDEX 116 114 st b32 D[$r0 + #gpc_id] $r2 117 115 118 - // find context data for this chipset 119 - mov $r2 0x800 120 - shl b32 $r2 6 121 - iord $r2 I[$r2 + 0x000] // CC_SCRATCH[0] 122 - mov $r1 #chipsets - 12 123 - init_find_chipset: 124 - add b32 $r1 12 125 - ld b32 $r3 D[$r1 + 0x00] 126 - cmpu b32 $r3 $r2 127 - bra e #init_context 128 - cmpu b32 $r3 0 129 - bra ne #init_find_chipset 130 - // unknown chipset 131 - ret 132 - 133 116 // initialise context base, and size tracking 134 - init_context: 135 117 mov $r2 0x800 136 118 shl b32 $r2 6 137 119 iord $r2 I[$r2 + 0x100] // CC_SCRATCH[1], initial base ··· 129 143 iowr I[$r4 + 0x000] $r5 // MMCTX_SAVE_SWBASE 130 144 iowr I[$r4 + 0x100] $r5 // MMCTX_LOAD_SWBASE 131 145 132 - // calculate GPC mmio context size, store the chipset-specific 133 - // mmio list pointers somewhere we can get at them later without 134 - // re-parsing the chipset list 135 - clear b32 $r14 136 - clear b32 $r15 137 - ld b16 $r14 D[$r1 + 4] 138 - ld b16 $r15 D[$r1 + 6] 139 - st b16 D[$r0 + #gpc_mmio_list_head] $r14 140 - st b16 D[$r0 + #gpc_mmio_list_tail] $r15 146 + // calculate GPC mmio context size 147 + ld b32 $r14 D[$r0 + #gpc_mmio_list_head] 148 + ld b32 $r15 D[$r0 + #gpc_mmio_list_tail] 141 149 call #mmctx_size 142 150 add b32 $r2 $r15 143 151 add b32 $r3 $r15 144 152 145 - // calculate per-TPC mmio context size, store the list pointers 146 - ld b16 $r14 D[$r1 + 8] 147 - ld b16 $r15 D[$r1 + 10] 148 - st b16 D[$r0 + #tpc_mmio_list_head] $r14 149 - st b16 D[$r0 + #tpc_mmio_list_tail] $r15 153 + // calculate per-TPC mmio context size 154 + ld b32 $r14 D[$r0 + #tpc_mmio_list_head] 155 + ld b32 $r15 D[$r0 + #tpc_mmio_list_tail] 150 156 call #mmctx_size 151 157 ld b32 $r14 D[$r0 + #tpc_count] 152 158 mulu $r14 $r15
-114
drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc
··· 29 29 #define INCLUDE_DATA 30 30 #include "com.fuc" 31 31 #include "gpc.fuc" 32 - 33 - chipsets: 34 - .b8 0xc0 0 0 0 35 - .b16 #nvc0_gpc_mmio_head 36 - .b16 #nvc0_gpc_mmio_tail 37 - .b16 #nvc0_tpc_mmio_head 38 - .b16 #nvc0_tpc_mmio_tail 39 - .b8 0xc1 0 0 0 40 - .b16 #nvc0_gpc_mmio_head 41 - .b16 #nvc1_gpc_mmio_tail 42 - .b16 #nvc0_tpc_mmio_head 43 - .b16 #nvc1_tpc_mmio_tail 44 - .b8 0xc3 0 0 0 45 - .b16 #nvc0_gpc_mmio_head 46 - .b16 #nvc0_gpc_mmio_tail 47 - .b16 #nvc0_tpc_mmio_head 48 - .b16 #nvc3_tpc_mmio_tail 49 - .b8 0xc4 0 0 0 50 - .b16 #nvc0_gpc_mmio_head 51 - .b16 #nvc0_gpc_mmio_tail 52 - .b16 #nvc0_tpc_mmio_head 53 - .b16 #nvc3_tpc_mmio_tail 54 - .b8 0xc8 0 0 0 55 - .b16 #nvc0_gpc_mmio_head 56 - .b16 #nvc0_gpc_mmio_tail 57 - .b16 #nvc0_tpc_mmio_head 58 - .b16 #nvc0_tpc_mmio_tail 59 - .b8 0xce 0 0 0 60 - .b16 #nvc0_gpc_mmio_head 61 - .b16 #nvc0_gpc_mmio_tail 62 - .b16 #nvc0_tpc_mmio_head 63 - .b16 #nvc3_tpc_mmio_tail 64 - .b8 0xcf 0 0 0 65 - .b16 #nvc0_gpc_mmio_head 66 - .b16 #nvc0_gpc_mmio_tail 67 - .b16 #nvc0_tpc_mmio_head 68 - .b16 #nvc3_tpc_mmio_tail 69 - .b8 0xd9 0 0 0 70 - .b16 #nvd9_gpc_mmio_head 71 - .b16 #nvc1_gpc_mmio_tail 72 - .b16 #nvc0_tpc_mmio_head 73 - .b16 #nvd9_tpc_mmio_tail 74 - .b8 0xd7 0 0 0 75 - .b16 #nvd9_gpc_mmio_head 76 - .b16 #nvc1_gpc_mmio_tail 77 - .b16 #nvc0_tpc_mmio_head 78 - .b16 #nvd9_tpc_mmio_tail 79 - .b8 0 0 0 0 80 - 81 - // GPC mmio lists 82 - nvc0_gpc_mmio_head: 83 - mmctx_data(0x000408, 1) 84 - nvd9_gpc_mmio_head: 85 - mmctx_data(0x000380, 1) 86 - mmctx_data(0x000400, 2); 87 - mmctx_data(0x00040c, 3); 88 - mmctx_data(0x000450, 9) 89 - mmctx_data(0x000600, 1) 90 - mmctx_data(0x000684, 1) 91 - mmctx_data(0x000700, 5) 92 - mmctx_data(0x000800, 1) 93 - mmctx_data(0x000808, 3) 94 - mmctx_data(0x000828, 1) 95 - mmctx_data(0x000830, 1) 96 - mmctx_data(0x0008d8, 1) 97 - mmctx_data(0x0008e0, 1) 98 - mmctx_data(0x0008e8, 6) 99 - mmctx_data(0x00091c, 1) 100 - mmctx_data(0x000924, 3) 101 - mmctx_data(0x000b00, 1) 102 - mmctx_data(0x000b08, 6) 103 - mmctx_data(0x000bb8, 1) 104 - mmctx_data(0x000c08, 1) 105 - mmctx_data(0x000c10, 8) 106 - mmctx_data(0x000c80, 1) 107 - mmctx_data(0x000c8c, 1) 108 - mmctx_data(0x001000, 3) 109 - mmctx_data(0x001014, 1) 110 - nvc0_gpc_mmio_tail: 111 - mmctx_data(0x000c6c, 1); 112 - nvc1_gpc_mmio_tail: 113 - 114 - // TPC mmio lists 115 - nvc0_tpc_mmio_head: 116 - mmctx_data(0x000018, 1) 117 - mmctx_data(0x00003c, 1) 118 - mmctx_data(0x000048, 1) 119 - mmctx_data(0x000064, 1) 120 - mmctx_data(0x000088, 1) 121 - mmctx_data(0x000200, 6) 122 - mmctx_data(0x000300, 6) 123 - mmctx_data(0x0003d0, 1) 124 - mmctx_data(0x0003e0, 2) 125 - mmctx_data(0x000400, 3) 126 - mmctx_data(0x000420, 1) 127 - mmctx_data(0x0004b0, 1) 128 - mmctx_data(0x0004e8, 1) 129 - mmctx_data(0x0004f4, 1) 130 - mmctx_data(0x000520, 2) 131 - mmctx_data(0x000604, 4) 132 - mmctx_data(0x000644, 20) 133 - mmctx_data(0x000698, 1) 134 - mmctx_data(0x000750, 2) 135 - nvc0_tpc_mmio_tail: 136 - mmctx_data(0x00021c, 2) 137 - mmctx_data(0x0002c4, 1) 138 - mmctx_data(0x000730, 8) 139 - mmctx_data(0x000758, 1) 140 - nvc3_tpc_mmio_tail: 141 - mmctx_data(0x000544, 1) 142 - nvc1_tpc_mmio_tail: 143 - mmctx_data(0x000424, 2); 144 - mmctx_data(0x0006e0, 1); 145 - nvd9_tpc_mmio_tail: 146 32 #undef INCLUDE_DATA 147 33 148 34 .section #nvc0_grgpc_code
+157 -247
drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h
··· 1 1 uint32_t nvc0_grgpc_data[] = { 2 - /* 0x0000: gpc_id */ 2 + /* 0x0000: gpc_mmio_list_head */ 3 + 0x00000064, 4 + /* 0x0004: gpc_mmio_list_tail */ 5 + /* 0x0004: tpc_mmio_list_head */ 6 + 0x00000064, 7 + /* 0x0008: tpc_mmio_list_tail */ 8 + /* 0x0008: unk_mmio_list_head */ 9 + 0x00000064, 10 + /* 0x000c: unk_mmio_list_tail */ 11 + 0x00000064, 12 + /* 0x0010: gpc_id */ 3 13 0x00000000, 4 - /* 0x0004: gpc_mmio_list_head */ 14 + /* 0x0014: tpc_count */ 5 15 0x00000000, 6 - /* 0x0008: gpc_mmio_list_tail */ 7 - 0x00000000, 8 - /* 0x000c: tpc_count */ 9 - 0x00000000, 10 - /* 0x0010: tpc_mask */ 11 - 0x00000000, 12 - /* 0x0014: tpc_mmio_list_head */ 13 - 0x00000000, 14 - /* 0x0018: tpc_mmio_list_tail */ 16 + /* 0x0018: tpc_mask */ 15 17 0x00000000, 16 18 /* 0x001c: cmd_queue */ 17 19 0x00000000, ··· 34 32 0x00000000, 35 33 0x00000000, 36 34 0x00000000, 37 - /* 0x0064: chipsets */ 38 - 0x000000c0, 39 - 0x013c00d4, 40 - 0x018c0140, 41 - 0x000000c1, 42 - 0x014000d4, 43 - 0x01a00140, 44 - 0x000000c3, 45 - 0x013c00d4, 46 - 0x019c0140, 47 - 0x000000c4, 48 - 0x013c00d4, 49 - 0x019c0140, 50 - 0x000000c8, 51 - 0x013c00d4, 52 - 0x018c0140, 53 - 0x000000ce, 54 - 0x013c00d4, 55 - 0x019c0140, 56 - 0x000000cf, 57 - 0x013c00d4, 58 - 0x019c0140, 59 - 0x000000d9, 60 - 0x014000d8, 61 - 0x01a80140, 62 - 0x000000d7, 63 - 0x014000d8, 64 - 0x01a80140, 65 - 0x00000000, 66 - /* 0x00d4: nvc0_gpc_mmio_head */ 67 - 0x00000408, 68 - /* 0x00d8: nvd9_gpc_mmio_head */ 69 - 0x00000380, 70 - 0x04000400, 71 - 0x0800040c, 72 - 0x20000450, 73 - 0x00000600, 74 - 0x00000684, 75 - 0x10000700, 76 - 0x00000800, 77 - 0x08000808, 78 - 0x00000828, 79 - 0x00000830, 80 - 0x000008d8, 81 - 0x000008e0, 82 - 0x140008e8, 83 - 0x0000091c, 84 - 0x08000924, 85 - 0x00000b00, 86 - 0x14000b08, 87 - 0x00000bb8, 88 - 0x00000c08, 89 - 0x1c000c10, 90 - 0x00000c80, 91 - 0x00000c8c, 92 - 0x08001000, 93 - 0x00001014, 94 - /* 0x013c: nvc0_gpc_mmio_tail */ 95 - 0x00000c6c, 96 - /* 0x0140: nvc1_gpc_mmio_tail */ 97 - /* 0x0140: nvc0_tpc_mmio_head */ 98 - 0x00000018, 99 - 0x0000003c, 100 - 0x00000048, 101 - 0x00000064, 102 - 0x00000088, 103 - 0x14000200, 104 - 0x14000300, 105 - 0x000003d0, 106 - 0x040003e0, 107 - 0x08000400, 108 - 0x00000420, 109 - 0x000004b0, 110 - 0x000004e8, 111 - 0x000004f4, 112 - 0x04000520, 113 - 0x0c000604, 114 - 0x4c000644, 115 - 0x00000698, 116 - 0x04000750, 117 - /* 0x018c: nvc0_tpc_mmio_tail */ 118 - 0x0400021c, 119 - 0x000002c4, 120 - 0x1c000730, 121 - 0x00000758, 122 - /* 0x019c: nvc3_tpc_mmio_tail */ 123 - 0x00000544, 124 - /* 0x01a0: nvc1_tpc_mmio_tail */ 125 - 0x04000424, 126 - 0x000006e0, 127 35 }; 128 36 129 37 uint32_t nvc0_grgpc_code[] = { ··· 267 355 0xf10004fe, 268 356 0xf0120017, 269 357 0x12d00227, 270 - 0x3e17f100, 358 + 0x0d17f100, 271 359 0x0010fe04, 272 360 0x040017f1, 273 361 0xf0c010d0, ··· 279 367 0x1f24f001, 280 368 0xb60432bb, 281 369 0x02800132, 282 - 0x04038003, 370 + 0x06038005, 283 371 0x040010b7, 284 372 0x800012cf, 285 - 0x27f10002, 373 + 0x27f10402, 286 374 0x24b60800, 287 - 0x0022cf06, 288 - /* 0x035f: init_find_chipset */ 289 - 0xb65817f0, 290 - 0x13980c10, 291 - 0x0432b800, 292 - 0xb00b0bf4, 293 - 0x1bf40034, 294 - /* 0x0373: init_context */ 295 - 0xf100f8f1, 296 - 0xb6080027, 297 - 0x22cf0624, 298 - 0xf134bd40, 299 - 0xb6070047, 300 - 0x25950644, 301 - 0x0045d008, 302 - 0xbd4045d0, 303 - 0x58f4bde4, 304 - 0x1f58021e, 305 - 0x020e4003, 306 - 0xf5040f40, 307 - 0xbb013d21, 308 - 0x3fbb002f, 309 - 0x041e5800, 310 - 0x40051f58, 311 - 0x0f400a0e, 312 - 0x3d21f50c, 313 - 0x030e9801, 314 - 0xbb00effd, 315 - 0x3ebb002e, 316 - 0x0040b700, 317 - 0x0235b613, 318 - 0xb60043d0, 319 - 0x35b60825, 320 - 0x0120b606, 321 - 0xb60130b6, 322 - 0x34b60824, 323 - 0x022fb908, 324 - 0x026321f5, 325 - 0xf1003fbb, 326 - 0xb6080017, 327 - 0x13d00614, 328 - 0x0010b740, 329 - 0xf024bd08, 330 - 0x12d01f29, 331 - /* 0x0401: main */ 332 - 0x0031f400, 333 - 0xf00028f4, 334 - 0x21f41cd7, 335 - 0xf401f439, 336 - 0xf404e4b0, 337 - 0x81fe1e18, 338 - 0x0627f001, 339 - 0x12fd20bd, 340 - 0x01e4b604, 341 - 0xfe051efd, 342 - 0x21f50018, 343 - 0x0ef404c3, 344 - /* 0x0431: main_not_ctx_xfer */ 345 - 0x10ef94d3, 346 - 0xf501f5f0, 347 - 0xf402ec21, 348 - /* 0x043e: ih */ 349 - 0x80f9c60e, 350 - 0xf90188fe, 351 - 0xf990f980, 352 - 0xf9b0f9a0, 353 - 0xf9e0f9d0, 354 - 0x800acff0, 355 - 0xf404abc4, 356 - 0xb7f11d0b, 357 - 0xd7f01900, 358 - 0x40becf1c, 359 - 0xf400bfcf, 360 - 0xb0b70421, 361 - 0xe7f00400, 362 - 0x00bed001, 363 - /* 0x0474: ih_no_fifo */ 364 - 0xfc400ad0, 365 - 0xfce0fcf0, 366 - 0xfcb0fcd0, 367 - 0xfc90fca0, 368 - 0x0088fe80, 369 - 0x32f480fc, 370 - /* 0x048f: hub_barrier_done */ 371 - 0xf001f800, 372 - 0x0e9801f7, 373 - 0x04febb00, 374 - 0x9418e7f1, 375 - 0xf440e3f0, 376 - 0x00f88d21, 377 - /* 0x04a4: ctx_redswitch */ 378 - 0x0614e7f1, 379 - 0xf006e4b6, 380 - 0xefd020f7, 381 - 0x08f7f000, 382 - /* 0x04b4: ctx_redswitch_delay */ 383 - 0xf401f2b6, 384 - 0xf7f1fd1b, 385 - 0xefd00a20, 386 - /* 0x04c3: ctx_xfer */ 387 - 0xf100f800, 388 - 0xb60a0417, 389 - 0x1fd00614, 390 - 0x0711f400, 391 - 0x04a421f5, 392 - /* 0x04d4: ctx_xfer_not_load */ 393 - 0x4afc17f1, 394 - 0xf00213f0, 395 - 0x12d00c27, 396 - 0x0721f500, 397 - 0xfc27f102, 398 - 0x0223f047, 399 - 0xf00020d0, 400 - 0x20b6012c, 401 - 0x0012d003, 402 - 0xf001acf0, 403 - 0xb7f002a5, 404 - 0x50b3f000, 405 - 0xb6000c98, 406 - 0xbcbb0fc4, 407 - 0x010c9800, 408 - 0xf0020d98, 409 - 0x21f500e7, 410 - 0xacf0015c, 411 - 0x00b7f101, 412 - 0x50b3f040, 413 - 0xb6000c98, 414 - 0xbcbb0fc4, 415 - 0x050c9800, 416 - 0x98060d98, 417 - 0xe7f1040f, 418 - 0x21f50800, 419 - 0x21f5015c, 420 - 0x01f40207, 421 - 0x1412f406, 422 - /* 0x0548: ctx_xfer_post */ 423 - 0x4afc17f1, 424 - 0xf00213f0, 425 - 0x12d00d27, 426 - 0x0721f500, 427 - /* 0x0559: ctx_xfer_done */ 428 - 0x8f21f502, 429 - 0x0000f804, 375 + 0x4022cf06, 376 + 0x47f134bd, 377 + 0x44b60700, 378 + 0x08259506, 379 + 0xd00045d0, 380 + 0x0e984045, 381 + 0x010f9800, 382 + 0x013d21f5, 383 + 0xbb002fbb, 384 + 0x0e98003f, 385 + 0x020f9801, 386 + 0x013d21f5, 387 + 0xfd050e98, 388 + 0x2ebb00ef, 389 + 0x003ebb00, 390 + 0x130040b7, 391 + 0xd00235b6, 392 + 0x25b60043, 393 + 0x0635b608, 394 + 0xb60120b6, 395 + 0x24b60130, 396 + 0x0834b608, 397 + 0xf5022fb9, 398 + 0xbb026321, 399 + 0x17f1003f, 400 + 0x14b60800, 401 + 0x4013d006, 402 + 0x080010b7, 403 + 0x29f024bd, 404 + 0x0012d01f, 405 + /* 0x03d0: main */ 406 + 0xf40031f4, 407 + 0xd7f00028, 408 + 0x3921f41c, 409 + 0xb0f401f4, 410 + 0x18f404e4, 411 + 0x0181fe1e, 412 + 0xbd0627f0, 413 + 0x0412fd20, 414 + 0xfd01e4b6, 415 + 0x18fe051e, 416 + 0x9221f500, 417 + 0xd30ef404, 418 + /* 0x0400: main_not_ctx_xfer */ 419 + 0xf010ef94, 420 + 0x21f501f5, 421 + 0x0ef402ec, 422 + /* 0x040d: ih */ 423 + 0xfe80f9c6, 424 + 0x80f90188, 425 + 0xa0f990f9, 426 + 0xd0f9b0f9, 427 + 0xf0f9e0f9, 428 + 0xc4800acf, 429 + 0x0bf404ab, 430 + 0x00b7f11d, 431 + 0x1cd7f019, 432 + 0xcf40becf, 433 + 0x21f400bf, 434 + 0x00b0b704, 435 + 0x01e7f004, 436 + /* 0x0443: ih_no_fifo */ 437 + 0xd000bed0, 438 + 0xf0fc400a, 439 + 0xd0fce0fc, 440 + 0xa0fcb0fc, 441 + 0x80fc90fc, 442 + 0xfc0088fe, 443 + 0x0032f480, 444 + /* 0x045e: hub_barrier_done */ 445 + 0xf7f001f8, 446 + 0x040e9801, 447 + 0xf104febb, 448 + 0xf09418e7, 449 + 0x21f440e3, 450 + /* 0x0473: ctx_redswitch */ 451 + 0xf100f88d, 452 + 0xb60614e7, 453 + 0xf7f006e4, 454 + 0x00efd020, 455 + /* 0x0483: ctx_redswitch_delay */ 456 + 0xb608f7f0, 457 + 0x1bf401f2, 458 + 0x20f7f1fd, 459 + 0x00efd00a, 460 + /* 0x0492: ctx_xfer */ 461 + 0x17f100f8, 462 + 0x14b60a04, 463 + 0x001fd006, 464 + 0xf50711f4, 465 + /* 0x04a3: ctx_xfer_not_load */ 466 + 0xf1047321, 467 + 0xf04afc17, 468 + 0x27f00213, 469 + 0x0012d00c, 470 + 0x020721f5, 471 + 0x47fc27f1, 472 + 0xd00223f0, 473 + 0x2cf00020, 474 + 0x0320b601, 475 + 0xf00012d0, 476 + 0xa5f001ac, 477 + 0x00b7f002, 478 + 0x9850b3f0, 479 + 0xc4b6040c, 480 + 0x00bcbb0f, 481 + 0x98000c98, 482 + 0xe7f0010d, 483 + 0x5c21f500, 484 + 0x01acf001, 485 + 0x4000b7f1, 486 + 0x9850b3f0, 487 + 0xc4b6040c, 488 + 0x00bcbb0f, 489 + 0x98010c98, 490 + 0x0f98020d, 491 + 0x00e7f106, 492 + 0x5c21f508, 493 + 0x0721f501, 494 + 0x0601f402, 495 + /* 0x0517: ctx_xfer_post */ 496 + 0xf11412f4, 497 + 0xf04afc17, 498 + 0x27f00213, 499 + 0x0012d00d, 500 + 0x020721f5, 501 + /* 0x0528: ctx_xfer_done */ 502 + 0x045e21f5, 503 + 0x000000f8, 504 + 0x00000000, 505 + 0x00000000, 506 + 0x00000000, 507 + 0x00000000, 508 + 0x00000000, 509 + 0x00000000, 510 + 0x00000000, 511 + 0x00000000, 512 + 0x00000000, 513 + 0x00000000, 514 + 0x00000000, 515 + 0x00000000, 430 516 0x00000000, 431 517 0x00000000, 432 518 0x00000000,
-141
drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc
··· 29 29 #define INCLUDE_DATA 30 30 #include "com.fuc" 31 31 #include "gpc.fuc" 32 - 33 - chipsets: 34 - .b8 0xe4 0 0 0 35 - .b16 #nve4_gpc_mmio_head 36 - .b16 #nve4_gpc_mmio_tail 37 - .b16 #nve4_tpc_mmio_head 38 - .b16 #nve4_tpc_mmio_tail 39 - .b8 0xe7 0 0 0 40 - .b16 #nve4_gpc_mmio_head 41 - .b16 #nve4_gpc_mmio_tail 42 - .b16 #nve4_tpc_mmio_head 43 - .b16 #nve4_tpc_mmio_tail 44 - .b8 0xe6 0 0 0 45 - .b16 #nve4_gpc_mmio_head 46 - .b16 #nve4_gpc_mmio_tail 47 - .b16 #nve4_tpc_mmio_head 48 - .b16 #nve4_tpc_mmio_tail 49 - .b8 0xf0 0 0 0 50 - .b16 #nvf0_gpc_mmio_head 51 - .b16 #nvf0_gpc_mmio_tail 52 - .b16 #nvf0_tpc_mmio_head 53 - .b16 #nvf0_tpc_mmio_tail 54 - .b8 0 0 0 0 55 - 56 - // GPC mmio lists 57 - nve4_gpc_mmio_head: 58 - mmctx_data(0x000380, 1) 59 - mmctx_data(0x000400, 2) 60 - mmctx_data(0x00040c, 3) 61 - mmctx_data(0x000450, 9) 62 - mmctx_data(0x000600, 1) 63 - mmctx_data(0x000684, 1) 64 - mmctx_data(0x000700, 5) 65 - mmctx_data(0x000800, 1) 66 - mmctx_data(0x000808, 3) 67 - mmctx_data(0x000828, 1) 68 - mmctx_data(0x000830, 1) 69 - mmctx_data(0x0008d8, 1) 70 - mmctx_data(0x0008e0, 1) 71 - mmctx_data(0x0008e8, 6) 72 - mmctx_data(0x00091c, 1) 73 - mmctx_data(0x000924, 3) 74 - mmctx_data(0x000b00, 1) 75 - mmctx_data(0x000b08, 6) 76 - mmctx_data(0x000bb8, 1) 77 - mmctx_data(0x000c08, 1) 78 - mmctx_data(0x000c10, 8) 79 - mmctx_data(0x000c40, 1) 80 - mmctx_data(0x000c6c, 1) 81 - mmctx_data(0x000c80, 1) 82 - mmctx_data(0x000c8c, 1) 83 - mmctx_data(0x001000, 3) 84 - mmctx_data(0x001014, 1) 85 - nve4_gpc_mmio_tail: 86 - 87 - nvf0_gpc_mmio_head: 88 - mmctx_data(0x000380, 1) 89 - mmctx_data(0x000400, 2) 90 - mmctx_data(0x00040c, 3) 91 - mmctx_data(0x000450, 9) 92 - mmctx_data(0x000600, 1) 93 - mmctx_data(0x000684, 1) 94 - mmctx_data(0x000700, 5) 95 - mmctx_data(0x000800, 1) 96 - mmctx_data(0x000808, 3) 97 - mmctx_data(0x000828, 1) 98 - mmctx_data(0x000830, 1) 99 - mmctx_data(0x0008d8, 1) 100 - mmctx_data(0x0008e0, 1) 101 - mmctx_data(0x0008e8, 6) 102 - mmctx_data(0x00091c, 1) 103 - mmctx_data(0x000924, 3) 104 - mmctx_data(0x000b00, 1) 105 - mmctx_data(0x000b08, 6) 106 - mmctx_data(0x000bb8, 1) 107 - mmctx_data(0x000c08, 1) 108 - mmctx_data(0x000c10, 8) 109 - mmctx_data(0x000c40, 1) 110 - mmctx_data(0x000c6c, 1) 111 - mmctx_data(0x000c80, 1) 112 - mmctx_data(0x000c8c, 1) 113 - mmctx_data(0x000d24, 1) 114 - mmctx_data(0x001000, 3) 115 - mmctx_data(0x001014, 1) 116 - nvf0_gpc_mmio_tail: 117 - 118 - // TPC mmio lists 119 - nve4_tpc_mmio_head: 120 - mmctx_data(0x000048, 1) 121 - mmctx_data(0x000064, 1) 122 - mmctx_data(0x000088, 1) 123 - mmctx_data(0x000200, 6) 124 - mmctx_data(0x00021c, 2) 125 - mmctx_data(0x000230, 1) 126 - mmctx_data(0x0002c4, 1) 127 - mmctx_data(0x000400, 3) 128 - mmctx_data(0x000420, 3) 129 - mmctx_data(0x0004e8, 1) 130 - mmctx_data(0x0004f4, 1) 131 - mmctx_data(0x000604, 4) 132 - mmctx_data(0x000644, 22) 133 - mmctx_data(0x0006ac, 2) 134 - mmctx_data(0x0006c8, 1) 135 - mmctx_data(0x000730, 8) 136 - mmctx_data(0x000758, 1) 137 - mmctx_data(0x000770, 1) 138 - mmctx_data(0x000778, 2) 139 - nve4_tpc_mmio_tail: 140 - 141 - nvf0_tpc_mmio_head: 142 - mmctx_data(0x000048, 1) 143 - mmctx_data(0x000064, 1) 144 - mmctx_data(0x000088, 1) 145 - mmctx_data(0x000200, 6) 146 - mmctx_data(0x00021c, 2) 147 - mmctx_data(0x000230, 1) 148 - mmctx_data(0x0002c4, 1) 149 - mmctx_data(0x000400, 3) 150 - mmctx_data(0x000420, 3) 151 - mmctx_data(0x0004e8, 1) 152 - mmctx_data(0x0004f4, 1) 153 - mmctx_data(0x000604, 4) 154 - mmctx_data(0x000644, 22) 155 - mmctx_data(0x0006ac, 2) 156 - mmctx_data(0x0006b8, 1) 157 - mmctx_data(0x0006c8, 1) 158 - mmctx_data(0x000730, 8) 159 - mmctx_data(0x000758, 1) 160 - mmctx_data(0x000770, 1) 161 - mmctx_data(0x000778, 2) 162 - nvf0_tpc_mmio_tail: 163 - 164 - // UNK mmio lists 165 - nve4_unk_mmio_head: 166 - mmctx_data(0x000024, 1) 167 - mmctx_data(0x0000c0, 2) 168 - mmctx_data(0x0000e4, 1) 169 - mmctx_data(0x000100, 6) 170 - mmctx_data(0x0001d0, 1) 171 - mmctx_data(0x0001e0, 2) 172 - nve4_unk_mmio_tail: 173 32 #undef INCLUDE_DATA 174 33 175 34 .section #nve0_grgpc_code
+171 -298
drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc.h
··· 1 1 uint32_t nve0_grgpc_data[] = { 2 - /* 0x0000: gpc_id */ 2 + /* 0x0000: gpc_mmio_list_head */ 3 + 0x0000006c, 4 + /* 0x0004: gpc_mmio_list_tail */ 5 + /* 0x0004: tpc_mmio_list_head */ 6 + 0x0000006c, 7 + /* 0x0008: tpc_mmio_list_tail */ 8 + /* 0x0008: unk_mmio_list_head */ 9 + 0x0000006c, 10 + /* 0x000c: unk_mmio_list_tail */ 11 + 0x0000006c, 12 + /* 0x0010: gpc_id */ 3 13 0x00000000, 4 - /* 0x0004: gpc_mmio_list_head */ 14 + /* 0x0014: tpc_count */ 5 15 0x00000000, 6 - /* 0x0008: gpc_mmio_list_tail */ 7 - 0x00000000, 8 - /* 0x000c: tpc_count */ 9 - 0x00000000, 10 - /* 0x0010: tpc_mask */ 11 - 0x00000000, 12 - /* 0x0014: tpc_mmio_list_head */ 13 - 0x00000000, 14 - /* 0x0018: tpc_mmio_list_tail */ 16 + /* 0x0018: tpc_mask */ 15 17 0x00000000, 16 18 /* 0x001c: unk_count */ 17 19 0x00000001, 18 20 /* 0x0020: unk_mask */ 19 21 0x00000001, 20 - /* 0x0024: unk_mmio_list_head */ 21 - 0x00000220, 22 - /* 0x0028: unk_mmio_list_tail */ 23 - 0x00000238, 24 - /* 0x002c: cmd_queue */ 22 + /* 0x0024: cmd_queue */ 25 23 0x00000000, 26 24 0x00000000, 27 25 0x00000000, ··· 38 40 0x00000000, 39 41 0x00000000, 40 42 0x00000000, 41 - /* 0x0074: chipsets */ 42 - 0x000000e4, 43 - 0x011400a8, 44 - 0x01d00184, 45 - 0x000000e7, 46 - 0x011400a8, 47 - 0x01d00184, 48 - 0x000000e6, 49 - 0x011400a8, 50 - 0x01d00184, 51 - 0x000000f0, 52 - 0x01840114, 53 - 0x022001d0, 54 - 0x00000000, 55 - /* 0x00a8: nve4_gpc_mmio_head */ 56 - 0x00000380, 57 - 0x04000400, 58 - 0x0800040c, 59 - 0x20000450, 60 - 0x00000600, 61 - 0x00000684, 62 - 0x10000700, 63 - 0x00000800, 64 - 0x08000808, 65 - 0x00000828, 66 - 0x00000830, 67 - 0x000008d8, 68 - 0x000008e0, 69 - 0x140008e8, 70 - 0x0000091c, 71 - 0x08000924, 72 - 0x00000b00, 73 - 0x14000b08, 74 - 0x00000bb8, 75 - 0x00000c08, 76 - 0x1c000c10, 77 - 0x00000c40, 78 - 0x00000c6c, 79 - 0x00000c80, 80 - 0x00000c8c, 81 - 0x08001000, 82 - 0x00001014, 83 - /* 0x0114: nve4_gpc_mmio_tail */ 84 - /* 0x0114: nvf0_gpc_mmio_head */ 85 - 0x00000380, 86 - 0x04000400, 87 - 0x0800040c, 88 - 0x20000450, 89 - 0x00000600, 90 - 0x00000684, 91 - 0x10000700, 92 - 0x00000800, 93 - 0x08000808, 94 - 0x00000828, 95 - 0x00000830, 96 - 0x000008d8, 97 - 0x000008e0, 98 - 0x140008e8, 99 - 0x0000091c, 100 - 0x08000924, 101 - 0x00000b00, 102 - 0x14000b08, 103 - 0x00000bb8, 104 - 0x00000c08, 105 - 0x1c000c10, 106 - 0x00000c40, 107 - 0x00000c6c, 108 - 0x00000c80, 109 - 0x00000c8c, 110 - 0x00000d24, 111 - 0x08001000, 112 - 0x00001014, 113 - /* 0x0184: nvf0_gpc_mmio_tail */ 114 - /* 0x0184: nve4_tpc_mmio_head */ 115 - 0x00000048, 116 - 0x00000064, 117 - 0x00000088, 118 - 0x14000200, 119 - 0x0400021c, 120 - 0x00000230, 121 - 0x000002c4, 122 - 0x08000400, 123 - 0x08000420, 124 - 0x000004e8, 125 - 0x000004f4, 126 - 0x0c000604, 127 - 0x54000644, 128 - 0x040006ac, 129 - 0x000006c8, 130 - 0x1c000730, 131 - 0x00000758, 132 - 0x00000770, 133 - 0x04000778, 134 - /* 0x01d0: nve4_tpc_mmio_tail */ 135 - /* 0x01d0: nvf0_tpc_mmio_head */ 136 - 0x00000048, 137 - 0x00000064, 138 - 0x00000088, 139 - 0x14000200, 140 - 0x0400021c, 141 - 0x00000230, 142 - 0x000002c4, 143 - 0x08000400, 144 - 0x08000420, 145 - 0x000004e8, 146 - 0x000004f4, 147 - 0x0c000604, 148 - 0x54000644, 149 - 0x040006ac, 150 - 0x000006b8, 151 - 0x000006c8, 152 - 0x1c000730, 153 - 0x00000758, 154 - 0x00000770, 155 - 0x04000778, 156 - /* 0x0220: nvf0_tpc_mmio_tail */ 157 - /* 0x0220: nve4_unk_mmio_head */ 158 - 0x00000024, 159 - 0x040000c0, 160 - 0x000000e4, 161 - 0x14000100, 162 - 0x000001d0, 163 - 0x040001e0, 164 43 }; 165 44 166 45 uint32_t nve0_grgpc_code[] = { ··· 271 396 0xf10004fe, 272 397 0xf0120017, 273 398 0x12d00227, 274 - 0x5417f100, 399 + 0x2317f100, 275 400 0x0010fe04, 276 401 0x040017f1, 277 402 0xf0c010d0, ··· 283 408 0x1f24f001, 284 409 0xb60432bb, 285 410 0x02800132, 286 - 0x04038003, 411 + 0x06038005, 287 412 0x040010b7, 288 413 0x800012cf, 289 - 0x27f10002, 414 + 0x27f10402, 290 415 0x24b60800, 291 - 0x0022cf06, 292 - /* 0x035f: init_find_chipset */ 293 - 0xb66817f0, 294 - 0x13980c10, 295 - 0x0432b800, 296 - 0xb00b0bf4, 297 - 0x1bf40034, 298 - /* 0x0373: init_context */ 299 - 0xf100f8f1, 300 - 0xb6080027, 301 - 0x22cf0624, 302 - 0xf134bd40, 303 - 0xb6070047, 304 - 0x25950644, 305 - 0x0045d008, 306 - 0xbd4045d0, 307 - 0x58f4bde4, 308 - 0x1f58021e, 309 - 0x020e4003, 310 - 0xf5040f40, 311 - 0xbb013d21, 312 - 0x3fbb002f, 313 - 0x041e5800, 314 - 0x40051f58, 315 - 0x0f400a0e, 316 - 0x3d21f50c, 317 - 0x030e9801, 318 - 0xbb00effd, 319 - 0x3ebb002e, 320 - 0x090e9800, 321 - 0xf50a0f98, 322 - 0x98013d21, 323 - 0xeffd070e, 324 - 0x002ebb00, 325 - 0xb7003ebb, 326 - 0xb6130040, 327 - 0x43d00235, 328 - 0x0825b600, 329 - 0xb60635b6, 330 - 0x30b60120, 331 - 0x0824b601, 332 - 0xb90834b6, 333 - 0x21f5022f, 334 - 0x3fbb0263, 335 - 0x0017f100, 336 - 0x0614b608, 337 - 0xb74013d0, 338 - 0xbd080010, 339 - 0x1f29f024, 340 - /* 0x0417: main */ 341 - 0xf40012d0, 342 - 0x28f40031, 343 - 0x2cd7f000, 344 - 0xf43921f4, 345 - 0xe4b0f401, 346 - 0x1e18f404, 347 - 0xf00181fe, 348 - 0x20bd0627, 349 - 0xb60412fd, 350 - 0x1efd01e4, 351 - 0x0018fe05, 352 - 0x04d921f5, 353 - /* 0x0447: main_not_ctx_xfer */ 354 - 0x94d30ef4, 355 - 0xf5f010ef, 356 - 0xec21f501, 357 - 0xc60ef402, 358 - /* 0x0454: ih */ 359 - 0x88fe80f9, 360 - 0xf980f901, 361 - 0xf9a0f990, 362 - 0xf9d0f9b0, 363 - 0xcff0f9e0, 364 - 0xabc4800a, 365 - 0x1d0bf404, 366 - 0x1900b7f1, 367 - 0xcf2cd7f0, 368 - 0xbfcf40be, 369 - 0x0421f400, 370 - 0x0400b0b7, 371 - 0xd001e7f0, 372 - /* 0x048a: ih_no_fifo */ 373 - 0x0ad000be, 374 - 0xfcf0fc40, 375 - 0xfcd0fce0, 376 - 0xfca0fcb0, 377 - 0xfe80fc90, 378 - 0x80fc0088, 379 - 0xf80032f4, 380 - /* 0x04a5: hub_barrier_done */ 381 - 0x01f7f001, 382 - 0xbb000e98, 383 - 0xe7f104fe, 384 - 0xe3f09418, 385 - 0x8d21f440, 386 - /* 0x04ba: ctx_redswitch */ 387 - 0xe7f100f8, 388 - 0xe4b60614, 389 - 0x20f7f006, 390 - 0xf000efd0, 391 - /* 0x04ca: ctx_redswitch_delay */ 392 - 0xf2b608f7, 393 - 0xfd1bf401, 394 - 0x0a20f7f1, 395 - 0xf800efd0, 396 - /* 0x04d9: ctx_xfer */ 397 - 0x0417f100, 398 - 0x0614b60a, 399 - 0xf4001fd0, 400 - 0x21f50711, 401 - /* 0x04ea: ctx_xfer_not_load */ 402 - 0x17f104ba, 403 - 0x13f04afc, 404 - 0x0c27f002, 405 - 0xf50012d0, 406 - 0xf1020721, 407 - 0xf047fc27, 408 - 0x20d00223, 409 - 0x012cf000, 410 - 0xd00320b6, 411 - 0xacf00012, 412 - 0x02a5f001, 413 - 0xf000b7f0, 414 - 0x0c9850b3, 415 - 0x0fc4b600, 416 - 0x9800bcbb, 417 - 0x0d98010c, 418 - 0x00e7f002, 419 - 0x015c21f5, 420 - 0xf101acf0, 421 - 0xf04000b7, 422 - 0x0c9850b3, 423 - 0x0fc4b600, 424 - 0x9800bcbb, 425 - 0x0d98050c, 426 - 0x040f9806, 427 - 0x0800e7f1, 428 - 0x015c21f5, 429 - 0xf001acf0, 430 - 0xb7f104a5, 431 - 0xb3f03000, 432 - 0x000c9850, 416 + 0x4022cf06, 417 + 0x47f134bd, 418 + 0x44b60700, 419 + 0x08259506, 420 + 0xd00045d0, 421 + 0x0e984045, 422 + 0x010f9800, 423 + 0x013d21f5, 424 + 0xbb002fbb, 425 + 0x0e98003f, 426 + 0x020f9801, 427 + 0x013d21f5, 428 + 0xfd050e98, 429 + 0x2ebb00ef, 430 + 0x003ebb00, 431 + 0x98020e98, 432 + 0x21f5030f, 433 + 0x0e98013d, 434 + 0x00effd07, 435 + 0xbb002ebb, 436 + 0x40b7003e, 437 + 0x35b61300, 438 + 0x0043d002, 439 + 0xb60825b6, 440 + 0x20b60635, 441 + 0x0130b601, 442 + 0xb60824b6, 443 + 0x2fb90834, 444 + 0x6321f502, 445 + 0x003fbb02, 446 + 0x080017f1, 447 + 0xd00614b6, 448 + 0x10b74013, 449 + 0x24bd0800, 450 + 0xd01f29f0, 451 + /* 0x03e6: main */ 452 + 0x31f40012, 453 + 0x0028f400, 454 + 0xf424d7f0, 455 + 0x01f43921, 456 + 0x04e4b0f4, 457 + 0xfe1e18f4, 458 + 0x27f00181, 459 + 0xfd20bd06, 460 + 0xe4b60412, 461 + 0x051efd01, 462 + 0xf50018fe, 463 + 0xf404a821, 464 + /* 0x0416: main_not_ctx_xfer */ 465 + 0xef94d30e, 466 + 0x01f5f010, 467 + 0x02ec21f5, 468 + /* 0x0423: ih */ 469 + 0xf9c60ef4, 470 + 0x0188fe80, 471 + 0x90f980f9, 472 + 0xb0f9a0f9, 473 + 0xe0f9d0f9, 474 + 0x0acff0f9, 475 + 0x04abc480, 476 + 0xf11d0bf4, 477 + 0xf01900b7, 478 + 0xbecf24d7, 479 + 0x00bfcf40, 480 + 0xb70421f4, 481 + 0xf00400b0, 482 + 0xbed001e7, 483 + /* 0x0459: ih_no_fifo */ 484 + 0x400ad000, 485 + 0xe0fcf0fc, 486 + 0xb0fcd0fc, 487 + 0x90fca0fc, 488 + 0x88fe80fc, 489 + 0xf480fc00, 490 + 0x01f80032, 491 + /* 0x0474: hub_barrier_done */ 492 + 0x9801f7f0, 493 + 0xfebb040e, 494 + 0x18e7f104, 495 + 0x40e3f094, 496 + 0xf88d21f4, 497 + /* 0x0489: ctx_redswitch */ 498 + 0x14e7f100, 499 + 0x06e4b606, 500 + 0xd020f7f0, 501 + 0xf7f000ef, 502 + /* 0x0499: ctx_redswitch_delay */ 503 + 0x01f2b608, 504 + 0xf1fd1bf4, 505 + 0xd00a20f7, 506 + 0x00f800ef, 507 + /* 0x04a8: ctx_xfer */ 508 + 0x0a0417f1, 509 + 0xd00614b6, 510 + 0x11f4001f, 511 + 0x8921f507, 512 + /* 0x04b9: ctx_xfer_not_load */ 513 + 0xfc17f104, 514 + 0x0213f04a, 515 + 0xd00c27f0, 516 + 0x21f50012, 517 + 0x27f10207, 518 + 0x23f047fc, 519 + 0x0020d002, 520 + 0xb6012cf0, 521 + 0x12d00320, 522 + 0x01acf000, 523 + 0xf002a5f0, 524 + 0xb3f000b7, 525 + 0x040c9850, 433 526 0xbb0fc4b6, 434 527 0x0c9800bc, 435 - 0x0a0d9809, 436 - 0xf1080f98, 437 - 0xf50200e7, 438 - 0xf5015c21, 439 - 0xf4020721, 440 - 0x12f40601, 441 - /* 0x0585: ctx_xfer_post */ 442 - 0xfc17f114, 443 - 0x0213f04a, 444 - 0xd00d27f0, 445 - 0x21f50012, 446 - /* 0x0596: ctx_xfer_done */ 447 - 0x21f50207, 448 - 0x00f804a5, 528 + 0x010d9800, 529 + 0xf500e7f0, 530 + 0xf0015c21, 531 + 0xb7f101ac, 532 + 0xb3f04000, 533 + 0x040c9850, 534 + 0xbb0fc4b6, 535 + 0x0c9800bc, 536 + 0x020d9801, 537 + 0xf1060f98, 538 + 0xf50800e7, 539 + 0xf0015c21, 540 + 0xa5f001ac, 541 + 0x00b7f104, 542 + 0x50b3f030, 543 + 0xb6040c98, 544 + 0xbcbb0fc4, 545 + 0x020c9800, 546 + 0x98030d98, 547 + 0xe7f1080f, 548 + 0x21f50200, 549 + 0x21f5015c, 550 + 0x01f40207, 551 + 0x1412f406, 552 + /* 0x0554: ctx_xfer_post */ 553 + 0x4afc17f1, 554 + 0xf00213f0, 555 + 0x12d00d27, 556 + 0x0721f500, 557 + /* 0x0565: ctx_xfer_done */ 558 + 0x7421f502, 559 + 0x0000f804, 560 + 0x00000000, 561 + 0x00000000, 562 + 0x00000000, 563 + 0x00000000, 564 + 0x00000000, 565 + 0x00000000, 566 + 0x00000000, 567 + 0x00000000, 568 + 0x00000000, 569 + 0x00000000, 570 + 0x00000000, 571 + 0x00000000, 449 572 0x00000000, 450 573 0x00000000, 451 574 0x00000000,
+8 -29
drivers/gpu/drm/nouveau/core/engine/graph/fuc/hub.fuc
··· 24 24 */ 25 25 26 26 #ifdef INCLUDE_DATA 27 + hub_mmio_list_head: .b32 #hub_mmio_list_base 28 + hub_mmio_list_tail: .b32 #hub_mmio_list_next 29 + 27 30 gpc_count: .b32 0 28 31 rop_count: .b32 0 29 32 cmd_queue: queue_init 30 - hub_mmio_list_head: .b32 0 31 - hub_mmio_list_tail: .b32 0 32 33 33 34 ctx_current: .b32 0 34 35 ··· 41 40 .align 256 42 41 xfer_data: .skip 256 43 42 43 + hub_mmio_list_base: 44 + .b32 0x0417e91c // 0x17e91c, 2 45 + hub_mmio_list_next: 44 46 #endif 45 47 46 48 #ifdef INCLUDE_CODE ··· 65 61 66 62 // HUB fuc initialisation, executed by triggering ucode start, will 67 63 // fall through to main loop after completion. 68 - // 69 - // Input: 70 - // CC_SCRATCH[0]: chipset (PMC_BOOT_0 read returns 0x0bad0bad... sigh) 71 64 // 72 65 // Output: 73 66 // CC_SCRATCH[0]: ··· 142 141 iowr I[$r2 + 0x000] $r1 143 142 iowr I[$r2 + 0x100] $r1 144 143 145 - // find context data for this chipset 146 - mov $r2 0x800 147 - shl b32 $r2 6 148 - iord $r2 I[$r2 + 0x000] // CC_SCRATCH[0] 149 - mov $r15 #chipsets - 8 150 - init_find_chipset: 151 - add b32 $r15 8 152 - ld b32 $r3 D[$r15 + 0x00] 153 - cmpu b32 $r3 $r2 154 - bra e #init_context 155 - cmpu b32 $r3 0 156 - bra ne #init_find_chipset 157 - // unknown chipset 158 - ret 159 - 160 144 // context size calculation, reserve first 256 bytes for use by fuc 161 - init_context: 162 145 mov $r1 256 163 146 164 147 // calculate size of mmio context data 165 - ld b16 $r14 D[$r15 + 4] 166 - ld b16 $r15 D[$r15 + 6] 167 - sethi $r14 0 168 - st b32 D[$r0 + #hub_mmio_list_head] $r14 169 - st b32 D[$r0 + #hub_mmio_list_tail] $r15 148 + ld b32 $r14 D[$r0 + #hub_mmio_list_head] 149 + ld b32 $r15 D[$r0 + #hub_mmio_list_tail] 170 150 call #mmctx_size 171 151 172 152 // set mmctx base addresses now so we don't have to do it later, ··· 186 204 add b32 $r14 $r4 0x804 187 205 mov b32 $r15 $r1 188 206 call #nv_wr32 // CC_SCRATCH[1] = ctx offset 189 - add b32 $r14 $r4 0x800 190 - mov b32 $r15 $r2 191 - call #nv_wr32 // CC_SCRATCH[0] = chipset 192 207 add b32 $r14 $r4 0x10c 193 208 clear b32 $r15 194 209 call #nv_wr32
-79
drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc
··· 29 29 #define INCLUDE_DATA 30 30 #include "com.fuc" 31 31 #include "hub.fuc" 32 - 33 - chipsets: 34 - .b8 0xc0 0 0 0 35 - .b16 #nvc0_hub_mmio_head 36 - .b16 #nvc0_hub_mmio_tail 37 - .b8 0xc1 0 0 0 38 - .b16 #nvc0_hub_mmio_head 39 - .b16 #nvc1_hub_mmio_tail 40 - .b8 0xc3 0 0 0 41 - .b16 #nvc0_hub_mmio_head 42 - .b16 #nvc0_hub_mmio_tail 43 - .b8 0xc4 0 0 0 44 - .b16 #nvc0_hub_mmio_head 45 - .b16 #nvc0_hub_mmio_tail 46 - .b8 0xc8 0 0 0 47 - .b16 #nvc0_hub_mmio_head 48 - .b16 #nvc0_hub_mmio_tail 49 - .b8 0xce 0 0 0 50 - .b16 #nvc0_hub_mmio_head 51 - .b16 #nvc0_hub_mmio_tail 52 - .b8 0xcf 0 0 0 53 - .b16 #nvc0_hub_mmio_head 54 - .b16 #nvc0_hub_mmio_tail 55 - .b8 0xd9 0 0 0 56 - .b16 #nvd9_hub_mmio_head 57 - .b16 #nvd9_hub_mmio_tail 58 - .b8 0xd7 0 0 0 59 - .b16 #nvd9_hub_mmio_head 60 - .b16 #nvd9_hub_mmio_tail 61 - .b8 0 0 0 0 62 - 63 - nvc0_hub_mmio_head: 64 - mmctx_data(0x40402c, 1) 65 - mmctx_data(0x404174, 1) 66 - nvd9_hub_mmio_head: 67 - mmctx_data(0x17e91c, 2) 68 - mmctx_data(0x400204, 2) 69 - mmctx_data(0x404004, 10) 70 - mmctx_data(0x404044, 1) 71 - mmctx_data(0x404094, 14) 72 - mmctx_data(0x4040d0, 7) 73 - mmctx_data(0x4040f8, 1) 74 - mmctx_data(0x404130, 3) 75 - mmctx_data(0x404150, 3) 76 - mmctx_data(0x404164, 2) 77 - mmctx_data(0x404178, 2) 78 - mmctx_data(0x404200, 8) 79 - mmctx_data(0x404404, 14) 80 - mmctx_data(0x404460, 4) 81 - mmctx_data(0x404480, 1) 82 - mmctx_data(0x404498, 1) 83 - mmctx_data(0x404604, 4) 84 - mmctx_data(0x404618, 32) 85 - mmctx_data(0x404698, 21) 86 - mmctx_data(0x4046f0, 2) 87 - mmctx_data(0x404700, 22) 88 - mmctx_data(0x405800, 1) 89 - mmctx_data(0x405830, 3) 90 - mmctx_data(0x405854, 1) 91 - mmctx_data(0x405870, 4) 92 - mmctx_data(0x405a00, 2) 93 - mmctx_data(0x405a18, 1) 94 - mmctx_data(0x406020, 1) 95 - mmctx_data(0x406028, 4) 96 - mmctx_data(0x4064a8, 2) 97 - mmctx_data(0x4064b4, 2) 98 - mmctx_data(0x407804, 1) 99 - mmctx_data(0x40780c, 6) 100 - mmctx_data(0x4078bc, 1) 101 - mmctx_data(0x408000, 7) 102 - mmctx_data(0x408064, 1) 103 - mmctx_data(0x408800, 3) 104 - mmctx_data(0x408900, 3) 105 - mmctx_data(0x408980, 1) 106 - nvc0_hub_mmio_tail: 107 - mmctx_data(0x4064c0, 2) 108 - nvc1_hub_mmio_tail: 109 - mmctx_data(0x4064bc, 3) 110 - nvd9_hub_mmio_tail: 111 32 #undef INCLUDE_DATA 112 33 113 34 .section #nvc0_grhub_code
+376 -507
drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h
··· 1 1 uint32_t nvc0_grhub_data[] = { 2 - /* 0x0000: gpc_count */ 2 + /* 0x0000: hub_mmio_list_head */ 3 + 0x00000300, 4 + /* 0x0004: hub_mmio_list_tail */ 5 + 0x00000304, 6 + /* 0x0008: gpc_count */ 3 7 0x00000000, 4 - /* 0x0004: rop_count */ 8 + /* 0x000c: rop_count */ 5 9 0x00000000, 6 - /* 0x0008: cmd_queue */ 7 - 0x00000000, 8 - 0x00000000, 9 - 0x00000000, 10 - 0x00000000, 11 - 0x00000000, 12 - 0x00000000, 10 + /* 0x0010: cmd_queue */ 13 11 0x00000000, 14 12 0x00000000, 15 13 0x00000000, ··· 20 22 0x00000000, 21 23 0x00000000, 22 24 0x00000000, 23 - /* 0x0050: hub_mmio_list_head */ 24 25 0x00000000, 25 - /* 0x0054: hub_mmio_list_tail */ 26 + 0x00000000, 27 + 0x00000000, 28 + 0x00000000, 29 + 0x00000000, 26 30 0x00000000, 27 31 /* 0x0058: ctx_current */ 28 32 0x00000000, ··· 201 201 0x00000000, 202 202 0x00000000, 203 203 0x00000000, 204 - /* 0x0300: chipsets */ 205 - 0x000000c0, 206 - 0x03f0034c, 207 - 0x000000c1, 208 - 0x03f4034c, 209 - 0x000000c3, 210 - 0x03f0034c, 211 - 0x000000c4, 212 - 0x03f0034c, 213 - 0x000000c8, 214 - 0x03f0034c, 215 - 0x000000ce, 216 - 0x03f0034c, 217 - 0x000000cf, 218 - 0x03f0034c, 219 - 0x000000d9, 220 - 0x03f80354, 221 - 0x000000d7, 222 - 0x03f80354, 223 - 0x00000000, 224 - /* 0x034c: nvc0_hub_mmio_head */ 225 - 0x0040402c, 226 - 0x00404174, 227 - /* 0x0354: nvd9_hub_mmio_head */ 204 + /* 0x0300: hub_mmio_list_base */ 228 205 0x0417e91c, 229 - 0x04400204, 230 - 0x24404004, 231 - 0x00404044, 232 - 0x34404094, 233 - 0x184040d0, 234 - 0x004040f8, 235 - 0x08404130, 236 - 0x08404150, 237 - 0x04404164, 238 - 0x04404178, 239 - 0x1c404200, 240 - 0x34404404, 241 - 0x0c404460, 242 - 0x00404480, 243 - 0x00404498, 244 - 0x0c404604, 245 - 0x7c404618, 246 - 0x50404698, 247 - 0x044046f0, 248 - 0x54404700, 249 - 0x00405800, 250 - 0x08405830, 251 - 0x00405854, 252 - 0x0c405870, 253 - 0x04405a00, 254 - 0x00405a18, 255 - 0x00406020, 256 - 0x0c406028, 257 - 0x044064a8, 258 - 0x044064b4, 259 - 0x00407804, 260 - 0x1440780c, 261 - 0x004078bc, 262 - 0x18408000, 263 - 0x00408064, 264 - 0x08408800, 265 - 0x08408900, 266 - 0x00408980, 267 - /* 0x03f0: nvc0_hub_mmio_tail */ 268 - 0x044064c0, 269 - /* 0x03f4: nvc1_hub_mmio_tail */ 270 - 0x084064bc, 271 206 }; 272 207 273 208 uint32_t nvc0_grhub_code[] = { ··· 438 503 0x0017f100, 439 504 0x0227f012, 440 505 0xf10012d0, 441 - 0xfe05ba17, 506 + 0xfe058517, 442 507 0x17f10010, 443 508 0x10d00400, 444 509 0x0437f1c0, ··· 462 527 0x9604e7f1, 463 528 0xf440e3f0, 464 529 0xf1c76821, 465 - 0x01018090, 530 + 0x03018090, 466 531 0x801ff4f0, 467 - 0x17f0000f, 532 + 0x17f0020f, 468 533 0x041fbb01, 469 534 0xf10112b6, 470 535 0xb6040c27, 471 536 0x21d00624, 472 537 0x4021d000, 473 - 0x080027f1, 474 - 0xcf0624b6, 475 - 0xf7f10022, 476 - /* 0x03aa: init_find_chipset */ 477 - 0xf0b602f8, 478 - 0x00f39808, 479 - 0xf40432b8, 480 - 0x34b00b0b, 481 - 0xf11bf400, 482 - /* 0x03be: init_context */ 483 - 0x17f100f8, 484 - 0xfe580100, 485 - 0x03ff5802, 486 - 0x8000e3f0, 487 - 0x0f80140e, 488 - 0x3d21f515, 489 - 0x0037f101, 490 - 0x0634b607, 491 - 0xd0081495, 492 - 0x34d00034, 493 - 0x0030b740, 494 - 0x001fbb13, 495 - 0xd002f5b6, 496 - 0x15b6003f, 497 - 0x0110b608, 498 - 0xb90814b6, 499 - 0x21f5021f, 500 - 0x1fbb0263, 501 - 0x00039800, 502 - 0x200047f1, 503 - /* 0x040f: init_gpc */ 504 - 0xa05043f0, 505 - 0xb908044e, 506 - 0x21f4021f, 507 - 0x004ea08d, 508 - 0x022fb908, 538 + 0x010017f1, 539 + 0x98000e98, 540 + 0x21f5010f, 541 + 0x37f1013d, 542 + 0x34b60700, 543 + 0x08149506, 544 + 0xd00034d0, 545 + 0x30b74034, 546 + 0x1fbb1300, 547 + 0x02f5b600, 548 + 0xb6003fd0, 549 + 0x10b60815, 550 + 0x0814b601, 551 + 0xf5021fb9, 552 + 0xbb026321, 553 + 0x0398001f, 554 + 0x0047f102, 555 + 0x5043f020, 556 + /* 0x03e4: init_gpc */ 557 + 0x08044ea0, 558 + 0xf4021fb9, 559 + 0x4ea08d21, 560 + 0xf4bd010c, 509 561 0xa08d21f4, 510 - 0xbd010c4e, 511 - 0x8d21f4f4, 512 - 0x01044ea0, 513 - 0xa08d21f4, 514 - 0xf001004e, 515 - 0x21f402f7, 516 - 0x004ea08d, 517 - /* 0x0441: init_gpc_wait */ 562 + 0xf401044e, 563 + 0x4ea08d21, 564 + 0xf7f00100, 565 + 0x8d21f402, 566 + 0x08004ea0, 567 + /* 0x040c: init_gpc_wait */ 568 + 0xc86821f4, 569 + 0x0bf41fff, 570 + 0x044ea0fa, 518 571 0x6821f408, 519 - 0xf41fffc8, 520 - 0x4ea0fa0b, 521 - 0x21f40804, 522 - 0x001fbb68, 523 - 0x800040b7, 524 - 0xf40132b6, 525 - 0x27f1b41b, 526 - 0x24b60800, 527 - 0x4021d006, 528 - 0x080020b7, 529 - 0x19f014bd, 530 - 0x0021d01f, 531 - /* 0x0474: main */ 532 - 0xf40031f4, 533 - 0xd7f00028, 534 - 0x3921f408, 535 - 0xb1f401f4, 536 - 0xf54001e4, 537 - 0xf100d11b, 572 + 0xb7001fbb, 573 + 0xb6800040, 574 + 0x1bf40132, 575 + 0x0027f1be, 576 + 0x0624b608, 577 + 0xb74021d0, 578 + 0xbd080020, 579 + 0x1f19f014, 580 + /* 0x043f: main */ 581 + 0xf40021d0, 582 + 0x28f40031, 583 + 0x10d7f000, 584 + 0xf43921f4, 585 + 0xe4b1f401, 586 + 0x1bf54001, 587 + 0x87f100d1, 588 + 0x84b6083c, 589 + 0xf094bd06, 590 + 0x89d00499, 591 + 0x0017f100, 592 + 0x0614b60b, 593 + 0xcf4012cf, 594 + 0x13c80011, 595 + 0x7e0bf41f, 596 + 0xf41f23c8, 597 + 0x20f95a0b, 598 + 0xf10212b9, 538 599 0xb6083c87, 539 600 0x94bd0684, 540 - 0xd00499f0, 541 - 0x17f10089, 542 - 0x14b60b00, 543 - 0x4012cf06, 544 - 0xc80011cf, 545 - 0x0bf41f13, 546 - 0x1f23c87e, 547 - 0xf95a0bf4, 548 - 0x0212b920, 549 - 0x083c87f1, 601 + 0xd00799f0, 602 + 0x32f40089, 603 + 0x0231f401, 604 + 0x07f521f5, 605 + 0x085c87f1, 550 606 0xbd0684b6, 551 607 0x0799f094, 552 - 0xf40089d0, 553 - 0x31f40132, 554 - 0x2a21f502, 555 - 0x5c87f108, 608 + 0xfc0089d0, 609 + 0x3c87f120, 610 + 0x0684b608, 611 + 0x99f094bd, 612 + 0x0089d006, 613 + 0xf50131f4, 614 + 0xf107f521, 615 + 0xb6085c87, 616 + 0x94bd0684, 617 + 0xd00699f0, 618 + 0x0ef40089, 619 + /* 0x04d5: chsw_prev_no_next */ 620 + 0xb920f931, 621 + 0x32f40212, 622 + 0x0232f401, 623 + 0x07f521f5, 624 + 0x17f120fc, 625 + 0x14b60b00, 626 + 0x0012d006, 627 + /* 0x04f3: chsw_no_prev */ 628 + 0xc8130ef4, 629 + 0x0bf41f23, 630 + 0x0131f40d, 631 + 0xf50232f4, 632 + /* 0x0503: chsw_done */ 633 + 0xf107f521, 634 + 0xb60b0c17, 635 + 0x27f00614, 636 + 0x0012d001, 637 + 0x085c87f1, 638 + 0xbd0684b6, 639 + 0x0499f094, 640 + 0xf50089d0, 641 + /* 0x0523: main_not_ctx_switch */ 642 + 0xb0ff200e, 643 + 0x1bf401e4, 644 + 0x02f2b90d, 645 + 0x078121f5, 646 + /* 0x0533: main_not_ctx_chan */ 647 + 0xb0420ef4, 648 + 0x1bf402e4, 649 + 0x3c87f12e, 556 650 0x0684b608, 557 651 0x99f094bd, 558 652 0x0089d007, 559 - 0x87f120fc, 560 - 0x84b6083c, 561 - 0xf094bd06, 562 - 0x89d00699, 563 - 0x0131f400, 564 - 0x082a21f5, 565 - 0x085c87f1, 566 - 0xbd0684b6, 567 - 0x0699f094, 568 - 0xf40089d0, 569 - /* 0x050a: chsw_prev_no_next */ 570 - 0x20f9310e, 571 - 0xf40212b9, 572 - 0x32f40132, 573 - 0x2a21f502, 574 - 0xf120fc08, 575 - 0xb60b0017, 576 - 0x12d00614, 577 - 0x130ef400, 578 - /* 0x0528: chsw_no_prev */ 579 - 0xf41f23c8, 580 - 0x31f40d0b, 581 - 0x0232f401, 582 - 0x082a21f5, 583 - /* 0x0538: chsw_done */ 584 - 0x0b0c17f1, 585 - 0xf00614b6, 586 - 0x12d00127, 587 - 0x5c87f100, 588 - 0x0684b608, 589 - 0x99f094bd, 590 - 0x0089d004, 591 - 0xff200ef5, 592 - /* 0x0558: main_not_ctx_switch */ 593 - 0xf401e4b0, 594 - 0xf2b90d1b, 595 - 0xb621f502, 596 - 0x420ef407, 597 - /* 0x0568: main_not_ctx_chan */ 598 - 0xf402e4b0, 599 - 0x87f12e1b, 600 - 0x84b6083c, 653 + 0xf40132f4, 654 + 0x21f50232, 655 + 0x87f107f5, 656 + 0x84b6085c, 601 657 0xf094bd06, 602 658 0x89d00799, 603 - 0x0132f400, 604 - 0xf50232f4, 605 - 0xf1082a21, 606 - 0xb6085c87, 607 - 0x94bd0684, 608 - 0xd00799f0, 609 - 0x0ef40089, 610 - /* 0x0599: main_not_ctx_save */ 611 - 0x10ef9411, 612 - 0xf501f5f0, 613 - 0xf502ec21, 614 - /* 0x05a7: main_done */ 615 - 0xf1fed10e, 616 - 0xb6082017, 617 - 0x24bd0614, 618 - 0xd01f29f0, 619 - 0x0ef50012, 620 - /* 0x05ba: ih */ 621 - 0x80f9febe, 622 - 0xf90188fe, 623 - 0xf990f980, 624 - 0xf9b0f9a0, 625 - 0xf9e0f9d0, 626 - 0x800acff0, 627 - 0xf404abc4, 628 - 0xb7f11d0b, 629 - 0xd7f01900, 630 - 0x40becf08, 631 - 0xf400bfcf, 632 - 0xb0b70421, 633 - 0xe7f00400, 634 - 0x00bed001, 635 - /* 0x05f0: ih_no_fifo */ 636 - 0x0100abe4, 637 - 0xf00d0bf4, 638 - 0xe7f108d7, 639 - 0x21f44001, 640 - /* 0x0601: ih_no_ctxsw */ 641 - 0x04b7f104, 642 - 0xffb0bd01, 643 - 0x0bf4b4ab, 644 - 0x1ca7f10d, 645 - 0x06a4b60c, 646 - /* 0x0617: ih_no_other */ 647 - 0xd000abd0, 648 - 0xf0fc400a, 649 - 0xd0fce0fc, 650 - 0xa0fcb0fc, 651 - 0x80fc90fc, 652 - 0xfc0088fe, 653 - 0x0032f480, 654 - /* 0x0632: ctx_4160s */ 655 - 0xe7f101f8, 656 - 0xe3f04160, 657 - 0x01f7f040, 658 - /* 0x063f: ctx_4160s_wait */ 659 - 0xf48d21f4, 660 - 0xffc86821, 661 - 0xfa0bf404, 662 - /* 0x064a: ctx_4160c */ 663 - 0xe7f100f8, 664 - 0xe3f04160, 665 - 0xf4f4bd40, 666 - 0x00f88d21, 667 - /* 0x0658: ctx_4170s */ 668 - 0x4170e7f1, 669 - 0xf040e3f0, 670 - 0x21f410f5, 671 - /* 0x0667: ctx_4170w */ 659 + 0x110ef400, 660 + /* 0x0564: main_not_ctx_save */ 661 + 0xf010ef94, 662 + 0x21f501f5, 663 + 0x0ef502ec, 664 + /* 0x0572: main_done */ 665 + 0x17f1fed1, 666 + 0x14b60820, 667 + 0xf024bd06, 668 + 0x12d01f29, 669 + 0xbe0ef500, 670 + /* 0x0585: ih */ 671 + 0xfe80f9fe, 672 + 0x80f90188, 673 + 0xa0f990f9, 674 + 0xd0f9b0f9, 675 + 0xf0f9e0f9, 676 + 0xc4800acf, 677 + 0x0bf404ab, 678 + 0x00b7f11d, 679 + 0x10d7f019, 680 + 0xcf40becf, 681 + 0x21f400bf, 682 + 0x00b0b704, 683 + 0x01e7f004, 684 + /* 0x05bb: ih_no_fifo */ 685 + 0xe400bed0, 686 + 0xf40100ab, 687 + 0xd7f00d0b, 688 + 0x01e7f110, 689 + 0x0421f440, 690 + /* 0x05cc: ih_no_ctxsw */ 691 + 0x0104b7f1, 692 + 0xabffb0bd, 693 + 0x0d0bf4b4, 694 + 0x0c1ca7f1, 695 + 0xd006a4b6, 696 + /* 0x05e2: ih_no_other */ 697 + 0x0ad000ab, 698 + 0xfcf0fc40, 699 + 0xfcd0fce0, 700 + 0xfca0fcb0, 701 + 0xfe80fc90, 702 + 0x80fc0088, 703 + 0xf80032f4, 704 + /* 0x05fd: ctx_4160s */ 705 + 0x60e7f101, 706 + 0x40e3f041, 707 + 0xf401f7f0, 708 + /* 0x060a: ctx_4160s_wait */ 709 + 0x21f48d21, 710 + 0x04ffc868, 711 + 0xf8fa0bf4, 712 + /* 0x0615: ctx_4160c */ 713 + 0x60e7f100, 714 + 0x40e3f041, 715 + 0x21f4f4bd, 716 + /* 0x0623: ctx_4170s */ 672 717 0xf100f88d, 673 718 0xf04170e7, 674 - 0x21f440e3, 675 - 0x10f4f068, 676 - 0xf8f31bf4, 677 - /* 0x0679: ctx_redswitch */ 678 - 0x14e7f100, 679 - 0x06e4b606, 680 - 0x0270f7f1, 681 - 0xf000efd0, 682 - /* 0x068a: ctx_redswitch_delay */ 683 - 0xf2b608f7, 684 - 0xfd1bf401, 685 - 0x0770f7f1, 686 - 0xf800efd0, 687 - /* 0x0699: ctx_86c */ 688 - 0x6ce7f100, 689 - 0x06e4b608, 690 - 0xf100efd0, 691 - 0xf08a14e7, 692 - 0x21f440e3, 693 - 0x6ce7f18d, 694 - 0x41e3f0a8, 695 - 0xf88d21f4, 696 - /* 0x06b9: ctx_load */ 697 - 0x3c87f100, 698 - 0x0684b608, 699 - 0x99f094bd, 700 - 0x0089d005, 701 - 0xf40ca7f0, 702 - 0x17f1c921, 703 - 0x14b60a24, 704 - 0x0010d006, 705 - 0x0b0037f1, 706 - 0xd00634b6, 707 - 0x17f14032, 708 - 0x14b60a0c, 709 - 0x0747f006, 710 - 0xd00012d0, 711 - /* 0x06f2: ctx_chan_wait_0 */ 712 - 0x14cf4014, 713 - 0x1f44f040, 714 - 0xd0fa1bf4, 715 - 0x0bfe0032, 716 - 0x1f2af000, 717 - 0xb60424b6, 718 - 0x87f10220, 719 - 0x84b6083c, 720 - 0xf094bd06, 721 - 0x89d00899, 722 - 0x0417f100, 723 - 0x0614b60a, 724 - 0xf10012d0, 725 - 0xb60a2017, 726 - 0x27f00614, 727 - 0x0023f102, 728 - 0x0012d080, 729 - 0xf11017f0, 730 - 0xf0020027, 731 - 0x12fa0223, 732 - 0xf103f805, 733 - 0xb6085c87, 734 - 0x94bd0684, 735 - 0xd00899f0, 736 - 0x01980089, 737 - 0x1814b681, 738 - 0xb6800298, 739 - 0x12fd0825, 740 - 0x16018005, 719 + 0xf5f040e3, 720 + 0x8d21f410, 721 + /* 0x0632: ctx_4170w */ 722 + 0xe7f100f8, 723 + 0xe3f04170, 724 + 0x6821f440, 725 + 0xf410f4f0, 726 + 0x00f8f31b, 727 + /* 0x0644: ctx_redswitch */ 728 + 0x0614e7f1, 729 + 0xf106e4b6, 730 + 0xd00270f7, 731 + 0xf7f000ef, 732 + /* 0x0655: ctx_redswitch_delay */ 733 + 0x01f2b608, 734 + 0xf1fd1bf4, 735 + 0xd00770f7, 736 + 0x00f800ef, 737 + /* 0x0664: ctx_86c */ 738 + 0x086ce7f1, 739 + 0xd006e4b6, 740 + 0xe7f100ef, 741 + 0xe3f08a14, 742 + 0x8d21f440, 743 + 0xa86ce7f1, 744 + 0xf441e3f0, 745 + 0x00f88d21, 746 + /* 0x0684: ctx_load */ 741 747 0x083c87f1, 742 748 0xbd0684b6, 743 - 0x0999f094, 744 - 0xf10089d0, 745 - 0xb60a0427, 746 - 0x21d00624, 747 - 0x0127f000, 748 - 0x0a2017f1, 749 + 0x0599f094, 750 + 0xf00089d0, 751 + 0x21f40ca7, 752 + 0x2417f1c9, 753 + 0x0614b60a, 754 + 0xf10010d0, 755 + 0xb60b0037, 756 + 0x32d00634, 757 + 0x0c17f140, 758 + 0x0614b60a, 759 + 0xd00747f0, 760 + 0x14d00012, 761 + /* 0x06bd: ctx_chan_wait_0 */ 762 + 0x4014cf40, 763 + 0xf41f44f0, 764 + 0x32d0fa1b, 765 + 0x000bfe00, 766 + 0xb61f2af0, 767 + 0x20b60424, 768 + 0x3c87f102, 769 + 0x0684b608, 770 + 0x99f094bd, 771 + 0x0089d008, 772 + 0x0a0417f1, 749 773 0xd00614b6, 750 774 0x17f10012, 751 - 0x13f00100, 752 - 0x0501fa06, 775 + 0x14b60a20, 776 + 0x0227f006, 777 + 0x800023f1, 778 + 0xf00012d0, 779 + 0x27f11017, 780 + 0x23f00200, 781 + 0x0512fa02, 753 782 0x87f103f8, 754 783 0x84b6085c, 755 784 0xf094bd06, 756 - 0x89d00999, 757 - 0x5c87f100, 785 + 0x89d00899, 786 + 0x81019800, 787 + 0x981814b6, 788 + 0x25b68002, 789 + 0x0512fd08, 790 + 0xf1160180, 791 + 0xb6083c87, 792 + 0x94bd0684, 793 + 0xd00999f0, 794 + 0x27f10089, 795 + 0x24b60a04, 796 + 0x0021d006, 797 + 0xf10127f0, 798 + 0xb60a2017, 799 + 0x12d00614, 800 + 0x0017f100, 801 + 0x0613f001, 802 + 0xf80501fa, 803 + 0x5c87f103, 758 804 0x0684b608, 759 805 0x99f094bd, 760 - 0x0089d005, 761 - /* 0x07b6: ctx_chan */ 762 - 0x21f500f8, 763 - 0x21f50632, 764 - 0xa7f006b9, 765 - 0xc921f40c, 766 - 0x0a1017f1, 767 - 0xf00614b6, 768 - 0x12d00527, 769 - /* 0x07d1: ctx_chan_wait */ 770 - 0x0012cf00, 771 - 0xf40522fd, 772 - 0x21f5fa1b, 773 - 0x00f8064a, 774 - /* 0x07e0: ctx_mmio_exec */ 775 - 0xf1410398, 776 - 0xb60a0427, 777 - 0x23d00624, 778 - /* 0x07ef: ctx_mmio_loop */ 779 - 0xc434bd00, 780 - 0x1bf4ff34, 781 - 0x0057f10f, 782 - 0x0653f002, 783 - 0xf80535fa, 784 - /* 0x0801: ctx_mmio_pull */ 785 - 0x804e9803, 786 - 0xf4814f98, 787 - 0x30b68d21, 788 - 0x0112b608, 789 - /* 0x0813: ctx_mmio_done */ 790 - 0x98df1bf4, 791 - 0x23d01603, 792 - 0x40008000, 793 - 0x010017f1, 794 - 0xfa0613f0, 795 - 0x03f80601, 796 - /* 0x082a: ctx_xfer */ 797 - 0xf7f100f8, 798 - 0xf4b60c00, 799 - 0x04e7f006, 800 - /* 0x0837: ctx_xfer_idle */ 801 - 0xcf80fed0, 802 - 0xe4f100fe, 803 - 0x1bf42000, 804 - 0x0611f4f9, 805 - /* 0x0847: ctx_xfer_pre */ 806 - 0xf01102f4, 807 - 0x21f510f7, 808 - 0x21f50699, 809 - 0x11f40632, 810 - /* 0x0855: ctx_xfer_pre_load */ 811 - 0x02f7f01c, 812 - 0x065821f5, 813 - 0x066721f5, 814 - 0x067921f5, 815 - 0x21f5f4bd, 816 - 0x21f50658, 817 - /* 0x086e: ctx_xfer_exec */ 818 - 0x019806b9, 819 - 0x1427f116, 820 - 0x0624b604, 821 - 0xf10020d0, 822 - 0xf0a500e7, 823 - 0x1fb941e3, 824 - 0x8d21f402, 825 - 0xf004e0b6, 826 - 0x2cf001fc, 827 - 0x0124b602, 828 - 0xf405f2fd, 829 - 0x17f18d21, 830 - 0x13f04afc, 831 - 0x0c27f002, 832 - 0xf50012d0, 833 - 0xf1020721, 834 - 0xf047fc27, 835 - 0x20d00223, 836 - 0x012cf000, 837 - 0xd00320b6, 838 - 0xacf00012, 839 - 0x06a5f001, 840 - 0x9800b7f0, 841 - 0x0d98140c, 842 - 0x00e7f015, 843 - 0x015c21f5, 844 - 0xf508a7f0, 845 - 0xf5010321, 846 - 0xf4020721, 847 - 0xa7f02201, 848 - 0xc921f40c, 849 - 0x0a1017f1, 850 - 0xf00614b6, 851 - 0x12d00527, 852 - /* 0x08f5: ctx_xfer_post_save_wait */ 853 - 0x0012cf00, 854 - 0xf40522fd, 855 - 0x02f4fa1b, 856 - /* 0x0901: ctx_xfer_post */ 857 - 0x02f7f032, 858 - 0x065821f5, 859 - 0x21f5f4bd, 860 - 0x21f50699, 861 - 0x21f50226, 862 - 0xf4bd0667, 863 - 0x065821f5, 864 - 0x981011f4, 865 - 0x11fd4001, 866 - 0x070bf405, 867 - 0x07e021f5, 868 - /* 0x092c: ctx_xfer_no_post_mmio */ 869 - 0x064a21f5, 870 - /* 0x0930: ctx_xfer_done */ 871 - 0x000000f8, 872 - 0x00000000, 873 - 0x00000000, 874 - 0x00000000, 875 - 0x00000000, 876 - 0x00000000, 877 - 0x00000000, 878 - 0x00000000, 879 - 0x00000000, 880 - 0x00000000, 881 - 0x00000000, 882 - 0x00000000, 883 - 0x00000000, 884 - 0x00000000, 885 - 0x00000000, 886 - 0x00000000, 887 - 0x00000000, 888 - 0x00000000, 889 - 0x00000000, 890 - 0x00000000, 891 - 0x00000000, 892 - 0x00000000, 893 - 0x00000000, 894 - 0x00000000, 895 - 0x00000000, 896 - 0x00000000, 897 - 0x00000000, 898 - 0x00000000, 899 - 0x00000000, 900 - 0x00000000, 901 - 0x00000000, 902 - 0x00000000, 903 - 0x00000000, 904 - 0x00000000, 905 - 0x00000000, 906 - 0x00000000, 907 - 0x00000000, 908 - 0x00000000, 909 - 0x00000000, 910 - 0x00000000, 911 - 0x00000000, 912 - 0x00000000, 913 - 0x00000000, 914 - 0x00000000, 915 - 0x00000000, 916 - 0x00000000, 917 - 0x00000000, 918 - 0x00000000, 919 - 0x00000000, 920 - 0x00000000, 921 - 0x00000000, 806 + 0x0089d009, 807 + 0x085c87f1, 808 + 0xbd0684b6, 809 + 0x0599f094, 810 + 0xf80089d0, 811 + /* 0x0781: ctx_chan */ 812 + 0xfd21f500, 813 + 0x8421f505, 814 + 0x0ca7f006, 815 + 0xf1c921f4, 816 + 0xb60a1017, 817 + 0x27f00614, 818 + 0x0012d005, 819 + /* 0x079c: ctx_chan_wait */ 820 + 0xfd0012cf, 821 + 0x1bf40522, 822 + 0x1521f5fa, 823 + /* 0x07ab: ctx_mmio_exec */ 824 + 0x9800f806, 825 + 0x27f14103, 826 + 0x24b60a04, 827 + 0x0023d006, 828 + /* 0x07ba: ctx_mmio_loop */ 829 + 0x34c434bd, 830 + 0x0f1bf4ff, 831 + 0x020057f1, 832 + 0xfa0653f0, 833 + 0x03f80535, 834 + /* 0x07cc: ctx_mmio_pull */ 835 + 0x98804e98, 836 + 0x21f4814f, 837 + 0x0830b68d, 838 + 0xf40112b6, 839 + /* 0x07de: ctx_mmio_done */ 840 + 0x0398df1b, 841 + 0x0023d016, 842 + 0xf1400080, 843 + 0xf0010017, 844 + 0x01fa0613, 845 + 0xf803f806, 846 + /* 0x07f5: ctx_xfer */ 847 + 0x00f7f100, 848 + 0x06f4b60c, 849 + 0xd004e7f0, 850 + /* 0x0802: ctx_xfer_idle */ 851 + 0xfecf80fe, 852 + 0x00e4f100, 853 + 0xf91bf420, 854 + 0xf40611f4, 855 + /* 0x0812: ctx_xfer_pre */ 856 + 0xf7f01102, 857 + 0x6421f510, 858 + 0xfd21f506, 859 + 0x1c11f405, 860 + /* 0x0820: ctx_xfer_pre_load */ 861 + 0xf502f7f0, 862 + 0xf5062321, 863 + 0xf5063221, 864 + 0xbd064421, 865 + 0x2321f5f4, 866 + 0x8421f506, 867 + /* 0x0839: ctx_xfer_exec */ 868 + 0x16019806, 869 + 0x041427f1, 870 + 0xd00624b6, 871 + 0xe7f10020, 872 + 0xe3f0a500, 873 + 0x021fb941, 874 + 0xb68d21f4, 875 + 0xfcf004e0, 876 + 0x022cf001, 877 + 0xfd0124b6, 878 + 0x21f405f2, 879 + 0xfc17f18d, 880 + 0x0213f04a, 881 + 0xd00c27f0, 882 + 0x21f50012, 883 + 0x27f10207, 884 + 0x23f047fc, 885 + 0x0020d002, 886 + 0xb6012cf0, 887 + 0x12d00320, 888 + 0x01acf000, 889 + 0xf006a5f0, 890 + 0x0c9800b7, 891 + 0x010d9800, 892 + 0xf500e7f0, 893 + 0xf0015c21, 894 + 0x21f508a7, 895 + 0x21f50103, 896 + 0x01f40207, 897 + 0x0ca7f022, 898 + 0xf1c921f4, 899 + 0xb60a1017, 900 + 0x27f00614, 901 + 0x0012d005, 902 + /* 0x08c0: ctx_xfer_post_save_wait */ 903 + 0xfd0012cf, 904 + 0x1bf40522, 905 + 0x3202f4fa, 906 + /* 0x08cc: ctx_xfer_post */ 907 + 0xf502f7f0, 908 + 0xbd062321, 909 + 0x6421f5f4, 910 + 0x2621f506, 911 + 0x3221f502, 912 + 0xf5f4bd06, 913 + 0xf4062321, 914 + 0x01981011, 915 + 0x0511fd40, 916 + 0xf5070bf4, 917 + /* 0x08f7: ctx_xfer_no_post_mmio */ 918 + 0xf507ab21, 919 + /* 0x08fb: ctx_xfer_done */ 920 + 0xf8061521, 922 921 0x00000000, 923 922 };
-125
drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc
··· 29 29 #define INCLUDE_DATA 30 30 #include "com.fuc" 31 31 #include "hub.fuc" 32 - 33 - chipsets: 34 - .b8 0xe4 0 0 0 35 - .b16 #nve4_hub_mmio_head 36 - .b16 #nve4_hub_mmio_tail 37 - .b8 0xe7 0 0 0 38 - .b16 #nve4_hub_mmio_head 39 - .b16 #nve4_hub_mmio_tail 40 - .b8 0xe6 0 0 0 41 - .b16 #nve4_hub_mmio_head 42 - .b16 #nve4_hub_mmio_tail 43 - .b8 0xf0 0 0 0 44 - .b16 #nvf0_hub_mmio_head 45 - .b16 #nvf0_hub_mmio_tail 46 - .b8 0 0 0 0 47 - 48 - nve4_hub_mmio_head: 49 - mmctx_data(0x17e91c, 2) 50 - mmctx_data(0x400204, 2) 51 - mmctx_data(0x404010, 7) 52 - mmctx_data(0x4040a8, 9) 53 - mmctx_data(0x4040d0, 7) 54 - mmctx_data(0x4040f8, 1) 55 - mmctx_data(0x404130, 3) 56 - mmctx_data(0x404150, 3) 57 - mmctx_data(0x404164, 1) 58 - mmctx_data(0x4041a0, 4) 59 - mmctx_data(0x404200, 4) 60 - mmctx_data(0x404404, 14) 61 - mmctx_data(0x404460, 4) 62 - mmctx_data(0x404480, 1) 63 - mmctx_data(0x404498, 1) 64 - mmctx_data(0x404604, 4) 65 - mmctx_data(0x404618, 4) 66 - mmctx_data(0x40462c, 2) 67 - mmctx_data(0x404640, 1) 68 - mmctx_data(0x404654, 1) 69 - mmctx_data(0x404660, 1) 70 - mmctx_data(0x404678, 19) 71 - mmctx_data(0x4046c8, 3) 72 - mmctx_data(0x404700, 3) 73 - mmctx_data(0x404718, 10) 74 - mmctx_data(0x404744, 2) 75 - mmctx_data(0x404754, 1) 76 - mmctx_data(0x405800, 1) 77 - mmctx_data(0x405830, 3) 78 - mmctx_data(0x405854, 1) 79 - mmctx_data(0x405870, 4) 80 - mmctx_data(0x405a00, 2) 81 - mmctx_data(0x405a18, 1) 82 - mmctx_data(0x405b00, 1) 83 - mmctx_data(0x405b10, 1) 84 - mmctx_data(0x406020, 1) 85 - mmctx_data(0x406028, 4) 86 - mmctx_data(0x4064a8, 2) 87 - mmctx_data(0x4064b4, 2) 88 - mmctx_data(0x4064c0, 12) 89 - mmctx_data(0x4064fc, 1) 90 - mmctx_data(0x407040, 1) 91 - mmctx_data(0x407804, 1) 92 - mmctx_data(0x40780c, 6) 93 - mmctx_data(0x4078bc, 1) 94 - mmctx_data(0x408000, 7) 95 - mmctx_data(0x408064, 1) 96 - mmctx_data(0x408800, 3) 97 - mmctx_data(0x408840, 1) 98 - mmctx_data(0x408900, 3) 99 - mmctx_data(0x408980, 1) 100 - nve4_hub_mmio_tail: 101 - 102 - nvf0_hub_mmio_head: 103 - mmctx_data(0x17e91c, 2) 104 - mmctx_data(0x400204, 2) 105 - mmctx_data(0x404004, 17) 106 - mmctx_data(0x4040a8, 9) 107 - mmctx_data(0x4040d0, 7) 108 - mmctx_data(0x4040f8, 1) 109 - mmctx_data(0x404100, 10) 110 - mmctx_data(0x404130, 3) 111 - mmctx_data(0x404150, 3) 112 - mmctx_data(0x404164, 1) 113 - mmctx_data(0x40417c, 2) 114 - mmctx_data(0x4041a0, 4) 115 - mmctx_data(0x404200, 4) 116 - mmctx_data(0x404404, 12) 117 - mmctx_data(0x404438, 1) 118 - mmctx_data(0x404460, 4) 119 - mmctx_data(0x404480, 1) 120 - mmctx_data(0x404498, 1) 121 - mmctx_data(0x404604, 4) 122 - mmctx_data(0x404618, 4) 123 - mmctx_data(0x40462c, 2) 124 - mmctx_data(0x404640, 1) 125 - mmctx_data(0x404654, 1) 126 - mmctx_data(0x404660, 1) 127 - mmctx_data(0x404678, 19) 128 - mmctx_data(0x4046c8, 3) 129 - mmctx_data(0x404700, 3) 130 - mmctx_data(0x404718, 10) 131 - mmctx_data(0x404744, 2) 132 - mmctx_data(0x404754, 1) 133 - mmctx_data(0x405800, 1) 134 - mmctx_data(0x405830, 3) 135 - mmctx_data(0x405854, 1) 136 - mmctx_data(0x405870, 4) 137 - mmctx_data(0x405a00, 2) 138 - mmctx_data(0x405a18, 1) 139 - mmctx_data(0x405b00, 1) 140 - mmctx_data(0x405b10, 1) 141 - mmctx_data(0x405b20, 1) 142 - mmctx_data(0x406020, 1) 143 - mmctx_data(0x406028, 4) 144 - mmctx_data(0x4064a8, 5) 145 - mmctx_data(0x4064c0, 12) 146 - mmctx_data(0x4064fc, 1) 147 - mmctx_data(0x407804, 1) 148 - mmctx_data(0x40780c, 6) 149 - mmctx_data(0x4078bc, 1) 150 - mmctx_data(0x408000, 7) 151 - mmctx_data(0x408064, 1) 152 - mmctx_data(0x408800, 3) 153 - mmctx_data(0x408840, 1) 154 - mmctx_data(0x408900, 3) 155 - mmctx_data(0x408980, 1) 156 - nvf0_hub_mmio_tail: 157 32 #undef INCLUDE_DATA 158 33 159 34 .section #nve0_grhub_code
+376 -493
drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h
··· 1 1 uint32_t nve0_grhub_data[] = { 2 - /* 0x0000: gpc_count */ 2 + /* 0x0000: hub_mmio_list_head */ 3 + 0x00000300, 4 + /* 0x0004: hub_mmio_list_tail */ 5 + 0x00000304, 6 + /* 0x0008: gpc_count */ 3 7 0x00000000, 4 - /* 0x0004: rop_count */ 8 + /* 0x000c: rop_count */ 5 9 0x00000000, 6 - /* 0x0008: cmd_queue */ 7 - 0x00000000, 8 - 0x00000000, 9 - 0x00000000, 10 - 0x00000000, 11 - 0x00000000, 12 - 0x00000000, 10 + /* 0x0010: cmd_queue */ 13 11 0x00000000, 14 12 0x00000000, 15 13 0x00000000, ··· 20 22 0x00000000, 21 23 0x00000000, 22 24 0x00000000, 23 - /* 0x0050: hub_mmio_list_head */ 24 25 0x00000000, 25 - /* 0x0054: hub_mmio_list_tail */ 26 + 0x00000000, 27 + 0x00000000, 28 + 0x00000000, 29 + 0x00000000, 26 30 0x00000000, 27 31 /* 0x0058: ctx_current */ 28 32 0x00000000, ··· 201 201 0x00000000, 202 202 0x00000000, 203 203 0x00000000, 204 - /* 0x0300: chipsets */ 205 - 0x000000e4, 206 - 0x03f00324, 207 - 0x000000e7, 208 - 0x03f00324, 209 - 0x000000e6, 210 - 0x03f00324, 211 - 0x000000f0, 212 - 0x04c403f0, 213 - 0x00000000, 214 - /* 0x0324: nve4_hub_mmio_head */ 204 + /* 0x0300: hub_mmio_list_base */ 215 205 0x0417e91c, 216 - 0x04400204, 217 - 0x18404010, 218 - 0x204040a8, 219 - 0x184040d0, 220 - 0x004040f8, 221 - 0x08404130, 222 - 0x08404150, 223 - 0x00404164, 224 - 0x0c4041a0, 225 - 0x0c404200, 226 - 0x34404404, 227 - 0x0c404460, 228 - 0x00404480, 229 - 0x00404498, 230 - 0x0c404604, 231 - 0x0c404618, 232 - 0x0440462c, 233 - 0x00404640, 234 - 0x00404654, 235 - 0x00404660, 236 - 0x48404678, 237 - 0x084046c8, 238 - 0x08404700, 239 - 0x24404718, 240 - 0x04404744, 241 - 0x00404754, 242 - 0x00405800, 243 - 0x08405830, 244 - 0x00405854, 245 - 0x0c405870, 246 - 0x04405a00, 247 - 0x00405a18, 248 - 0x00405b00, 249 - 0x00405b10, 250 - 0x00406020, 251 - 0x0c406028, 252 - 0x044064a8, 253 - 0x044064b4, 254 - 0x2c4064c0, 255 - 0x004064fc, 256 - 0x00407040, 257 - 0x00407804, 258 - 0x1440780c, 259 - 0x004078bc, 260 - 0x18408000, 261 - 0x00408064, 262 - 0x08408800, 263 - 0x00408840, 264 - 0x08408900, 265 - 0x00408980, 266 - /* 0x03f0: nve4_hub_mmio_tail */ 267 - /* 0x03f0: nvf0_hub_mmio_head */ 268 - 0x0417e91c, 269 - 0x04400204, 270 - 0x40404004, 271 - 0x204040a8, 272 - 0x184040d0, 273 - 0x004040f8, 274 - 0x24404100, 275 - 0x08404130, 276 - 0x08404150, 277 - 0x00404164, 278 - 0x0440417c, 279 - 0x0c4041a0, 280 - 0x0c404200, 281 - 0x2c404404, 282 - 0x00404438, 283 - 0x0c404460, 284 - 0x00404480, 285 - 0x00404498, 286 - 0x0c404604, 287 - 0x0c404618, 288 - 0x0440462c, 289 - 0x00404640, 290 - 0x00404654, 291 - 0x00404660, 292 - 0x48404678, 293 - 0x084046c8, 294 - 0x08404700, 295 - 0x24404718, 296 - 0x04404744, 297 - 0x00404754, 298 - 0x00405800, 299 - 0x08405830, 300 - 0x00405854, 301 - 0x0c405870, 302 - 0x04405a00, 303 - 0x00405a18, 304 - 0x00405b00, 305 - 0x00405b10, 306 - 0x00405b20, 307 - 0x00406020, 308 - 0x0c406028, 309 - 0x104064a8, 310 - 0x2c4064c0, 311 - 0x004064fc, 312 - 0x00407804, 313 - 0x1440780c, 314 - 0x004078bc, 315 - 0x18408000, 316 - 0x00408064, 317 - 0x08408800, 318 - 0x00408840, 319 - 0x08408900, 320 - 0x00408980, 321 206 }; 322 207 323 208 uint32_t nve0_grhub_code[] = { ··· 438 553 0x0017f100, 439 554 0x0227f012, 440 555 0xf10012d0, 441 - 0xfe05ba17, 556 + 0xfe058517, 442 557 0x17f10010, 443 558 0x10d00400, 444 559 0x0437f1c0, ··· 462 577 0x9604e7f1, 463 578 0xf440e3f0, 464 579 0xf1c76821, 465 - 0x01018090, 580 + 0x03018090, 466 581 0x801ff4f0, 467 - 0x17f0000f, 582 + 0x17f0020f, 468 583 0x041fbb01, 469 584 0xf10112b6, 470 585 0xb6040c27, 471 586 0x21d00624, 472 587 0x4021d000, 473 - 0x080027f1, 474 - 0xcf0624b6, 475 - 0xf7f10022, 476 - /* 0x03aa: init_find_chipset */ 477 - 0xf0b602f8, 478 - 0x00f39808, 479 - 0xf40432b8, 480 - 0x34b00b0b, 481 - 0xf11bf400, 482 - /* 0x03be: init_context */ 483 - 0x17f100f8, 484 - 0xfe580100, 485 - 0x03ff5802, 486 - 0x8000e3f0, 487 - 0x0f80140e, 488 - 0x3d21f515, 489 - 0x0037f101, 490 - 0x0634b607, 491 - 0xd0081495, 492 - 0x34d00034, 493 - 0x0030b740, 494 - 0x001fbb13, 495 - 0xd002f5b6, 496 - 0x15b6003f, 497 - 0x0110b608, 498 - 0xb90814b6, 499 - 0x21f5021f, 500 - 0x1fbb0263, 501 - 0x00039800, 502 - 0x200047f1, 503 - /* 0x040f: init_gpc */ 504 - 0xa05043f0, 505 - 0xb908044e, 506 - 0x21f4021f, 507 - 0x004ea08d, 508 - 0x022fb908, 588 + 0x010017f1, 589 + 0x98000e98, 590 + 0x21f5010f, 591 + 0x37f1013d, 592 + 0x34b60700, 593 + 0x08149506, 594 + 0xd00034d0, 595 + 0x30b74034, 596 + 0x1fbb1300, 597 + 0x02f5b600, 598 + 0xb6003fd0, 599 + 0x10b60815, 600 + 0x0814b601, 601 + 0xf5021fb9, 602 + 0xbb026321, 603 + 0x0398001f, 604 + 0x0047f102, 605 + 0x5043f020, 606 + /* 0x03e4: init_gpc */ 607 + 0x08044ea0, 608 + 0xf4021fb9, 609 + 0x4ea08d21, 610 + 0xf4bd010c, 509 611 0xa08d21f4, 510 - 0xbd010c4e, 511 - 0x8d21f4f4, 512 - 0x01044ea0, 513 - 0xa08d21f4, 514 - 0xf001004e, 515 - 0x21f402f7, 516 - 0x004ea08d, 517 - /* 0x0441: init_gpc_wait */ 612 + 0xf401044e, 613 + 0x4ea08d21, 614 + 0xf7f00100, 615 + 0x8d21f402, 616 + 0x08004ea0, 617 + /* 0x040c: init_gpc_wait */ 618 + 0xc86821f4, 619 + 0x0bf41fff, 620 + 0x044ea0fa, 518 621 0x6821f408, 519 - 0xf41fffc8, 520 - 0x4ea0fa0b, 521 - 0x21f40804, 522 - 0x001fbb68, 523 - 0x800040b7, 524 - 0xf40132b6, 525 - 0x27f1b41b, 526 - 0x24b60800, 527 - 0x4021d006, 528 - 0x080020b7, 529 - 0x19f014bd, 530 - 0x0021d01f, 531 - /* 0x0474: main */ 532 - 0xf40031f4, 533 - 0xd7f00028, 534 - 0x3921f408, 535 - 0xb1f401f4, 536 - 0xf54001e4, 537 - 0xf100d11b, 622 + 0xb7001fbb, 623 + 0xb6800040, 624 + 0x1bf40132, 625 + 0x0027f1be, 626 + 0x0624b608, 627 + 0xb74021d0, 628 + 0xbd080020, 629 + 0x1f19f014, 630 + /* 0x043f: main */ 631 + 0xf40021d0, 632 + 0x28f40031, 633 + 0x10d7f000, 634 + 0xf43921f4, 635 + 0xe4b1f401, 636 + 0x1bf54001, 637 + 0x87f100d1, 638 + 0x84b6083c, 639 + 0xf094bd06, 640 + 0x89d00499, 641 + 0x0017f100, 642 + 0x0614b60b, 643 + 0xcf4012cf, 644 + 0x13c80011, 645 + 0x7e0bf41f, 646 + 0xf41f23c8, 647 + 0x20f95a0b, 648 + 0xf10212b9, 538 649 0xb6083c87, 539 650 0x94bd0684, 540 - 0xd00499f0, 541 - 0x17f10089, 542 - 0x14b60b00, 543 - 0x4012cf06, 544 - 0xc80011cf, 545 - 0x0bf41f13, 546 - 0x1f23c87e, 547 - 0xf95a0bf4, 548 - 0x0212b920, 549 - 0x083c87f1, 651 + 0xd00799f0, 652 + 0x32f40089, 653 + 0x0231f401, 654 + 0x07c721f5, 655 + 0x085c87f1, 550 656 0xbd0684b6, 551 657 0x0799f094, 552 - 0xf40089d0, 553 - 0x31f40132, 554 - 0xfc21f502, 555 - 0x5c87f107, 658 + 0xfc0089d0, 659 + 0x3c87f120, 660 + 0x0684b608, 661 + 0x99f094bd, 662 + 0x0089d006, 663 + 0xf50131f4, 664 + 0xf107c721, 665 + 0xb6085c87, 666 + 0x94bd0684, 667 + 0xd00699f0, 668 + 0x0ef40089, 669 + /* 0x04d5: chsw_prev_no_next */ 670 + 0xb920f931, 671 + 0x32f40212, 672 + 0x0232f401, 673 + 0x07c721f5, 674 + 0x17f120fc, 675 + 0x14b60b00, 676 + 0x0012d006, 677 + /* 0x04f3: chsw_no_prev */ 678 + 0xc8130ef4, 679 + 0x0bf41f23, 680 + 0x0131f40d, 681 + 0xf50232f4, 682 + /* 0x0503: chsw_done */ 683 + 0xf107c721, 684 + 0xb60b0c17, 685 + 0x27f00614, 686 + 0x0012d001, 687 + 0x085c87f1, 688 + 0xbd0684b6, 689 + 0x0499f094, 690 + 0xf50089d0, 691 + /* 0x0523: main_not_ctx_switch */ 692 + 0xb0ff200e, 693 + 0x1bf401e4, 694 + 0x02f2b90d, 695 + 0x075b21f5, 696 + /* 0x0533: main_not_ctx_chan */ 697 + 0xb0420ef4, 698 + 0x1bf402e4, 699 + 0x3c87f12e, 556 700 0x0684b608, 557 701 0x99f094bd, 558 702 0x0089d007, 559 - 0x87f120fc, 560 - 0x84b6083c, 561 - 0xf094bd06, 562 - 0x89d00699, 563 - 0x0131f400, 564 - 0x07fc21f5, 565 - 0x085c87f1, 566 - 0xbd0684b6, 567 - 0x0699f094, 568 - 0xf40089d0, 569 - /* 0x050a: chsw_prev_no_next */ 570 - 0x20f9310e, 571 - 0xf40212b9, 572 - 0x32f40132, 573 - 0xfc21f502, 574 - 0xf120fc07, 575 - 0xb60b0017, 576 - 0x12d00614, 577 - 0x130ef400, 578 - /* 0x0528: chsw_no_prev */ 579 - 0xf41f23c8, 580 - 0x31f40d0b, 581 - 0x0232f401, 582 - 0x07fc21f5, 583 - /* 0x0538: chsw_done */ 584 - 0x0b0c17f1, 585 - 0xf00614b6, 586 - 0x12d00127, 587 - 0x5c87f100, 588 - 0x0684b608, 589 - 0x99f094bd, 590 - 0x0089d004, 591 - 0xff200ef5, 592 - /* 0x0558: main_not_ctx_switch */ 593 - 0xf401e4b0, 594 - 0xf2b90d1b, 595 - 0x9021f502, 596 - 0x420ef407, 597 - /* 0x0568: main_not_ctx_chan */ 598 - 0xf402e4b0, 599 - 0x87f12e1b, 600 - 0x84b6083c, 703 + 0xf40132f4, 704 + 0x21f50232, 705 + 0x87f107c7, 706 + 0x84b6085c, 601 707 0xf094bd06, 602 708 0x89d00799, 603 - 0x0132f400, 604 - 0xf50232f4, 605 - 0xf107fc21, 606 - 0xb6085c87, 607 - 0x94bd0684, 608 - 0xd00799f0, 609 - 0x0ef40089, 610 - /* 0x0599: main_not_ctx_save */ 611 - 0x10ef9411, 612 - 0xf501f5f0, 613 - 0xf502ec21, 614 - /* 0x05a7: main_done */ 615 - 0xf1fed10e, 616 - 0xb6082017, 617 - 0x24bd0614, 618 - 0xd01f29f0, 619 - 0x0ef50012, 620 - /* 0x05ba: ih */ 621 - 0x80f9febe, 622 - 0xf90188fe, 623 - 0xf990f980, 624 - 0xf9b0f9a0, 625 - 0xf9e0f9d0, 626 - 0x800acff0, 627 - 0xf404abc4, 628 - 0xb7f11d0b, 629 - 0xd7f01900, 630 - 0x40becf08, 631 - 0xf400bfcf, 632 - 0xb0b70421, 633 - 0xe7f00400, 634 - 0x00bed001, 635 - /* 0x05f0: ih_no_fifo */ 636 - 0x0100abe4, 637 - 0xf00d0bf4, 638 - 0xe7f108d7, 639 - 0x21f44001, 640 - /* 0x0601: ih_no_ctxsw */ 641 - 0x04b7f104, 642 - 0xffb0bd01, 643 - 0x0bf4b4ab, 644 - 0x1ca7f10d, 645 - 0x06a4b60c, 646 - /* 0x0617: ih_no_other */ 647 - 0xd000abd0, 648 - 0xf0fc400a, 649 - 0xd0fce0fc, 650 - 0xa0fcb0fc, 651 - 0x80fc90fc, 652 - 0xfc0088fe, 653 - 0x0032f480, 654 - /* 0x0632: ctx_4170s */ 655 - 0xe7f101f8, 656 - 0xe3f04170, 657 - 0x10f5f040, 658 - 0xf88d21f4, 659 - /* 0x0641: ctx_4170w */ 660 - 0x70e7f100, 709 + 0x110ef400, 710 + /* 0x0564: main_not_ctx_save */ 711 + 0xf010ef94, 712 + 0x21f501f5, 713 + 0x0ef502ec, 714 + /* 0x0572: main_done */ 715 + 0x17f1fed1, 716 + 0x14b60820, 717 + 0xf024bd06, 718 + 0x12d01f29, 719 + 0xbe0ef500, 720 + /* 0x0585: ih */ 721 + 0xfe80f9fe, 722 + 0x80f90188, 723 + 0xa0f990f9, 724 + 0xd0f9b0f9, 725 + 0xf0f9e0f9, 726 + 0xc4800acf, 727 + 0x0bf404ab, 728 + 0x00b7f11d, 729 + 0x10d7f019, 730 + 0xcf40becf, 731 + 0x21f400bf, 732 + 0x00b0b704, 733 + 0x01e7f004, 734 + /* 0x05bb: ih_no_fifo */ 735 + 0xe400bed0, 736 + 0xf40100ab, 737 + 0xd7f00d0b, 738 + 0x01e7f110, 739 + 0x0421f440, 740 + /* 0x05cc: ih_no_ctxsw */ 741 + 0x0104b7f1, 742 + 0xabffb0bd, 743 + 0x0d0bf4b4, 744 + 0x0c1ca7f1, 745 + 0xd006a4b6, 746 + /* 0x05e2: ih_no_other */ 747 + 0x0ad000ab, 748 + 0xfcf0fc40, 749 + 0xfcd0fce0, 750 + 0xfca0fcb0, 751 + 0xfe80fc90, 752 + 0x80fc0088, 753 + 0xf80032f4, 754 + /* 0x05fd: ctx_4170s */ 755 + 0x70e7f101, 661 756 0x40e3f041, 662 - 0xf06821f4, 663 - 0x1bf410f4, 664 - /* 0x0653: ctx_redswitch */ 665 - 0xf100f8f3, 666 - 0xb60614e7, 667 - 0xf7f106e4, 668 - 0xefd00270, 669 - 0x08f7f000, 670 - /* 0x0664: ctx_redswitch_delay */ 671 - 0xf401f2b6, 672 - 0xf7f1fd1b, 673 - 0xefd00770, 674 - /* 0x0673: ctx_86c */ 675 - 0xf100f800, 676 - 0xb6086ce7, 677 - 0xefd006e4, 678 - 0x14e7f100, 679 - 0x40e3f08a, 680 - 0xf18d21f4, 681 - 0xf0a86ce7, 682 - 0x21f441e3, 683 - /* 0x0693: ctx_load */ 684 - 0xf100f88d, 685 - 0xb6083c87, 686 - 0x94bd0684, 687 - 0xd00599f0, 688 - 0xa7f00089, 689 - 0xc921f40c, 690 - 0x0a2417f1, 691 - 0xd00614b6, 692 - 0x37f10010, 693 - 0x34b60b00, 694 - 0x4032d006, 695 - 0x0a0c17f1, 696 - 0xf00614b6, 697 - 0x12d00747, 698 - 0x4014d000, 699 - /* 0x06cc: ctx_chan_wait_0 */ 700 - 0xf04014cf, 701 - 0x1bf41f44, 702 - 0x0032d0fa, 703 - 0xf0000bfe, 704 - 0x24b61f2a, 705 - 0x0220b604, 706 - 0x083c87f1, 707 - 0xbd0684b6, 708 - 0x0899f094, 709 - 0xf10089d0, 710 - 0xb60a0417, 711 - 0x12d00614, 712 - 0x2017f100, 713 - 0x0614b60a, 714 - 0xf10227f0, 715 - 0xd0800023, 716 - 0x17f00012, 717 - 0x0027f110, 718 - 0x0223f002, 719 - 0xf80512fa, 720 - 0x5c87f103, 721 - 0x0684b608, 722 - 0x99f094bd, 723 - 0x0089d008, 724 - 0xb6810198, 725 - 0x02981814, 726 - 0x0825b680, 727 - 0x800512fd, 728 - 0x87f11601, 757 + 0xf410f5f0, 758 + 0x00f88d21, 759 + /* 0x060c: ctx_4170w */ 760 + 0x4170e7f1, 761 + 0xf440e3f0, 762 + 0xf4f06821, 763 + 0xf31bf410, 764 + /* 0x061e: ctx_redswitch */ 765 + 0xe7f100f8, 766 + 0xe4b60614, 767 + 0x70f7f106, 768 + 0x00efd002, 769 + /* 0x062f: ctx_redswitch_delay */ 770 + 0xb608f7f0, 771 + 0x1bf401f2, 772 + 0x70f7f1fd, 773 + 0x00efd007, 774 + /* 0x063e: ctx_86c */ 775 + 0xe7f100f8, 776 + 0xe4b6086c, 777 + 0x00efd006, 778 + 0x8a14e7f1, 779 + 0xf440e3f0, 780 + 0xe7f18d21, 781 + 0xe3f0a86c, 782 + 0x8d21f441, 783 + /* 0x065e: ctx_load */ 784 + 0x87f100f8, 729 785 0x84b6083c, 730 786 0xf094bd06, 731 - 0x89d00999, 732 - 0x0427f100, 733 - 0x0624b60a, 734 - 0xf00021d0, 735 - 0x17f10127, 736 - 0x14b60a20, 787 + 0x89d00599, 788 + 0x0ca7f000, 789 + 0xf1c921f4, 790 + 0xb60a2417, 791 + 0x10d00614, 792 + 0x0037f100, 793 + 0x0634b60b, 794 + 0xf14032d0, 795 + 0xb60a0c17, 796 + 0x47f00614, 797 + 0x0012d007, 798 + /* 0x0697: ctx_chan_wait_0 */ 799 + 0xcf4014d0, 800 + 0x44f04014, 801 + 0xfa1bf41f, 802 + 0xfe0032d0, 803 + 0x2af0000b, 804 + 0x0424b61f, 805 + 0xf10220b6, 806 + 0xb6083c87, 807 + 0x94bd0684, 808 + 0xd00899f0, 809 + 0x17f10089, 810 + 0x14b60a04, 737 811 0x0012d006, 738 - 0x010017f1, 739 - 0xfa0613f0, 740 - 0x03f80501, 812 + 0x0a2017f1, 813 + 0xf00614b6, 814 + 0x23f10227, 815 + 0x12d08000, 816 + 0x1017f000, 817 + 0x020027f1, 818 + 0xfa0223f0, 819 + 0x03f80512, 741 820 0x085c87f1, 742 821 0xbd0684b6, 743 - 0x0999f094, 744 - 0xf10089d0, 822 + 0x0899f094, 823 + 0x980089d0, 824 + 0x14b68101, 825 + 0x80029818, 826 + 0xfd0825b6, 827 + 0x01800512, 828 + 0x3c87f116, 829 + 0x0684b608, 830 + 0x99f094bd, 831 + 0x0089d009, 832 + 0x0a0427f1, 833 + 0xd00624b6, 834 + 0x27f00021, 835 + 0x2017f101, 836 + 0x0614b60a, 837 + 0xf10012d0, 838 + 0xf0010017, 839 + 0x01fa0613, 840 + 0xf103f805, 745 841 0xb6085c87, 746 842 0x94bd0684, 747 - 0xd00599f0, 748 - 0x00f80089, 749 - /* 0x0790: ctx_chan */ 750 - 0x069321f5, 751 - 0xf40ca7f0, 752 - 0x17f1c921, 753 - 0x14b60a10, 754 - 0x0527f006, 755 - /* 0x07a7: ctx_chan_wait */ 756 - 0xcf0012d0, 757 - 0x22fd0012, 758 - 0xfa1bf405, 759 - /* 0x07b2: ctx_mmio_exec */ 760 - 0x039800f8, 761 - 0x0427f141, 762 - 0x0624b60a, 763 - 0xbd0023d0, 764 - /* 0x07c1: ctx_mmio_loop */ 765 - 0xff34c434, 766 - 0xf10f1bf4, 767 - 0xf0020057, 768 - 0x35fa0653, 769 - /* 0x07d3: ctx_mmio_pull */ 770 - 0x9803f805, 771 - 0x4f98804e, 772 - 0x8d21f481, 773 - 0xb60830b6, 774 - 0x1bf40112, 775 - /* 0x07e5: ctx_mmio_done */ 776 - 0x160398df, 777 - 0x800023d0, 778 - 0x17f14000, 779 - 0x13f00100, 780 - 0x0601fa06, 781 - 0x00f803f8, 782 - /* 0x07fc: ctx_xfer */ 783 - 0x0c00f7f1, 784 - 0xf006f4b6, 785 - 0xfed004e7, 786 - /* 0x0809: ctx_xfer_idle */ 787 - 0x00fecf80, 788 - 0x2000e4f1, 789 - 0xf4f91bf4, 790 - 0x02f40611, 791 - /* 0x0819: ctx_xfer_pre */ 792 - 0x10f7f00d, 793 - 0x067321f5, 794 - /* 0x0823: ctx_xfer_pre_load */ 795 - 0xf01c11f4, 796 - 0x21f502f7, 797 - 0x21f50632, 798 - 0x21f50641, 799 - 0xf4bd0653, 800 - 0x063221f5, 801 - 0x069321f5, 802 - /* 0x083c: ctx_xfer_exec */ 803 - 0xf1160198, 804 - 0xb6041427, 805 - 0x20d00624, 806 - 0x00e7f100, 807 - 0x41e3f0a5, 808 - 0xf4021fb9, 809 - 0xe0b68d21, 810 - 0x01fcf004, 811 - 0xb6022cf0, 812 - 0xf2fd0124, 813 - 0x8d21f405, 814 - 0x4afc17f1, 815 - 0xf00213f0, 816 - 0x12d00c27, 817 - 0x0721f500, 818 - 0xfc27f102, 819 - 0x0223f047, 820 - 0xf00020d0, 821 - 0x20b6012c, 822 - 0x0012d003, 823 - 0xf001acf0, 824 - 0xb7f006a5, 825 - 0x140c9800, 826 - 0xf0150d98, 827 - 0x21f500e7, 828 - 0xa7f0015c, 829 - 0x0321f508, 830 - 0x0721f501, 831 - 0x2201f402, 832 - 0xf40ca7f0, 833 - 0x17f1c921, 834 - 0x14b60a10, 835 - 0x0527f006, 836 - /* 0x08c3: ctx_xfer_post_save_wait */ 837 - 0xcf0012d0, 838 - 0x22fd0012, 839 - 0xfa1bf405, 840 - /* 0x08cf: ctx_xfer_post */ 841 - 0xf02e02f4, 842 - 0x21f502f7, 843 - 0xf4bd0632, 844 - 0x067321f5, 845 - 0x022621f5, 846 - 0x064121f5, 847 - 0x21f5f4bd, 848 - 0x11f40632, 849 - 0x40019810, 850 - 0xf40511fd, 851 - 0x21f5070b, 852 - /* 0x08fa: ctx_xfer_no_post_mmio */ 853 - /* 0x08fa: ctx_xfer_done */ 854 - 0x00f807b2, 843 + 0xd00999f0, 844 + 0x87f10089, 845 + 0x84b6085c, 846 + 0xf094bd06, 847 + 0x89d00599, 848 + /* 0x075b: ctx_chan */ 849 + 0xf500f800, 850 + 0xf0065e21, 851 + 0x21f40ca7, 852 + 0x1017f1c9, 853 + 0x0614b60a, 854 + 0xd00527f0, 855 + /* 0x0772: ctx_chan_wait */ 856 + 0x12cf0012, 857 + 0x0522fd00, 858 + 0xf8fa1bf4, 859 + /* 0x077d: ctx_mmio_exec */ 860 + 0x41039800, 861 + 0x0a0427f1, 862 + 0xd00624b6, 863 + 0x34bd0023, 864 + /* 0x078c: ctx_mmio_loop */ 865 + 0xf4ff34c4, 866 + 0x57f10f1b, 867 + 0x53f00200, 868 + 0x0535fa06, 869 + /* 0x079e: ctx_mmio_pull */ 870 + 0x4e9803f8, 871 + 0x814f9880, 872 + 0xb68d21f4, 873 + 0x12b60830, 874 + 0xdf1bf401, 875 + /* 0x07b0: ctx_mmio_done */ 876 + 0xd0160398, 877 + 0x00800023, 878 + 0x0017f140, 879 + 0x0613f001, 880 + 0xf80601fa, 881 + /* 0x07c7: ctx_xfer */ 882 + 0xf100f803, 883 + 0xb60c00f7, 884 + 0xe7f006f4, 885 + 0x80fed004, 886 + /* 0x07d4: ctx_xfer_idle */ 887 + 0xf100fecf, 888 + 0xf42000e4, 889 + 0x11f4f91b, 890 + 0x0d02f406, 891 + /* 0x07e4: ctx_xfer_pre */ 892 + 0xf510f7f0, 893 + 0xf4063e21, 894 + /* 0x07ee: ctx_xfer_pre_load */ 895 + 0xf7f01c11, 896 + 0xfd21f502, 897 + 0x0c21f505, 898 + 0x1e21f506, 899 + 0xf5f4bd06, 900 + 0xf505fd21, 901 + /* 0x0807: ctx_xfer_exec */ 902 + 0x98065e21, 903 + 0x27f11601, 904 + 0x24b60414, 905 + 0x0020d006, 906 + 0xa500e7f1, 907 + 0xb941e3f0, 908 + 0x21f4021f, 909 + 0x04e0b68d, 910 + 0xf001fcf0, 911 + 0x24b6022c, 912 + 0x05f2fd01, 913 + 0xf18d21f4, 914 + 0xf04afc17, 915 + 0x27f00213, 916 + 0x0012d00c, 917 + 0x020721f5, 918 + 0x47fc27f1, 919 + 0xd00223f0, 920 + 0x2cf00020, 921 + 0x0320b601, 922 + 0xf00012d0, 923 + 0xa5f001ac, 924 + 0x00b7f006, 925 + 0x98000c98, 926 + 0xe7f0010d, 927 + 0x5c21f500, 928 + 0x08a7f001, 929 + 0x010321f5, 930 + 0x020721f5, 931 + 0xf02201f4, 932 + 0x21f40ca7, 933 + 0x1017f1c9, 934 + 0x0614b60a, 935 + 0xd00527f0, 936 + /* 0x088e: ctx_xfer_post_save_wait */ 937 + 0x12cf0012, 938 + 0x0522fd00, 939 + 0xf4fa1bf4, 940 + /* 0x089a: ctx_xfer_post */ 941 + 0xf7f02e02, 942 + 0xfd21f502, 943 + 0xf5f4bd05, 944 + 0xf5063e21, 945 + 0xf5022621, 946 + 0xbd060c21, 947 + 0xfd21f5f4, 948 + 0x1011f405, 949 + 0xfd400198, 950 + 0x0bf40511, 951 + 0x7d21f507, 952 + /* 0x08c5: ctx_xfer_no_post_mmio */ 953 + /* 0x08c5: ctx_xfer_done */ 954 + 0x0000f807, 955 + 0x00000000, 956 + 0x00000000, 957 + 0x00000000, 958 + 0x00000000, 959 + 0x00000000, 960 + 0x00000000, 961 + 0x00000000, 962 + 0x00000000, 963 + 0x00000000, 964 + 0x00000000, 965 + 0x00000000, 966 + 0x00000000, 967 + 0x00000000, 855 968 0x00000000, 856 969 };
+47 -1
drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
··· 764 764 } 765 765 } 766 766 767 + static void 768 + nvc0_graph_init_csdata(struct nvc0_graph_priv *priv, 769 + struct nvc0_graph_init *init, 770 + u32 falcon, u32 starstar, u32 base) 771 + { 772 + u32 addr = init->addr; 773 + u32 next = addr; 774 + u32 star, temp; 775 + 776 + nv_wr32(priv, falcon + 0x01c0, 0x02000000 + starstar); 777 + star = nv_rd32(priv, falcon + 0x01c4); 778 + temp = nv_rd32(priv, falcon + 0x01c4); 779 + if (temp > star) 780 + star = temp; 781 + nv_wr32(priv, falcon + 0x01c0, 0x01000000 + star); 782 + 783 + do { 784 + if (init->addr != next) { 785 + while (addr < next) { 786 + u32 nr = min((int)(next - addr) / 4, 32); 787 + nv_wr32(priv, falcon + 0x01c4, 788 + ((nr - 1) << 26) | (addr - base)); 789 + addr += nr * 4; 790 + star += 4; 791 + } 792 + addr = next = init->addr; 793 + } 794 + next += init->count * 4; 795 + } while ((init++)->count); 796 + 797 + nv_wr32(priv, falcon + 0x01c0, 0x01000004 + starstar); 798 + nv_wr32(priv, falcon + 0x01c4, star); 799 + } 800 + 767 801 int 768 802 nvc0_graph_init_ctxctl(struct nvc0_graph_priv *priv) 769 803 { 770 804 struct nvc0_graph_oclass *oclass = (void *)nv_object(priv)->oclass; 805 + struct nvc0_grctx_oclass *cclass = (void *)nv_engine(priv)->cclass; 806 + struct nvc0_graph_init *init; 771 807 u32 r000260; 772 808 int i; 773 809 ··· 910 874 nv_wr32(priv, 0x409184, oclass->fecs.ucode->code.data[i]); 911 875 } 912 876 877 + for (i = 0; (init = cclass->hub[i]); i++) { 878 + nvc0_graph_init_csdata(priv, init, 0x409000, 0x000, 0x000000); 879 + } 880 + 913 881 /* load GPC microcode */ 914 882 nv_wr32(priv, 0x41a1c0, 0x01000000); 915 883 for (i = 0; i < oclass->gpccs.ucode->data.size / 4; i++) ··· 927 887 } 928 888 nv_wr32(priv, 0x000260, r000260); 929 889 890 + if ((init = cclass->gpc[0])) 891 + nvc0_graph_init_csdata(priv, init, 0x41a000, 0x000, 0x418000); 892 + if ((init = cclass->gpc[2])) 893 + nvc0_graph_init_csdata(priv, init, 0x41a000, 0x004, 0x419800); 894 + if ((init = cclass->gpc[3])) 895 + nvc0_graph_init_csdata(priv, init, 0x41a000, 0x008, 0x41be00); 896 + 930 897 /* start HUB ucode running, it'll init the GPCs */ 931 - nv_wr32(priv, 0x409800, nv_device(priv)->chipset); 932 898 nv_wr32(priv, 0x40910c, 0x00000000); 933 899 nv_wr32(priv, 0x409100, 0x00000002); 934 900 if (!nv_wait(priv, 0x409800, 0x80000000, 0x80000000)) {