Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpc.fuc +102 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,43 @@ error: pop $r14 ret #if CHIPSET >= GM107 tpc_strand_wait: push $r9 trace_set(T_STRTPC) tpc_strand_busy: nv_iord($r9, NV_PGRAPH_GPCX_GPCCS_TPC_STATUS, 0) bra b32 $r9 0x0 ne #tpc_strand_busy trace_clr(T_STRTPC) pop $r9 ret #define tpc_strand_wait() call(tpc_strand_wait) #define tpc_strand_enable() /* */ mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_CMD_ENABLE /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_CMD, $r15) /* */ tpc_strand_wait() #define tpc_strand_disable() /* */ mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_CMD_DISABLE /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_CMD, $r15) /* */ tpc_strand_wait() #define tpc_strand_seek(p) /* */ mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_INDEX_ALL /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_INDEX, $r15) /* */ mov $r15 p /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_SELECT, $r15) /* */ mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_CMD_SEEK /* */ tpc_strand_wait() #define tpc_strand_info(m) /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_CMD, $r15) /* */ mov $r15 m /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_DATA, $r15) /* */ mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_CMD_GET_INFO /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_CMD, $r15) /* */ tpc_strand_wait() #endif // GPC fuc initialisation, executed by triggering ucode start, will // fall through to main loop after completion. // Loading Loading @@ -196,8 +233,56 @@ init: // calculate size of strand context data mov b32 $r15 $r2 call(strand_ctx_init) add b32 $r2 $r15 add b32 $r3 $r15 #if CHIPSET >= GM107 // calculate size of tpc strand context data mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_INDEX_ALL gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_INDEX, $r15) tpc_strand_enable(); tpc_strand_seek(0); tpc_strand_info(-1); ld b32 $r4 D[$r0 + #tpc_count] mov $r5 NV_PGRAPH_GPC0_TPC0 ld b32 $r6 D[$r0 + #gpc_id] shl b32 $r6 15 add b32 $r5 $r6 tpc_strand_init_tpc_loop: add b32 $r14 $r5 NV_TPC_STRAND_CNT call(nv_rd32) mov b32 $r6 $r15 clear b32 $r7 tpc_strand_init_idx_loop: add b32 $r14 $r5 NV_TPC_STRAND_INDEX mov b32 $r15 $r7 call(nv_wr32) add b32 $r14 $r5 NV_TPC_STRAND_SAVE_SWBASE shr b32 $r15 $r2 8 call(nv_wr32) add b32 $r14 $r5 NV_TPC_STRAND_LOAD_SWBASE shr b32 $r15 $r2 8 call(nv_wr32) add b32 $r14 $r5 NV_TPC_STRAND_WORDS call(nv_rd32) shr b32 $r15 6 add b32 $r15 1 shl b32 $r15 8 add b32 $r2 $r15 add b32 $r3 $r15 add b32 $r7 1 sub b32 $r6 1 bra nz #tpc_strand_init_idx_loop add b32 $r5 NV_PGRAPH_GPC0_TPC0__SIZE sub b32 $r4 1 bra nz #tpc_strand_init_tpc_loop mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_INDEX_ALL gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_INDEX, $r15) tpc_strand_disable(); #endif // save context size, and tell HUB we're done nv_iowr(NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_VAL(1), 0, $r3) clear b32 $r2 Loading Loading @@ -316,6 +401,9 @@ ctx_redswitch: ctx_xfer: // set context base address nv_iowr(NV_PGRAPH_GPCX_GPCCS_MEM_BASE, 0, $r15) #if CHIPSET >= GM107 gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_MEM_BASE, $r15) #endif bra not $p1 #ctx_xfer_not_load call(ctx_redswitch) ctx_xfer_not_load: Loading @@ -328,6 +416,14 @@ ctx_xfer: add b32 $r2 NV_PGRAPH_GPCX_GPCCS_STRAND_CMD_SAVE nv_iowr(NV_PGRAPH_GPCX_GPCCS_STRAND_CMD, 0x3f, $r2) #if CHIPSET >= GM107 tpc_strand_enable(); tpc_strand_seek(0); xbit $r15 $flags $p1 // SAVE/LOAD add b32 $r15 NV_PGRAPH_GPC0_TPCX_STRAND_CMD_SAVE gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_CMD, $r15) #endif // mmio context xbit $r10 $flags $p1 // direction or $r10 2 // first Loading Loading @@ -372,6 +468,9 @@ ctx_xfer: // wait for strands to finish call(strand_wait) #if CHIPSET >= GM107 tpc_strand_wait() #endif // if load, or a save without a load following, do some // unknown stuff that's done after finishing a block of Loading @@ -380,6 +479,9 @@ ctx_xfer: bra not $p2 #ctx_xfer_done ctx_xfer_post: call(strand_post) #if CHIPSET >= GM107 tpc_strand_disable() #endif // mark completion in HUB's barrier ctx_xfer_done: Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf100.fuc3.h +113 −113 Original line number Diff line number Diff line Loading @@ -310,7 +310,7 @@ uint32_t gf100_grgpc_code[] = { 0x03f01200, 0x0002d000, 0x17f104bd, 0x10fe04f5, 0x10fe04f8, 0x0007f100, 0x0003f007, 0xbd0000d0, Loading Loading @@ -362,124 +362,124 @@ uint32_t gf100_grgpc_code[] = { 0x34b60824, 0x022fb908, 0x02d321f5, 0xf1003fbb, 0xf0010007, 0x03d00203, 0xbd04bd00, 0x1f29f024, 0x080007f1, 0xd00203f0, 0x04bd0002, /* 0x04b8: main */ 0xf40031f4, 0xd7f00028, 0x3921f41c, 0xb0f401f4, 0x18f404e4, 0x0181fe1e, 0xbd0627f0, 0x0412fd20, 0xfd01e4b6, 0x18fe051e, 0xad21f500, 0xd30ef405, /* 0x04e8: main_not_ctx_xfer */ 0xf010ef94, 0x21f501f5, 0x0ef4037e, /* 0x04f5: ih */ 0xfe80f9c6, 0x80f90188, 0xa0f990f9, 0xd0f9b0f9, 0xf0f9e0f9, 0xa7f104bd, 0xa3f00200, 0x00aacf00, 0xf404abc4, 0xd7f02c0b, 0x00e7f11c, 0x00e3f01a, 0xf100eecf, 0xf01900f7, 0xffcf00f3, 0x0421f400, 0xf101e7f0, 0xf01d0007, 0x0ed00003, /* 0x0543: ih_no_fifo */ 0xf104bd00, 0xf0010007, 0x0ad00003, 0xfc04bd00, 0xfce0fcf0, 0xfcb0fcd0, 0xfc90fca0, 0x0088fe80, 0x32f480fc, /* 0x0567: hub_barrier_done */ 0xf001f800, 0x0e9801f7, 0x04febb04, 0xf102ffb9, 0xf09418e7, 0x21f440e3, /* 0x057f: ctx_redswitch */ 0xf000f89d, 0x07f120f7, 0xbb002fbb, 0x07f1003f, 0x03f00100, 0x0003d002, 0x24bd04bd, 0xf11f29f0, 0xf0080007, 0x02d00203, /* 0x04bb: main */ 0xf404bd00, 0x28f40031, 0x1cd7f000, 0xf43921f4, 0xe4b0f401, 0x1e18f404, 0xf00181fe, 0x20bd0627, 0xb60412fd, 0x1efd01e4, 0x0018fe05, 0x05b021f5, /* 0x04eb: main_not_ctx_xfer */ 0x94d30ef4, 0xf5f010ef, 0x7e21f501, 0xc60ef403, /* 0x04f8: ih */ 0x88fe80f9, 0xf980f901, 0xf9a0f990, 0xf9d0f9b0, 0xbdf0f9e0, 0x00a7f104, 0x00a3f002, 0xc400aacf, 0x0bf404ab, 0x1cd7f02c, 0x1a00e7f1, 0xcf00e3f0, 0xf7f100ee, 0xf3f01900, 0x00ffcf00, 0xf00421f4, 0x07f101e7, 0x03f01d00, 0x000ed000, /* 0x0546: ih_no_fifo */ 0x07f104bd, 0x03f00100, 0x000ad000, 0xf0fc04bd, 0xd0fce0fc, 0xa0fcb0fc, 0x80fc90fc, 0xfc0088fe, 0x0032f480, /* 0x056a: hub_barrier_done */ 0xf7f001f8, 0x040e9801, 0xb904febb, 0xe7f102ff, 0xe3f09418, 0x9d21f440, /* 0x0582: ctx_redswitch */ 0xf7f000f8, 0x0007f120, 0x0103f085, 0xbd000fd0, 0x08e7f004, /* 0x0594: ctx_redswitch_delay */ 0xf401e2b6, 0xf5f1fd1b, 0xf5f10800, 0x07f10200, 0x03f08500, 0x000fd001, 0xe7f004bd, /* 0x0591: ctx_redswitch_delay */ 0x01e2b608, 0xf1fd1bf4, 0xf10800f5, 0xf10200f5, 0xf0850007, 0x0fd00103, 0xf804bd00, /* 0x05ad: ctx_xfer */ 0x0007f100, 0x0203f081, 0xbd000fd0, 0x0711f404, 0x057f21f5, /* 0x05c0: ctx_xfer_not_load */ 0x026a21f5, 0x07f124bd, 0x03f047fc, 0x0002d002, 0x2cf004bd, 0x0320b601, 0x4afc07f1, 0x00f804bd, /* 0x05b0: ctx_xfer */ 0x810007f1, 0xd00203f0, 0x04bd0002, 0xf001acf0, 0xb7f102a5, 0xb3f00000, 0x040c9850, 0xbb0fc4b6, 0x0c9800bc, 0x010d9800, 0xf500e7f0, 0xf0016f21, 0x04bd000f, 0xf50711f4, /* 0x05c3: ctx_xfer_not_load */ 0xf5058221, 0xbd026a21, 0xfc07f124, 0x0203f047, 0xbd0002d0, 0x012cf004, 0xf10320b6, 0xf04afc07, 0x02d00203, 0xf004bd00, 0xa5f001ac, 0x00b7f104, 0x50b3f040, 0x00b7f102, 0x50b3f000, 0xb6040c98, 0xbcbb0fc4, 0x010c9800, 0x98020d98, 0xe7f1060f, 0x21f50800, 0x21f5016f, 0x01f4025e, 0x0712f406, /* 0x0638: ctx_xfer_post */ 0x027f21f5, /* 0x063c: ctx_xfer_done */ 0x056721f5, 0x000000f8, 0x000c9800, 0xf0010d98, 0x21f500e7, 0xacf0016f, 0x04a5f001, 0x4000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98010c98, 0x0f98020d, 0x00e7f106, 0x6f21f508, 0x5e21f501, 0x0601f402, /* 0x063b: ctx_xfer_post */ 0xf50712f4, /* 0x063f: ctx_xfer_done */ 0xf5027f21, 0xf8056a21, 0x00000000, 0x00000000, 0x00000000, Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf117.fuc3.h +122 −122 Original line number Diff line number Diff line Loading @@ -314,7 +314,7 @@ uint32_t gf117_grgpc_code[] = { 0x03f01200, 0x0002d000, 0x17f104bd, 0x10fe053f, 0x10fe0542, 0x0007f100, 0x0003f007, 0xbd0000d0, Loading Loading @@ -387,134 +387,134 @@ uint32_t gf117_grgpc_code[] = { 0x0824b601, 0xb90834b6, 0x21f5022f, 0x3fbb02d3, 0x0007f100, 0x0203f001, 0xbd0003d0, 0xf024bd04, 0x07f11f29, 0x03f00800, 0x0002d002, /* 0x0502: main */ 0x31f404bd, 0x0028f400, 0xf424d7f0, 0x01f43921, 0x04e4b0f4, 0xfe1e18f4, 0x27f00181, 0xfd20bd06, 0xe4b60412, 0x051efd01, 0xf50018fe, 0xf405f721, /* 0x0532: main_not_ctx_xfer */ 0xef94d30e, 0x01f5f010, 0x037e21f5, /* 0x053f: ih */ 0xf9c60ef4, 0x0188fe80, 0x90f980f9, 0xb0f9a0f9, 0xe0f9d0f9, 0x04bdf0f9, 0x0200a7f1, 0xcf00a3f0, 0xabc400aa, 0x2c0bf404, 0xf124d7f0, 0xf01a00e7, 0xeecf00e3, 0x00f7f100, 0x00f3f019, 0xf400ffcf, 0xe7f00421, 0x0007f101, 0x0003f01d, 0xbd000ed0, /* 0x058d: ih_no_fifo */ 0x0007f104, 0x0003f001, 0xbd000ad0, 0xfcf0fc04, 0xfcd0fce0, 0xfca0fcb0, 0xfe80fc90, 0x80fc0088, 0xf80032f4, /* 0x05b1: hub_barrier_done */ 0x01f7f001, 0xbb040e98, 0xffb904fe, 0x18e7f102, 0x40e3f094, 0xf89d21f4, /* 0x05c9: ctx_redswitch */ 0x20f7f000, 0x2fbb02d3, 0x003fbb00, 0x010007f1, 0xd00203f0, 0x04bd0003, 0x29f024bd, 0x0007f11f, 0x0203f008, 0xbd0002d0, /* 0x0505: main */ 0x0031f404, 0xf00028f4, 0x21f424d7, 0xf401f439, 0xf404e4b0, 0x81fe1e18, 0x0627f001, 0x12fd20bd, 0x01e4b604, 0xfe051efd, 0x21f50018, 0x0ef405fa, /* 0x0535: main_not_ctx_xfer */ 0x10ef94d3, 0xf501f5f0, 0xf4037e21, /* 0x0542: ih */ 0x80f9c60e, 0xf90188fe, 0xf990f980, 0xf9b0f9a0, 0xf9e0f9d0, 0xf104bdf0, 0xf00200a7, 0xaacf00a3, 0x04abc400, 0xf02c0bf4, 0xe7f124d7, 0xe3f01a00, 0x00eecf00, 0x1900f7f1, 0xcf00f3f0, 0x21f400ff, 0x01e7f004, 0x1d0007f1, 0xd00003f0, 0x04bd000e, /* 0x0590: ih_no_fifo */ 0x010007f1, 0xd00003f0, 0x04bd000a, 0xe0fcf0fc, 0xb0fcd0fc, 0x90fca0fc, 0x88fe80fc, 0xf480fc00, 0x01f80032, /* 0x05b4: hub_barrier_done */ 0x9801f7f0, 0xfebb040e, 0x02ffb904, 0x9418e7f1, 0xf440e3f0, 0x00f89d21, /* 0x05cc: ctx_redswitch */ 0xf120f7f0, 0xf0850007, 0x0fd00103, 0xf004bd00, /* 0x05de: ctx_redswitch_delay */ 0xe2b608e7, 0xfd1bf401, 0x0800f5f1, 0x0200f5f1, 0x850007f1, 0xd00103f0, 0x04bd000f, /* 0x05db: ctx_redswitch_delay */ 0xb608e7f0, 0x1bf401e2, 0x00f5f1fd, 0x00f5f108, 0x0007f102, 0x0103f085, 0xbd000fd0, /* 0x05f7: ctx_xfer */ 0xf100f804, 0xf0810007, 0x0fd00203, 0xf404bd00, 0x21f50711, /* 0x060a: ctx_xfer_not_load */ 0x21f505c9, 0x24bd026a, 0x47fc07f1, 0xd00203f0, 0x04bd0002, 0xb6012cf0, 0x07f10320, 0x03f04afc, 0x0002d002, 0xacf004bd, 0x02a5f001, 0x0000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98000c98, 0xe7f0010d, 0x6f21f500, 0x01acf001, 0x4000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98010c98, 0x0f98020d, 0x00e7f106, 0x6f21f508, 0x01acf001, 0xf104a5f0, 0xf03000b7, /* 0x05fa: ctx_xfer */ 0x07f100f8, 0x03f08100, 0x000fd002, 0x11f404bd, 0xcc21f507, /* 0x060d: ctx_xfer_not_load */ 0x6a21f505, 0xf124bd02, 0xf047fc07, 0x02d00203, 0xf004bd00, 0x20b6012c, 0xfc07f103, 0x0203f04a, 0xbd0002d0, 0x01acf004, 0xf102a5f0, 0xf00000b7, 0x0c9850b3, 0x0fc4b604, 0x9800bcbb, 0x0d98020c, 0x080f9803, 0x0200e7f1, 0x0d98000c, 0x00e7f001, 0x016f21f5, 0x025e21f5, 0xf40601f4, /* 0x06a6: ctx_xfer_post */ 0x21f50712, /* 0x06aa: ctx_xfer_done */ 0x21f5027f, 0x00f805b1, 0x00000000, 0xf101acf0, 0xf04000b7, 0x0c9850b3, 0x0fc4b604, 0x9800bcbb, 0x0d98010c, 0x060f9802, 0x0800e7f1, 0x016f21f5, 0xf001acf0, 0xb7f104a5, 0xb3f03000, 0x040c9850, 0xbb0fc4b6, 0x0c9800bc, 0x030d9802, 0xf1080f98, 0xf50200e7, 0xf5016f21, 0xf4025e21, 0x12f40601, /* 0x06a9: ctx_xfer_post */ 0x7f21f507, /* 0x06ad: ctx_xfer_done */ 0xb421f502, 0x0000f805, 0x00000000, 0x00000000, 0x00000000, Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk104.fuc3.h +122 −122 Original line number Diff line number Diff line Loading @@ -314,7 +314,7 @@ uint32_t gk104_grgpc_code[] = { 0x03f01200, 0x0002d000, 0x17f104bd, 0x10fe053f, 0x10fe0542, 0x0007f100, 0x0003f007, 0xbd0000d0, Loading Loading @@ -387,134 +387,134 @@ uint32_t gk104_grgpc_code[] = { 0x0824b601, 0xb90834b6, 0x21f5022f, 0x3fbb02d3, 0x0007f100, 0x0203f001, 0xbd0003d0, 0xf024bd04, 0x07f11f29, 0x03f00800, 0x0002d002, /* 0x0502: main */ 0x31f404bd, 0x0028f400, 0xf424d7f0, 0x01f43921, 0x04e4b0f4, 0xfe1e18f4, 0x27f00181, 0xfd20bd06, 0xe4b60412, 0x051efd01, 0xf50018fe, 0xf405f721, /* 0x0532: main_not_ctx_xfer */ 0xef94d30e, 0x01f5f010, 0x037e21f5, /* 0x053f: ih */ 0xf9c60ef4, 0x0188fe80, 0x90f980f9, 0xb0f9a0f9, 0xe0f9d0f9, 0x04bdf0f9, 0x0200a7f1, 0xcf00a3f0, 0xabc400aa, 0x2c0bf404, 0xf124d7f0, 0xf01a00e7, 0xeecf00e3, 0x00f7f100, 0x00f3f019, 0xf400ffcf, 0xe7f00421, 0x0007f101, 0x0003f01d, 0xbd000ed0, /* 0x058d: ih_no_fifo */ 0x0007f104, 0x0003f001, 0xbd000ad0, 0xfcf0fc04, 0xfcd0fce0, 0xfca0fcb0, 0xfe80fc90, 0x80fc0088, 0xf80032f4, /* 0x05b1: hub_barrier_done */ 0x01f7f001, 0xbb040e98, 0xffb904fe, 0x18e7f102, 0x40e3f094, 0xf89d21f4, /* 0x05c9: ctx_redswitch */ 0x20f7f000, 0x2fbb02d3, 0x003fbb00, 0x010007f1, 0xd00203f0, 0x04bd0003, 0x29f024bd, 0x0007f11f, 0x0203f008, 0xbd0002d0, /* 0x0505: main */ 0x0031f404, 0xf00028f4, 0x21f424d7, 0xf401f439, 0xf404e4b0, 0x81fe1e18, 0x0627f001, 0x12fd20bd, 0x01e4b604, 0xfe051efd, 0x21f50018, 0x0ef405fa, /* 0x0535: main_not_ctx_xfer */ 0x10ef94d3, 0xf501f5f0, 0xf4037e21, /* 0x0542: ih */ 0x80f9c60e, 0xf90188fe, 0xf990f980, 0xf9b0f9a0, 0xf9e0f9d0, 0xf104bdf0, 0xf00200a7, 0xaacf00a3, 0x04abc400, 0xf02c0bf4, 0xe7f124d7, 0xe3f01a00, 0x00eecf00, 0x1900f7f1, 0xcf00f3f0, 0x21f400ff, 0x01e7f004, 0x1d0007f1, 0xd00003f0, 0x04bd000e, /* 0x0590: ih_no_fifo */ 0x010007f1, 0xd00003f0, 0x04bd000a, 0xe0fcf0fc, 0xb0fcd0fc, 0x90fca0fc, 0x88fe80fc, 0xf480fc00, 0x01f80032, /* 0x05b4: hub_barrier_done */ 0x9801f7f0, 0xfebb040e, 0x02ffb904, 0x9418e7f1, 0xf440e3f0, 0x00f89d21, /* 0x05cc: ctx_redswitch */ 0xf120f7f0, 0xf0850007, 0x0fd00103, 0xf004bd00, /* 0x05de: ctx_redswitch_delay */ 0xe2b608e7, 0xfd1bf401, 0x0800f5f1, 0x0200f5f1, 0x850007f1, 0xd00103f0, 0x04bd000f, /* 0x05db: ctx_redswitch_delay */ 0xb608e7f0, 0x1bf401e2, 0x00f5f1fd, 0x00f5f108, 0x0007f102, 0x0103f085, 0xbd000fd0, /* 0x05f7: ctx_xfer */ 0xf100f804, 0xf0810007, 0x0fd00203, 0xf404bd00, 0x21f50711, /* 0x060a: ctx_xfer_not_load */ 0x21f505c9, 0x24bd026a, 0x47fc07f1, 0xd00203f0, 0x04bd0002, 0xb6012cf0, 0x07f10320, 0x03f04afc, 0x0002d002, 0xacf004bd, 0x02a5f001, 0x0000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98000c98, 0xe7f0010d, 0x6f21f500, 0x01acf001, 0x4000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98010c98, 0x0f98020d, 0x00e7f106, 0x6f21f508, 0x01acf001, 0xf104a5f0, 0xf03000b7, /* 0x05fa: ctx_xfer */ 0x07f100f8, 0x03f08100, 0x000fd002, 0x11f404bd, 0xcc21f507, /* 0x060d: ctx_xfer_not_load */ 0x6a21f505, 0xf124bd02, 0xf047fc07, 0x02d00203, 0xf004bd00, 0x20b6012c, 0xfc07f103, 0x0203f04a, 0xbd0002d0, 0x01acf004, 0xf102a5f0, 0xf00000b7, 0x0c9850b3, 0x0fc4b604, 0x9800bcbb, 0x0d98020c, 0x080f9803, 0x0200e7f1, 0x0d98000c, 0x00e7f001, 0x016f21f5, 0x025e21f5, 0xf40601f4, /* 0x06a6: ctx_xfer_post */ 0x21f50712, /* 0x06aa: ctx_xfer_done */ 0x21f5027f, 0x00f805b1, 0x00000000, 0xf101acf0, 0xf04000b7, 0x0c9850b3, 0x0fc4b604, 0x9800bcbb, 0x0d98010c, 0x060f9802, 0x0800e7f1, 0x016f21f5, 0xf001acf0, 0xb7f104a5, 0xb3f03000, 0x040c9850, 0xbb0fc4b6, 0x0c9800bc, 0x030d9802, 0xf1080f98, 0xf50200e7, 0xf5016f21, 0xf4025e21, 0x12f40601, /* 0x06a9: ctx_xfer_post */ 0x7f21f507, /* 0x06ad: ctx_xfer_done */ 0xb421f502, 0x0000f805, 0x00000000, 0x00000000, 0x00000000, Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk110.fuc3.h +122 −122 Original line number Diff line number Diff line Loading @@ -314,7 +314,7 @@ uint32_t gk110_grgpc_code[] = { 0x03f01200, 0x0002d000, 0x17f104bd, 0x10fe053f, 0x10fe0542, 0x0007f100, 0x0003f007, 0xbd0000d0, Loading Loading @@ -387,134 +387,134 @@ uint32_t gk110_grgpc_code[] = { 0x0824b601, 0xb90834b6, 0x21f5022f, 0x3fbb02d3, 0x0007f100, 0x0203f001, 0xbd0003d0, 0xf024bd04, 0x07f11f29, 0x03f03000, 0x0002d002, /* 0x0502: main */ 0x31f404bd, 0x0028f400, 0xf424d7f0, 0x01f43921, 0x04e4b0f4, 0xfe1e18f4, 0x27f00181, 0xfd20bd06, 0xe4b60412, 0x051efd01, 0xf50018fe, 0xf405f721, /* 0x0532: main_not_ctx_xfer */ 0xef94d30e, 0x01f5f010, 0x037e21f5, /* 0x053f: ih */ 0xf9c60ef4, 0x0188fe80, 0x90f980f9, 0xb0f9a0f9, 0xe0f9d0f9, 0x04bdf0f9, 0x0200a7f1, 0xcf00a3f0, 0xabc400aa, 0x2c0bf404, 0xf124d7f0, 0xf01a00e7, 0xeecf00e3, 0x00f7f100, 0x00f3f019, 0xf400ffcf, 0xe7f00421, 0x0007f101, 0x0003f01d, 0xbd000ed0, /* 0x058d: ih_no_fifo */ 0x0007f104, 0x0003f001, 0xbd000ad0, 0xfcf0fc04, 0xfcd0fce0, 0xfca0fcb0, 0xfe80fc90, 0x80fc0088, 0xf80032f4, /* 0x05b1: hub_barrier_done */ 0x01f7f001, 0xbb040e98, 0xffb904fe, 0x18e7f102, 0x40e3f094, 0xf89d21f4, /* 0x05c9: ctx_redswitch */ 0x20f7f000, 0x2fbb02d3, 0x003fbb00, 0x010007f1, 0xd00203f0, 0x04bd0003, 0x29f024bd, 0x0007f11f, 0x0203f030, 0xbd0002d0, /* 0x0505: main */ 0x0031f404, 0xf00028f4, 0x21f424d7, 0xf401f439, 0xf404e4b0, 0x81fe1e18, 0x0627f001, 0x12fd20bd, 0x01e4b604, 0xfe051efd, 0x21f50018, 0x0ef405fa, /* 0x0535: main_not_ctx_xfer */ 0x10ef94d3, 0xf501f5f0, 0xf4037e21, /* 0x0542: ih */ 0x80f9c60e, 0xf90188fe, 0xf990f980, 0xf9b0f9a0, 0xf9e0f9d0, 0xf104bdf0, 0xf00200a7, 0xaacf00a3, 0x04abc400, 0xf02c0bf4, 0xe7f124d7, 0xe3f01a00, 0x00eecf00, 0x1900f7f1, 0xcf00f3f0, 0x21f400ff, 0x01e7f004, 0x1d0007f1, 0xd00003f0, 0x04bd000e, /* 0x0590: ih_no_fifo */ 0x010007f1, 0xd00003f0, 0x04bd000a, 0xe0fcf0fc, 0xb0fcd0fc, 0x90fca0fc, 0x88fe80fc, 0xf480fc00, 0x01f80032, /* 0x05b4: hub_barrier_done */ 0x9801f7f0, 0xfebb040e, 0x02ffb904, 0x9418e7f1, 0xf440e3f0, 0x00f89d21, /* 0x05cc: ctx_redswitch */ 0xf120f7f0, 0xf0850007, 0x0fd00103, 0xf004bd00, /* 0x05de: ctx_redswitch_delay */ 0xe2b608e7, 0xfd1bf401, 0x0800f5f1, 0x0200f5f1, 0x850007f1, 0xd00103f0, 0x04bd000f, /* 0x05db: ctx_redswitch_delay */ 0xb608e7f0, 0x1bf401e2, 0x00f5f1fd, 0x00f5f108, 0x0007f102, 0x0103f085, 0xbd000fd0, /* 0x05f7: ctx_xfer */ 0xf100f804, 0xf0810007, 0x0fd00203, 0xf404bd00, 0x21f50711, /* 0x060a: ctx_xfer_not_load */ 0x21f505c9, 0x24bd026a, 0x47fc07f1, 0xd00203f0, 0x04bd0002, 0xb6012cf0, 0x07f10320, 0x03f04afc, 0x0002d002, 0xacf004bd, 0x02a5f001, 0x0000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98000c98, 0xe7f0010d, 0x6f21f500, 0x01acf001, 0x4000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98010c98, 0x0f98020d, 0x00e7f106, 0x6f21f508, 0x01acf001, 0xf104a5f0, 0xf03000b7, /* 0x05fa: ctx_xfer */ 0x07f100f8, 0x03f08100, 0x000fd002, 0x11f404bd, 0xcc21f507, /* 0x060d: ctx_xfer_not_load */ 0x6a21f505, 0xf124bd02, 0xf047fc07, 0x02d00203, 0xf004bd00, 0x20b6012c, 0xfc07f103, 0x0203f04a, 0xbd0002d0, 0x01acf004, 0xf102a5f0, 0xf00000b7, 0x0c9850b3, 0x0fc4b604, 0x9800bcbb, 0x0d98020c, 0x080f9803, 0x0200e7f1, 0x0d98000c, 0x00e7f001, 0x016f21f5, 0x025e21f5, 0xf40601f4, /* 0x06a6: ctx_xfer_post */ 0x21f50712, /* 0x06aa: ctx_xfer_done */ 0x21f5027f, 0x00f805b1, 0x00000000, 0xf101acf0, 0xf04000b7, 0x0c9850b3, 0x0fc4b604, 0x9800bcbb, 0x0d98010c, 0x060f9802, 0x0800e7f1, 0x016f21f5, 0xf001acf0, 0xb7f104a5, 0xb3f03000, 0x040c9850, 0xbb0fc4b6, 0x0c9800bc, 0x030d9802, 0xf1080f98, 0xf50200e7, 0xf5016f21, 0xf4025e21, 0x12f40601, /* 0x06a9: ctx_xfer_post */ 0x7f21f507, /* 0x06ad: ctx_xfer_done */ 0xb421f502, 0x0000f805, 0x00000000, 0x00000000, 0x00000000, Loading Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpc.fuc +102 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,43 @@ error: pop $r14 ret #if CHIPSET >= GM107 tpc_strand_wait: push $r9 trace_set(T_STRTPC) tpc_strand_busy: nv_iord($r9, NV_PGRAPH_GPCX_GPCCS_TPC_STATUS, 0) bra b32 $r9 0x0 ne #tpc_strand_busy trace_clr(T_STRTPC) pop $r9 ret #define tpc_strand_wait() call(tpc_strand_wait) #define tpc_strand_enable() /* */ mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_CMD_ENABLE /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_CMD, $r15) /* */ tpc_strand_wait() #define tpc_strand_disable() /* */ mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_CMD_DISABLE /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_CMD, $r15) /* */ tpc_strand_wait() #define tpc_strand_seek(p) /* */ mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_INDEX_ALL /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_INDEX, $r15) /* */ mov $r15 p /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_SELECT, $r15) /* */ mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_CMD_SEEK /* */ tpc_strand_wait() #define tpc_strand_info(m) /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_CMD, $r15) /* */ mov $r15 m /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_DATA, $r15) /* */ mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_CMD_GET_INFO /* */ gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_CMD, $r15) /* */ tpc_strand_wait() #endif // GPC fuc initialisation, executed by triggering ucode start, will // fall through to main loop after completion. // Loading Loading @@ -196,8 +233,56 @@ init: // calculate size of strand context data mov b32 $r15 $r2 call(strand_ctx_init) add b32 $r2 $r15 add b32 $r3 $r15 #if CHIPSET >= GM107 // calculate size of tpc strand context data mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_INDEX_ALL gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_INDEX, $r15) tpc_strand_enable(); tpc_strand_seek(0); tpc_strand_info(-1); ld b32 $r4 D[$r0 + #tpc_count] mov $r5 NV_PGRAPH_GPC0_TPC0 ld b32 $r6 D[$r0 + #gpc_id] shl b32 $r6 15 add b32 $r5 $r6 tpc_strand_init_tpc_loop: add b32 $r14 $r5 NV_TPC_STRAND_CNT call(nv_rd32) mov b32 $r6 $r15 clear b32 $r7 tpc_strand_init_idx_loop: add b32 $r14 $r5 NV_TPC_STRAND_INDEX mov b32 $r15 $r7 call(nv_wr32) add b32 $r14 $r5 NV_TPC_STRAND_SAVE_SWBASE shr b32 $r15 $r2 8 call(nv_wr32) add b32 $r14 $r5 NV_TPC_STRAND_LOAD_SWBASE shr b32 $r15 $r2 8 call(nv_wr32) add b32 $r14 $r5 NV_TPC_STRAND_WORDS call(nv_rd32) shr b32 $r15 6 add b32 $r15 1 shl b32 $r15 8 add b32 $r2 $r15 add b32 $r3 $r15 add b32 $r7 1 sub b32 $r6 1 bra nz #tpc_strand_init_idx_loop add b32 $r5 NV_PGRAPH_GPC0_TPC0__SIZE sub b32 $r4 1 bra nz #tpc_strand_init_tpc_loop mov $r15 NV_PGRAPH_GPC0_TPCX_STRAND_INDEX_ALL gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_INDEX, $r15) tpc_strand_disable(); #endif // save context size, and tell HUB we're done nv_iowr(NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_VAL(1), 0, $r3) clear b32 $r2 Loading Loading @@ -316,6 +401,9 @@ ctx_redswitch: ctx_xfer: // set context base address nv_iowr(NV_PGRAPH_GPCX_GPCCS_MEM_BASE, 0, $r15) #if CHIPSET >= GM107 gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_MEM_BASE, $r15) #endif bra not $p1 #ctx_xfer_not_load call(ctx_redswitch) ctx_xfer_not_load: Loading @@ -328,6 +416,14 @@ ctx_xfer: add b32 $r2 NV_PGRAPH_GPCX_GPCCS_STRAND_CMD_SAVE nv_iowr(NV_PGRAPH_GPCX_GPCCS_STRAND_CMD, 0x3f, $r2) #if CHIPSET >= GM107 tpc_strand_enable(); tpc_strand_seek(0); xbit $r15 $flags $p1 // SAVE/LOAD add b32 $r15 NV_PGRAPH_GPC0_TPCX_STRAND_CMD_SAVE gpc_wr32(NV_PGRAPH_GPC0_TPCX_STRAND_CMD, $r15) #endif // mmio context xbit $r10 $flags $p1 // direction or $r10 2 // first Loading Loading @@ -372,6 +468,9 @@ ctx_xfer: // wait for strands to finish call(strand_wait) #if CHIPSET >= GM107 tpc_strand_wait() #endif // if load, or a save without a load following, do some // unknown stuff that's done after finishing a block of Loading @@ -380,6 +479,9 @@ ctx_xfer: bra not $p2 #ctx_xfer_done ctx_xfer_post: call(strand_post) #if CHIPSET >= GM107 tpc_strand_disable() #endif // mark completion in HUB's barrier ctx_xfer_done: Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf100.fuc3.h +113 −113 Original line number Diff line number Diff line Loading @@ -310,7 +310,7 @@ uint32_t gf100_grgpc_code[] = { 0x03f01200, 0x0002d000, 0x17f104bd, 0x10fe04f5, 0x10fe04f8, 0x0007f100, 0x0003f007, 0xbd0000d0, Loading Loading @@ -362,124 +362,124 @@ uint32_t gf100_grgpc_code[] = { 0x34b60824, 0x022fb908, 0x02d321f5, 0xf1003fbb, 0xf0010007, 0x03d00203, 0xbd04bd00, 0x1f29f024, 0x080007f1, 0xd00203f0, 0x04bd0002, /* 0x04b8: main */ 0xf40031f4, 0xd7f00028, 0x3921f41c, 0xb0f401f4, 0x18f404e4, 0x0181fe1e, 0xbd0627f0, 0x0412fd20, 0xfd01e4b6, 0x18fe051e, 0xad21f500, 0xd30ef405, /* 0x04e8: main_not_ctx_xfer */ 0xf010ef94, 0x21f501f5, 0x0ef4037e, /* 0x04f5: ih */ 0xfe80f9c6, 0x80f90188, 0xa0f990f9, 0xd0f9b0f9, 0xf0f9e0f9, 0xa7f104bd, 0xa3f00200, 0x00aacf00, 0xf404abc4, 0xd7f02c0b, 0x00e7f11c, 0x00e3f01a, 0xf100eecf, 0xf01900f7, 0xffcf00f3, 0x0421f400, 0xf101e7f0, 0xf01d0007, 0x0ed00003, /* 0x0543: ih_no_fifo */ 0xf104bd00, 0xf0010007, 0x0ad00003, 0xfc04bd00, 0xfce0fcf0, 0xfcb0fcd0, 0xfc90fca0, 0x0088fe80, 0x32f480fc, /* 0x0567: hub_barrier_done */ 0xf001f800, 0x0e9801f7, 0x04febb04, 0xf102ffb9, 0xf09418e7, 0x21f440e3, /* 0x057f: ctx_redswitch */ 0xf000f89d, 0x07f120f7, 0xbb002fbb, 0x07f1003f, 0x03f00100, 0x0003d002, 0x24bd04bd, 0xf11f29f0, 0xf0080007, 0x02d00203, /* 0x04bb: main */ 0xf404bd00, 0x28f40031, 0x1cd7f000, 0xf43921f4, 0xe4b0f401, 0x1e18f404, 0xf00181fe, 0x20bd0627, 0xb60412fd, 0x1efd01e4, 0x0018fe05, 0x05b021f5, /* 0x04eb: main_not_ctx_xfer */ 0x94d30ef4, 0xf5f010ef, 0x7e21f501, 0xc60ef403, /* 0x04f8: ih */ 0x88fe80f9, 0xf980f901, 0xf9a0f990, 0xf9d0f9b0, 0xbdf0f9e0, 0x00a7f104, 0x00a3f002, 0xc400aacf, 0x0bf404ab, 0x1cd7f02c, 0x1a00e7f1, 0xcf00e3f0, 0xf7f100ee, 0xf3f01900, 0x00ffcf00, 0xf00421f4, 0x07f101e7, 0x03f01d00, 0x000ed000, /* 0x0546: ih_no_fifo */ 0x07f104bd, 0x03f00100, 0x000ad000, 0xf0fc04bd, 0xd0fce0fc, 0xa0fcb0fc, 0x80fc90fc, 0xfc0088fe, 0x0032f480, /* 0x056a: hub_barrier_done */ 0xf7f001f8, 0x040e9801, 0xb904febb, 0xe7f102ff, 0xe3f09418, 0x9d21f440, /* 0x0582: ctx_redswitch */ 0xf7f000f8, 0x0007f120, 0x0103f085, 0xbd000fd0, 0x08e7f004, /* 0x0594: ctx_redswitch_delay */ 0xf401e2b6, 0xf5f1fd1b, 0xf5f10800, 0x07f10200, 0x03f08500, 0x000fd001, 0xe7f004bd, /* 0x0591: ctx_redswitch_delay */ 0x01e2b608, 0xf1fd1bf4, 0xf10800f5, 0xf10200f5, 0xf0850007, 0x0fd00103, 0xf804bd00, /* 0x05ad: ctx_xfer */ 0x0007f100, 0x0203f081, 0xbd000fd0, 0x0711f404, 0x057f21f5, /* 0x05c0: ctx_xfer_not_load */ 0x026a21f5, 0x07f124bd, 0x03f047fc, 0x0002d002, 0x2cf004bd, 0x0320b601, 0x4afc07f1, 0x00f804bd, /* 0x05b0: ctx_xfer */ 0x810007f1, 0xd00203f0, 0x04bd0002, 0xf001acf0, 0xb7f102a5, 0xb3f00000, 0x040c9850, 0xbb0fc4b6, 0x0c9800bc, 0x010d9800, 0xf500e7f0, 0xf0016f21, 0x04bd000f, 0xf50711f4, /* 0x05c3: ctx_xfer_not_load */ 0xf5058221, 0xbd026a21, 0xfc07f124, 0x0203f047, 0xbd0002d0, 0x012cf004, 0xf10320b6, 0xf04afc07, 0x02d00203, 0xf004bd00, 0xa5f001ac, 0x00b7f104, 0x50b3f040, 0x00b7f102, 0x50b3f000, 0xb6040c98, 0xbcbb0fc4, 0x010c9800, 0x98020d98, 0xe7f1060f, 0x21f50800, 0x21f5016f, 0x01f4025e, 0x0712f406, /* 0x0638: ctx_xfer_post */ 0x027f21f5, /* 0x063c: ctx_xfer_done */ 0x056721f5, 0x000000f8, 0x000c9800, 0xf0010d98, 0x21f500e7, 0xacf0016f, 0x04a5f001, 0x4000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98010c98, 0x0f98020d, 0x00e7f106, 0x6f21f508, 0x5e21f501, 0x0601f402, /* 0x063b: ctx_xfer_post */ 0xf50712f4, /* 0x063f: ctx_xfer_done */ 0xf5027f21, 0xf8056a21, 0x00000000, 0x00000000, 0x00000000, Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgf117.fuc3.h +122 −122 Original line number Diff line number Diff line Loading @@ -314,7 +314,7 @@ uint32_t gf117_grgpc_code[] = { 0x03f01200, 0x0002d000, 0x17f104bd, 0x10fe053f, 0x10fe0542, 0x0007f100, 0x0003f007, 0xbd0000d0, Loading Loading @@ -387,134 +387,134 @@ uint32_t gf117_grgpc_code[] = { 0x0824b601, 0xb90834b6, 0x21f5022f, 0x3fbb02d3, 0x0007f100, 0x0203f001, 0xbd0003d0, 0xf024bd04, 0x07f11f29, 0x03f00800, 0x0002d002, /* 0x0502: main */ 0x31f404bd, 0x0028f400, 0xf424d7f0, 0x01f43921, 0x04e4b0f4, 0xfe1e18f4, 0x27f00181, 0xfd20bd06, 0xe4b60412, 0x051efd01, 0xf50018fe, 0xf405f721, /* 0x0532: main_not_ctx_xfer */ 0xef94d30e, 0x01f5f010, 0x037e21f5, /* 0x053f: ih */ 0xf9c60ef4, 0x0188fe80, 0x90f980f9, 0xb0f9a0f9, 0xe0f9d0f9, 0x04bdf0f9, 0x0200a7f1, 0xcf00a3f0, 0xabc400aa, 0x2c0bf404, 0xf124d7f0, 0xf01a00e7, 0xeecf00e3, 0x00f7f100, 0x00f3f019, 0xf400ffcf, 0xe7f00421, 0x0007f101, 0x0003f01d, 0xbd000ed0, /* 0x058d: ih_no_fifo */ 0x0007f104, 0x0003f001, 0xbd000ad0, 0xfcf0fc04, 0xfcd0fce0, 0xfca0fcb0, 0xfe80fc90, 0x80fc0088, 0xf80032f4, /* 0x05b1: hub_barrier_done */ 0x01f7f001, 0xbb040e98, 0xffb904fe, 0x18e7f102, 0x40e3f094, 0xf89d21f4, /* 0x05c9: ctx_redswitch */ 0x20f7f000, 0x2fbb02d3, 0x003fbb00, 0x010007f1, 0xd00203f0, 0x04bd0003, 0x29f024bd, 0x0007f11f, 0x0203f008, 0xbd0002d0, /* 0x0505: main */ 0x0031f404, 0xf00028f4, 0x21f424d7, 0xf401f439, 0xf404e4b0, 0x81fe1e18, 0x0627f001, 0x12fd20bd, 0x01e4b604, 0xfe051efd, 0x21f50018, 0x0ef405fa, /* 0x0535: main_not_ctx_xfer */ 0x10ef94d3, 0xf501f5f0, 0xf4037e21, /* 0x0542: ih */ 0x80f9c60e, 0xf90188fe, 0xf990f980, 0xf9b0f9a0, 0xf9e0f9d0, 0xf104bdf0, 0xf00200a7, 0xaacf00a3, 0x04abc400, 0xf02c0bf4, 0xe7f124d7, 0xe3f01a00, 0x00eecf00, 0x1900f7f1, 0xcf00f3f0, 0x21f400ff, 0x01e7f004, 0x1d0007f1, 0xd00003f0, 0x04bd000e, /* 0x0590: ih_no_fifo */ 0x010007f1, 0xd00003f0, 0x04bd000a, 0xe0fcf0fc, 0xb0fcd0fc, 0x90fca0fc, 0x88fe80fc, 0xf480fc00, 0x01f80032, /* 0x05b4: hub_barrier_done */ 0x9801f7f0, 0xfebb040e, 0x02ffb904, 0x9418e7f1, 0xf440e3f0, 0x00f89d21, /* 0x05cc: ctx_redswitch */ 0xf120f7f0, 0xf0850007, 0x0fd00103, 0xf004bd00, /* 0x05de: ctx_redswitch_delay */ 0xe2b608e7, 0xfd1bf401, 0x0800f5f1, 0x0200f5f1, 0x850007f1, 0xd00103f0, 0x04bd000f, /* 0x05db: ctx_redswitch_delay */ 0xb608e7f0, 0x1bf401e2, 0x00f5f1fd, 0x00f5f108, 0x0007f102, 0x0103f085, 0xbd000fd0, /* 0x05f7: ctx_xfer */ 0xf100f804, 0xf0810007, 0x0fd00203, 0xf404bd00, 0x21f50711, /* 0x060a: ctx_xfer_not_load */ 0x21f505c9, 0x24bd026a, 0x47fc07f1, 0xd00203f0, 0x04bd0002, 0xb6012cf0, 0x07f10320, 0x03f04afc, 0x0002d002, 0xacf004bd, 0x02a5f001, 0x0000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98000c98, 0xe7f0010d, 0x6f21f500, 0x01acf001, 0x4000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98010c98, 0x0f98020d, 0x00e7f106, 0x6f21f508, 0x01acf001, 0xf104a5f0, 0xf03000b7, /* 0x05fa: ctx_xfer */ 0x07f100f8, 0x03f08100, 0x000fd002, 0x11f404bd, 0xcc21f507, /* 0x060d: ctx_xfer_not_load */ 0x6a21f505, 0xf124bd02, 0xf047fc07, 0x02d00203, 0xf004bd00, 0x20b6012c, 0xfc07f103, 0x0203f04a, 0xbd0002d0, 0x01acf004, 0xf102a5f0, 0xf00000b7, 0x0c9850b3, 0x0fc4b604, 0x9800bcbb, 0x0d98020c, 0x080f9803, 0x0200e7f1, 0x0d98000c, 0x00e7f001, 0x016f21f5, 0x025e21f5, 0xf40601f4, /* 0x06a6: ctx_xfer_post */ 0x21f50712, /* 0x06aa: ctx_xfer_done */ 0x21f5027f, 0x00f805b1, 0x00000000, 0xf101acf0, 0xf04000b7, 0x0c9850b3, 0x0fc4b604, 0x9800bcbb, 0x0d98010c, 0x060f9802, 0x0800e7f1, 0x016f21f5, 0xf001acf0, 0xb7f104a5, 0xb3f03000, 0x040c9850, 0xbb0fc4b6, 0x0c9800bc, 0x030d9802, 0xf1080f98, 0xf50200e7, 0xf5016f21, 0xf4025e21, 0x12f40601, /* 0x06a9: ctx_xfer_post */ 0x7f21f507, /* 0x06ad: ctx_xfer_done */ 0xb421f502, 0x0000f805, 0x00000000, 0x00000000, 0x00000000, Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk104.fuc3.h +122 −122 Original line number Diff line number Diff line Loading @@ -314,7 +314,7 @@ uint32_t gk104_grgpc_code[] = { 0x03f01200, 0x0002d000, 0x17f104bd, 0x10fe053f, 0x10fe0542, 0x0007f100, 0x0003f007, 0xbd0000d0, Loading Loading @@ -387,134 +387,134 @@ uint32_t gk104_grgpc_code[] = { 0x0824b601, 0xb90834b6, 0x21f5022f, 0x3fbb02d3, 0x0007f100, 0x0203f001, 0xbd0003d0, 0xf024bd04, 0x07f11f29, 0x03f00800, 0x0002d002, /* 0x0502: main */ 0x31f404bd, 0x0028f400, 0xf424d7f0, 0x01f43921, 0x04e4b0f4, 0xfe1e18f4, 0x27f00181, 0xfd20bd06, 0xe4b60412, 0x051efd01, 0xf50018fe, 0xf405f721, /* 0x0532: main_not_ctx_xfer */ 0xef94d30e, 0x01f5f010, 0x037e21f5, /* 0x053f: ih */ 0xf9c60ef4, 0x0188fe80, 0x90f980f9, 0xb0f9a0f9, 0xe0f9d0f9, 0x04bdf0f9, 0x0200a7f1, 0xcf00a3f0, 0xabc400aa, 0x2c0bf404, 0xf124d7f0, 0xf01a00e7, 0xeecf00e3, 0x00f7f100, 0x00f3f019, 0xf400ffcf, 0xe7f00421, 0x0007f101, 0x0003f01d, 0xbd000ed0, /* 0x058d: ih_no_fifo */ 0x0007f104, 0x0003f001, 0xbd000ad0, 0xfcf0fc04, 0xfcd0fce0, 0xfca0fcb0, 0xfe80fc90, 0x80fc0088, 0xf80032f4, /* 0x05b1: hub_barrier_done */ 0x01f7f001, 0xbb040e98, 0xffb904fe, 0x18e7f102, 0x40e3f094, 0xf89d21f4, /* 0x05c9: ctx_redswitch */ 0x20f7f000, 0x2fbb02d3, 0x003fbb00, 0x010007f1, 0xd00203f0, 0x04bd0003, 0x29f024bd, 0x0007f11f, 0x0203f008, 0xbd0002d0, /* 0x0505: main */ 0x0031f404, 0xf00028f4, 0x21f424d7, 0xf401f439, 0xf404e4b0, 0x81fe1e18, 0x0627f001, 0x12fd20bd, 0x01e4b604, 0xfe051efd, 0x21f50018, 0x0ef405fa, /* 0x0535: main_not_ctx_xfer */ 0x10ef94d3, 0xf501f5f0, 0xf4037e21, /* 0x0542: ih */ 0x80f9c60e, 0xf90188fe, 0xf990f980, 0xf9b0f9a0, 0xf9e0f9d0, 0xf104bdf0, 0xf00200a7, 0xaacf00a3, 0x04abc400, 0xf02c0bf4, 0xe7f124d7, 0xe3f01a00, 0x00eecf00, 0x1900f7f1, 0xcf00f3f0, 0x21f400ff, 0x01e7f004, 0x1d0007f1, 0xd00003f0, 0x04bd000e, /* 0x0590: ih_no_fifo */ 0x010007f1, 0xd00003f0, 0x04bd000a, 0xe0fcf0fc, 0xb0fcd0fc, 0x90fca0fc, 0x88fe80fc, 0xf480fc00, 0x01f80032, /* 0x05b4: hub_barrier_done */ 0x9801f7f0, 0xfebb040e, 0x02ffb904, 0x9418e7f1, 0xf440e3f0, 0x00f89d21, /* 0x05cc: ctx_redswitch */ 0xf120f7f0, 0xf0850007, 0x0fd00103, 0xf004bd00, /* 0x05de: ctx_redswitch_delay */ 0xe2b608e7, 0xfd1bf401, 0x0800f5f1, 0x0200f5f1, 0x850007f1, 0xd00103f0, 0x04bd000f, /* 0x05db: ctx_redswitch_delay */ 0xb608e7f0, 0x1bf401e2, 0x00f5f1fd, 0x00f5f108, 0x0007f102, 0x0103f085, 0xbd000fd0, /* 0x05f7: ctx_xfer */ 0xf100f804, 0xf0810007, 0x0fd00203, 0xf404bd00, 0x21f50711, /* 0x060a: ctx_xfer_not_load */ 0x21f505c9, 0x24bd026a, 0x47fc07f1, 0xd00203f0, 0x04bd0002, 0xb6012cf0, 0x07f10320, 0x03f04afc, 0x0002d002, 0xacf004bd, 0x02a5f001, 0x0000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98000c98, 0xe7f0010d, 0x6f21f500, 0x01acf001, 0x4000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98010c98, 0x0f98020d, 0x00e7f106, 0x6f21f508, 0x01acf001, 0xf104a5f0, 0xf03000b7, /* 0x05fa: ctx_xfer */ 0x07f100f8, 0x03f08100, 0x000fd002, 0x11f404bd, 0xcc21f507, /* 0x060d: ctx_xfer_not_load */ 0x6a21f505, 0xf124bd02, 0xf047fc07, 0x02d00203, 0xf004bd00, 0x20b6012c, 0xfc07f103, 0x0203f04a, 0xbd0002d0, 0x01acf004, 0xf102a5f0, 0xf00000b7, 0x0c9850b3, 0x0fc4b604, 0x9800bcbb, 0x0d98020c, 0x080f9803, 0x0200e7f1, 0x0d98000c, 0x00e7f001, 0x016f21f5, 0x025e21f5, 0xf40601f4, /* 0x06a6: ctx_xfer_post */ 0x21f50712, /* 0x06aa: ctx_xfer_done */ 0x21f5027f, 0x00f805b1, 0x00000000, 0xf101acf0, 0xf04000b7, 0x0c9850b3, 0x0fc4b604, 0x9800bcbb, 0x0d98010c, 0x060f9802, 0x0800e7f1, 0x016f21f5, 0xf001acf0, 0xb7f104a5, 0xb3f03000, 0x040c9850, 0xbb0fc4b6, 0x0c9800bc, 0x030d9802, 0xf1080f98, 0xf50200e7, 0xf5016f21, 0xf4025e21, 0x12f40601, /* 0x06a9: ctx_xfer_post */ 0x7f21f507, /* 0x06ad: ctx_xfer_done */ 0xb421f502, 0x0000f805, 0x00000000, 0x00000000, 0x00000000, Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpcgk110.fuc3.h +122 −122 Original line number Diff line number Diff line Loading @@ -314,7 +314,7 @@ uint32_t gk110_grgpc_code[] = { 0x03f01200, 0x0002d000, 0x17f104bd, 0x10fe053f, 0x10fe0542, 0x0007f100, 0x0003f007, 0xbd0000d0, Loading Loading @@ -387,134 +387,134 @@ uint32_t gk110_grgpc_code[] = { 0x0824b601, 0xb90834b6, 0x21f5022f, 0x3fbb02d3, 0x0007f100, 0x0203f001, 0xbd0003d0, 0xf024bd04, 0x07f11f29, 0x03f03000, 0x0002d002, /* 0x0502: main */ 0x31f404bd, 0x0028f400, 0xf424d7f0, 0x01f43921, 0x04e4b0f4, 0xfe1e18f4, 0x27f00181, 0xfd20bd06, 0xe4b60412, 0x051efd01, 0xf50018fe, 0xf405f721, /* 0x0532: main_not_ctx_xfer */ 0xef94d30e, 0x01f5f010, 0x037e21f5, /* 0x053f: ih */ 0xf9c60ef4, 0x0188fe80, 0x90f980f9, 0xb0f9a0f9, 0xe0f9d0f9, 0x04bdf0f9, 0x0200a7f1, 0xcf00a3f0, 0xabc400aa, 0x2c0bf404, 0xf124d7f0, 0xf01a00e7, 0xeecf00e3, 0x00f7f100, 0x00f3f019, 0xf400ffcf, 0xe7f00421, 0x0007f101, 0x0003f01d, 0xbd000ed0, /* 0x058d: ih_no_fifo */ 0x0007f104, 0x0003f001, 0xbd000ad0, 0xfcf0fc04, 0xfcd0fce0, 0xfca0fcb0, 0xfe80fc90, 0x80fc0088, 0xf80032f4, /* 0x05b1: hub_barrier_done */ 0x01f7f001, 0xbb040e98, 0xffb904fe, 0x18e7f102, 0x40e3f094, 0xf89d21f4, /* 0x05c9: ctx_redswitch */ 0x20f7f000, 0x2fbb02d3, 0x003fbb00, 0x010007f1, 0xd00203f0, 0x04bd0003, 0x29f024bd, 0x0007f11f, 0x0203f030, 0xbd0002d0, /* 0x0505: main */ 0x0031f404, 0xf00028f4, 0x21f424d7, 0xf401f439, 0xf404e4b0, 0x81fe1e18, 0x0627f001, 0x12fd20bd, 0x01e4b604, 0xfe051efd, 0x21f50018, 0x0ef405fa, /* 0x0535: main_not_ctx_xfer */ 0x10ef94d3, 0xf501f5f0, 0xf4037e21, /* 0x0542: ih */ 0x80f9c60e, 0xf90188fe, 0xf990f980, 0xf9b0f9a0, 0xf9e0f9d0, 0xf104bdf0, 0xf00200a7, 0xaacf00a3, 0x04abc400, 0xf02c0bf4, 0xe7f124d7, 0xe3f01a00, 0x00eecf00, 0x1900f7f1, 0xcf00f3f0, 0x21f400ff, 0x01e7f004, 0x1d0007f1, 0xd00003f0, 0x04bd000e, /* 0x0590: ih_no_fifo */ 0x010007f1, 0xd00003f0, 0x04bd000a, 0xe0fcf0fc, 0xb0fcd0fc, 0x90fca0fc, 0x88fe80fc, 0xf480fc00, 0x01f80032, /* 0x05b4: hub_barrier_done */ 0x9801f7f0, 0xfebb040e, 0x02ffb904, 0x9418e7f1, 0xf440e3f0, 0x00f89d21, /* 0x05cc: ctx_redswitch */ 0xf120f7f0, 0xf0850007, 0x0fd00103, 0xf004bd00, /* 0x05de: ctx_redswitch_delay */ 0xe2b608e7, 0xfd1bf401, 0x0800f5f1, 0x0200f5f1, 0x850007f1, 0xd00103f0, 0x04bd000f, /* 0x05db: ctx_redswitch_delay */ 0xb608e7f0, 0x1bf401e2, 0x00f5f1fd, 0x00f5f108, 0x0007f102, 0x0103f085, 0xbd000fd0, /* 0x05f7: ctx_xfer */ 0xf100f804, 0xf0810007, 0x0fd00203, 0xf404bd00, 0x21f50711, /* 0x060a: ctx_xfer_not_load */ 0x21f505c9, 0x24bd026a, 0x47fc07f1, 0xd00203f0, 0x04bd0002, 0xb6012cf0, 0x07f10320, 0x03f04afc, 0x0002d002, 0xacf004bd, 0x02a5f001, 0x0000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98000c98, 0xe7f0010d, 0x6f21f500, 0x01acf001, 0x4000b7f1, 0x9850b3f0, 0xc4b6040c, 0x00bcbb0f, 0x98010c98, 0x0f98020d, 0x00e7f106, 0x6f21f508, 0x01acf001, 0xf104a5f0, 0xf03000b7, /* 0x05fa: ctx_xfer */ 0x07f100f8, 0x03f08100, 0x000fd002, 0x11f404bd, 0xcc21f507, /* 0x060d: ctx_xfer_not_load */ 0x6a21f505, 0xf124bd02, 0xf047fc07, 0x02d00203, 0xf004bd00, 0x20b6012c, 0xfc07f103, 0x0203f04a, 0xbd0002d0, 0x01acf004, 0xf102a5f0, 0xf00000b7, 0x0c9850b3, 0x0fc4b604, 0x9800bcbb, 0x0d98020c, 0x080f9803, 0x0200e7f1, 0x0d98000c, 0x00e7f001, 0x016f21f5, 0x025e21f5, 0xf40601f4, /* 0x06a6: ctx_xfer_post */ 0x21f50712, /* 0x06aa: ctx_xfer_done */ 0x21f5027f, 0x00f805b1, 0x00000000, 0xf101acf0, 0xf04000b7, 0x0c9850b3, 0x0fc4b604, 0x9800bcbb, 0x0d98010c, 0x060f9802, 0x0800e7f1, 0x016f21f5, 0xf001acf0, 0xb7f104a5, 0xb3f03000, 0x040c9850, 0xbb0fc4b6, 0x0c9800bc, 0x030d9802, 0xf1080f98, 0xf50200e7, 0xf5016f21, 0xf4025e21, 0x12f40601, /* 0x06a9: ctx_xfer_post */ 0x7f21f507, /* 0x06ad: ctx_xfer_done */ 0xb421f502, 0x0000f805, 0x00000000, 0x00000000, 0x00000000, Loading