From: Ben Skeggs Date: Tue, 10 Dec 2013 01:05:41 +0000 (+1000) Subject: drm/nvc0-/gr: fiddle some magic around strand init X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=e1b22bc148966ac2b88e259a1d35f36307d7089f;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git drm/nvc0-/gr: fiddle some magic around strand init Fixes HUB_INIT timeout on GK110/GK208 when not using NVIDIA's ucode. Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hub.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hub.fuc index 5b5b285eaab1..c02f23ca28c6 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hub.fuc +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hub.fuc @@ -134,6 +134,13 @@ init: // context size calculation, reserve first 256 bytes for use by fuc mov $r1 256 + // + mov $r15 2 + call(ctx_4170s) + call(ctx_4170w) + mov $r15 0x10 + call(ctx_86c) + // calculate size of mmio context data ld b32 $r14 D[$r0 + #hub_mmio_list_head] ld b32 $r15 D[$r0 + #hub_mmio_list_tail] @@ -196,6 +203,12 @@ init: sub b32 $r3 1 bra ne #init_gpc + // + mov $r15 0 + call(ctx_86c) + mov $r15 0 + call(ctx_4170s) + // save context size, and tell host we're ready nv_iowr(NV_PGRAPH_FECS_CC_SCRATCH_VAL(1), 0, $r1) clear b32 $r1 @@ -414,9 +427,9 @@ ctx_redswitch: // In: $r15 value to set to (0x00/0x10 are used) // ctx_86c: - nv_iowr(0x40986c, 0, $r15) + nv_iowr(NV_PGRAPH_FECS_UNK86C, 0, $r15) nv_wr32(0x408a14, $r15) - nv_wr32(0x41a86c, $r15) + nv_wr32(NV_PGRAPH_GPCX_GPCCS_UNK86C, $r15) ret // In: $r15 NV_PGRAPH_FECS_MEM_CMD_* diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h index 1896bc21cb4a..d8c911e9f24a 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h @@ -433,415 +433,479 @@ uint32_t nv108_grhub_code[] = { 0x04bd000f, /* 0x030e: init */ 0x04bd00f8, - 0xfe0004fe, - 0x02020007, - 0xf6120040, - 0x04bd0002, - 0xfe05a041, - 0x24bd0010, - 0xf6070040, - 0x04bd0002, - 0x80200342, - 0xf6010100, - 0x04bd0002, - 0x80200442, - 0xf6010104, - 0x04bd0002, - 0x80200b42, - 0xf6010108, - 0x04bd0002, - 0x80200c42, - 0xf601011c, - 0x04bd0002, - 0x80010392, - 0xf6030900, - 0x04bd0003, - 0x40870442, - 0x02f60400, - 0x0204bd00, - 0x03004004, + 0x410007fe, + 0x11cf4200, + 0x0911e700, + 0x0814b601, + 0x020014fe, + 0x12004002, + 0xbd0002f6, + 0x05c94104, + 0xbd0010fe, + 0x07004024, + 0xbd0002f6, + 0x20034204, + 0x01010080, + 0xbd0002f6, + 0x20044204, + 0x01010480, + 0xbd0002f6, + 0x200b4204, + 0x01010880, 0xbd0002f6, - 0x1031f404, - 0x4096048e, - 0x0000657e, - 0xf1c7feb2, - 0x0301b590, - 0xb51ff4f0, - 0x0101020f, - 0xb6041fbb, - 0x00800112, - 0x01f60103, - 0x8004bd00, - 0xf6010400, + 0x200c4204, + 0x01011c80, + 0xbd0002f6, + 0x01039204, + 0x03090080, + 0xbd0003f6, + 0x87044204, + 0xf6040040, + 0x04bd0002, + 0x00400402, + 0x0002f603, + 0x31f404bd, + 0x96048e10, + 0x00657e40, + 0xc7feb200, + 0x01b590f1, + 0x1ff4f003, + 0x01020fb5, + 0x041fbb01, + 0x800112b6, + 0xf6010300, 0x04bd0001, - 0x98010041, - 0x0f98000e, - 0x01207e01, - 0x08149500, - 0x01c00080, - 0xbd0004f6, - 0xc1008004, + 0x01040080, + 0xbd0001f6, + 0x01004104, + 0x4e7e020f, + 0x5d7e0006, + 0x100f0006, + 0x00069f7e, + 0x98000e98, + 0x207e010f, + 0x14950001, + 0xc0008008, 0x0004f601, - 0x30b704bd, - 0x1fbb1300, - 0x02f5b600, - 0x01d30080, - 0xbd000ff6, - 0x0815b604, - 0xb60110b6, - 0x1fb20814, - 0x0002687e, - 0x98001fbb, - 0x00840203, -/* 0x0402: init_gpc */ - 0x4eb85020, - 0xb2000804, - 0x008f7e1f, - 0x0c4eb800, - 0xf4bd0001, - 0x00008f7e, - 0x01044eb8, - 0x008f7e00, + 0x008004bd, + 0x04f601c1, + 0xb704bd00, + 0xbb130030, + 0xf5b6001f, + 0xd3008002, + 0x000ff601, + 0x15b604bd, + 0x0110b608, + 0xb20814b6, + 0x02687e1f, + 0x001fbb00, + 0x84020398, +/* 0x041f: init_gpc */ + 0xb8502000, + 0x0008044e, + 0x8f7e1fb2, + 0x4eb80000, + 0xbd00010c, + 0x008f7ef4, + 0x044eb800, + 0x8f7e0001, + 0x4eb80000, + 0x0f000100, + 0x008f7e02, 0x004eb800, - 0x020f0001, - 0x00008f7e, - 0x08004eb8, -/* 0x0431: init_gpc_wait */ +/* 0x044e: init_gpc_wait */ + 0x657e0008, + 0xffc80000, + 0xf90bf41f, + 0x08044eb8, 0x00657e00, - 0x1fffc800, - 0xb8f90bf4, - 0x0008044e, - 0x0000657e, - 0xb7001fbb, - 0xb6800040, - 0x1bf40132, - 0x010080b4, - 0x0001f602, - 0x14bd04bd, - 0x801f19f0, - 0xf6023000, - 0x04bd0001, -/* 0x0468: main */ - 0xf40031f4, - 0x100d0028, - 0x0000377e, - 0xb1f401f4, - 0xf54001e4, - 0xbd00c71b, - 0x0499f094, - 0x02370080, - 0xbd0009f6, - 0xc0008104, - 0x0011cf02, - 0x02c10082, - 0xc80022cf, - 0x0bf41f13, - 0x1f23c877, - 0xf9550bf4, - 0xbd12b220, - 0x0799f094, - 0x02370080, - 0xbd0009f6, - 0x0132f404, - 0x7e0231f4, - 0xbd0007ff, - 0x0799f094, - 0x02170080, - 0xbd0009f6, - 0xbd20fc04, - 0x0699f094, - 0x02370080, - 0xbd0009f6, - 0x0131f404, - 0x0007ff7e, + 0x001fbb00, + 0x800040b7, + 0xf40132b6, + 0x000fb41b, + 0x00069f7e, + 0x4e7e000f, + 0x00800006, + 0x01f60201, + 0xbd04bd00, + 0x1f19f014, + 0x02300080, + 0xbd0001f6, +/* 0x0491: main */ + 0x0031f404, + 0x0d0028f4, + 0x00377e10, + 0xf401f400, + 0x4001e4b1, + 0x00c71bf5, 0x99f094bd, - 0x17008006, + 0x37008004, 0x0009f602, - 0x0ef404bd, -/* 0x04f9: chsw_prev_no_next */ - 0xb220f92f, - 0x0132f412, - 0x7e0232f4, - 0xfc0007ff, - 0xc0008020, - 0x0002f602, - 0x0ef404bd, -/* 0x0515: chsw_no_prev */ - 0x1f23c813, - 0xf40d0bf4, - 0x32f40131, - 0x07ff7e02, -/* 0x0525: chsw_done */ - 0x80010200, - 0xf602c300, - 0x04bd0002, + 0x008104bd, + 0x11cf02c0, + 0xc1008200, + 0x0022cf02, + 0xf41f13c8, + 0x23c8770b, + 0x550bf41f, + 0x12b220f9, 0x99f094bd, - 0x17008004, + 0x37008007, 0x0009f602, - 0x0ef504bd, -/* 0x0542: main_not_ctx_switch */ - 0xe4b0ff2a, - 0x0c1bf401, - 0x997ef2b2, - 0x0ef40007, -/* 0x0551: main_not_ctx_chan */ - 0x02e4b040, - 0xbd2c1bf4, - 0x0799f094, - 0x02370080, - 0xbd0009f6, - 0x0132f404, - 0x7e0232f4, - 0xbd0007ff, - 0x0799f094, - 0x02170080, - 0xbd0009f6, - 0x110ef404, -/* 0x0580: main_not_ctx_save */ - 0xf010ef94, - 0xf87e01f5, - 0x0ef50002, -/* 0x058e: main_done */ - 0x24bdfede, - 0x801f29f0, - 0xf6023000, - 0x04bd0002, - 0xfecc0ef5, -/* 0x05a0: ih */ - 0x88fe80f9, - 0xf980f901, - 0xf9a0f990, - 0xf9d0f9b0, - 0xbdf0f9e0, - 0x02004a04, - 0xc400aacf, - 0x0bf404ab, - 0x4e100d23, - 0xeecf1a00, - 0x19004f00, - 0x7e00ffcf, - 0xb7000004, - 0x0e0400b0, - 0x1d004001, - 0xbd000ef6, -/* 0x05e1: ih_no_fifo */ - 0x00abe404, - 0x0c0bf401, - 0x014e100d, - 0x00047e40, -/* 0x05f1: ih_no_ctxsw */ - 0x01044b00, - 0xabffb0bd, - 0x0c0bf4b4, - 0x03070080, - 0xbd000bf6, -/* 0x0605: ih_no_other */ - 0x01004004, - 0xbd000af6, - 0xfcf0fc04, - 0xfcd0fce0, - 0xfca0fcb0, - 0xfe80fc90, - 0x80fc0088, - 0xf80032f4, -/* 0x0625: ctx_4170s */ - 0x10f5f001, - 0x708effb2, - 0x8f7e4041, - 0x00f80000, -/* 0x0634: ctx_4170w */ - 0x4041708e, - 0x0000657e, - 0xf4f0ffb2, - 0xf31bf410, -/* 0x0646: ctx_redswitch */ - 0x004e00f8, - 0x40e5f002, - 0xf020e5f0, - 0x008010e5, - 0x0ef60185, - 0x0f04bd00, -/* 0x065d: ctx_redswitch_delay */ - 0x01f2b608, - 0xf1fd1bf4, - 0xf10400e5, - 0x800100e5, + 0x32f404bd, + 0x0231f401, + 0x0008227e, + 0x99f094bd, + 0x17008007, + 0x0009f602, + 0x20fc04bd, + 0x99f094bd, + 0x37008006, + 0x0009f602, + 0x31f404bd, + 0x08227e01, + 0xf094bd00, + 0x00800699, + 0x09f60217, + 0xf404bd00, +/* 0x0522: chsw_prev_no_next */ + 0x20f92f0e, + 0x32f412b2, + 0x0232f401, + 0x0008227e, + 0x008020fc, + 0x02f602c0, + 0xf404bd00, +/* 0x053e: chsw_no_prev */ + 0x23c8130e, + 0x0d0bf41f, + 0xf40131f4, + 0x227e0232, +/* 0x054e: chsw_done */ + 0x01020008, + 0x02c30080, + 0xbd0002f6, + 0xf094bd04, + 0x00800499, + 0x09f60217, + 0xf504bd00, +/* 0x056b: main_not_ctx_switch */ + 0xb0ff2a0e, + 0x1bf401e4, + 0x7ef2b20c, + 0xf40007c2, +/* 0x057a: main_not_ctx_chan */ + 0xe4b0400e, + 0x2c1bf402, + 0x99f094bd, + 0x37008007, + 0x0009f602, + 0x32f404bd, + 0x0232f401, + 0x0008227e, + 0x99f094bd, + 0x17008007, + 0x0009f602, + 0x0ef404bd, +/* 0x05a9: main_not_ctx_save */ + 0x10ef9411, + 0x7e01f5f0, + 0xf50002f8, +/* 0x05b7: main_done */ + 0xbdfede0e, + 0x1f29f024, + 0x02300080, + 0xbd0002f6, + 0xcc0ef504, +/* 0x05c9: ih */ + 0xfe80f9fe, + 0x80f90188, + 0xa0f990f9, + 0xd0f9b0f9, + 0xf0f9e0f9, + 0x004a04bd, + 0x00aacf02, + 0xf404abc4, + 0x100d230b, + 0xcf1a004e, + 0x004f00ee, + 0x00ffcf19, + 0x0000047e, + 0x0400b0b7, + 0x0040010e, + 0x000ef61d, +/* 0x060a: ih_no_fifo */ + 0xabe404bd, + 0x0bf40100, + 0x4e100d0c, + 0x047e4001, +/* 0x061a: ih_no_ctxsw */ + 0x044b0000, + 0xffb0bd01, + 0x0bf4b4ab, + 0x0700800c, + 0x000bf603, +/* 0x062e: ih_no_other */ + 0x004004bd, + 0x000af601, + 0xf0fc04bd, + 0xd0fce0fc, + 0xa0fcb0fc, + 0x80fc90fc, + 0xfc0088fe, + 0x0032f480, +/* 0x064e: ctx_4170s */ + 0xf5f001f8, + 0x8effb210, + 0x7e404170, + 0xf800008f, +/* 0x065d: ctx_4170w */ + 0x41708e00, + 0x00657e40, + 0xf0ffb200, + 0x1bf410f4, +/* 0x066f: ctx_redswitch */ + 0x4e00f8f3, + 0xe5f00200, + 0x20e5f040, + 0x8010e5f0, 0xf6018500, 0x04bd000e, -/* 0x0676: ctx_86c */ - 0x008000f8, - 0x0ff6021b, - 0xb204bd00, - 0x8a148eff, - 0x008f7e40, - 0x8effb200, - 0x7e41a86c, - 0xf800008f, -/* 0x0695: ctx_mem */ - 0x84008000, - 0x000ff602, -/* 0x069e: ctx_mem_wait */ - 0x008f04bd, - 0xffcf0284, - 0x05fffd00, - 0xf8f61bf4, -/* 0x06ad: ctx_load */ - 0xf094bd00, - 0x00800599, - 0x09f60237, - 0x0a04bd00, - 0x00b87e0c, - 0x80f4bd00, - 0xf6028900, +/* 0x0686: ctx_redswitch_delay */ + 0xf2b6080f, + 0xfd1bf401, + 0x0400e5f1, + 0x0100e5f1, + 0x01850080, + 0xbd000ef6, +/* 0x069f: ctx_86c */ + 0x8000f804, + 0xf6022300, 0x04bd000f, - 0x02c10080, - 0xbd0002f6, - 0x83008004, + 0x148effb2, + 0x8f7e408a, + 0xffb20000, + 0x41a88c8e, + 0x00008f7e, +/* 0x06be: ctx_mem */ + 0x008000f8, + 0x0ff60284, +/* 0x06c7: ctx_mem_wait */ + 0x8f04bd00, + 0xcf028400, + 0xfffd00ff, + 0xf61bf405, +/* 0x06d6: ctx_load */ + 0x94bd00f8, + 0x800599f0, + 0xf6023700, + 0x04bd0009, + 0xb87e0c0a, + 0xf4bd0000, + 0x02890080, + 0xbd000ff6, + 0xc1008004, 0x0002f602, - 0x070f04bd, - 0x0006957e, - 0x02c00080, - 0xbd0002f6, - 0x000bfe04, - 0xb61f2af0, - 0x20b60424, - 0xf094bd02, - 0x00800899, - 0x09f60237, - 0x8004bd00, - 0xf6028100, - 0x04bd0002, - 0x000000d2, - 0x0225f080, - 0x02880080, - 0xbd0002f6, - 0x42100104, - 0x23f00200, - 0x0512fa02, - 0x94bd03f8, + 0x008004bd, + 0x02f60283, + 0x0f04bd00, + 0x06be7e07, + 0xc0008000, + 0x0002f602, + 0x0bfe04bd, + 0x1f2af000, + 0xb60424b6, + 0x94bd0220, 0x800899f0, - 0xf6021700, - 0x04bd0009, - 0xb6810198, - 0x02981814, - 0x0825b680, - 0xb50512fd, - 0x94bd1601, - 0x800999f0, 0xf6023700, 0x04bd0009, 0x02810080, - 0xbd0001f6, - 0x80010204, - 0xf6028800, - 0x04bd0002, - 0xf0010041, - 0x01fa0613, + 0xbd0002f6, + 0x0000d204, + 0x25f08000, + 0x88008002, + 0x0002f602, + 0x100104bd, + 0xf0020042, + 0x12fa0223, 0xbd03f805, - 0x0999f094, + 0x0899f094, 0x02170080, 0xbd0009f6, - 0xf094bd04, - 0x00800599, - 0x09f60217, - 0xf804bd00, -/* 0x0799: ctx_chan */ - 0x06ad7e00, - 0x7e0c0a00, - 0x410000b8, - 0x14b60a10, - 0x7e050f06, - 0xf8000695, -/* 0x07b1: ctx_mmio_exec */ - 0x41039800, - 0x02810080, - 0xbd0003f6, -/* 0x07bf: ctx_mmio_loop */ - 0xc434bd04, - 0x1bf4ff34, - 0x0200450e, - 0xfa0653f0, - 0x03f80535, -/* 0x07d0: ctx_mmio_pull */ - 0x98804e98, - 0x8f7e814f, - 0x30b60000, - 0x0112b608, -/* 0x07e3: ctx_mmio_done */ - 0x98df1bf4, - 0x00801603, - 0x03f60281, - 0xb504bd00, - 0x00414000, - 0x0613f001, - 0xf80601fa, -/* 0x07ff: ctx_xfer */ - 0x0e00f803, - 0x02008004, - 0x000ef603, -/* 0x080a: ctx_xfer_idle */ - 0x008e04bd, - 0xeecf0300, - 0x00e4f100, - 0xf51bf420, - 0xf40611f4, -/* 0x081e: ctx_xfer_pre */ - 0x100f0c02, - 0x0006767e, -/* 0x0827: ctx_xfer_pre_load */ - 0x0f1b11f4, - 0x06257e02, - 0x06347e00, - 0x06467e00, - 0x7ef4bd00, - 0x7e000625, -/* 0x083f: ctx_xfer_exec */ - 0x980006ad, - 0x24bd1601, - 0x01050080, + 0x81019804, + 0x981814b6, + 0x25b68002, + 0x0512fd08, + 0xbd1601b5, + 0x0999f094, + 0x02370080, + 0xbd0009f6, + 0x81008004, + 0x0001f602, + 0x010204bd, + 0x02880080, 0xbd0002f6, - 0x8e1fb204, - 0x7e41a500, - 0xf000008f, - 0x2cf001fc, - 0x0124b602, - 0xb205f2fd, - 0xa5048eff, - 0x008f7e41, - 0x02167e00, - 0x8024bd00, - 0xf60247fc, + 0x01004104, + 0xfa0613f0, + 0x03f80501, + 0x99f094bd, + 0x17008009, + 0x0009f602, + 0x94bd04bd, + 0x800599f0, + 0xf6021700, + 0x04bd0009, +/* 0x07c2: ctx_chan */ + 0xd67e00f8, + 0x0c0a0006, + 0x0000b87e, + 0xbe7e050f, + 0x00f80006, +/* 0x07d4: ctx_mmio_exec */ + 0x80410398, + 0xf6028100, + 0x04bd0003, +/* 0x07e2: ctx_mmio_loop */ + 0x34c434bd, + 0x0e1bf4ff, + 0xf0020045, + 0x35fa0653, +/* 0x07f3: ctx_mmio_pull */ + 0x9803f805, + 0x4f98804e, + 0x008f7e81, + 0x0830b600, + 0xf40112b6, +/* 0x0806: ctx_mmio_done */ + 0x0398df1b, + 0x81008016, + 0x0003f602, + 0x00b504bd, + 0x01004140, + 0xfa0613f0, + 0x03f80601, +/* 0x0822: ctx_xfer */ + 0x040e00f8, + 0x03020080, + 0xbd000ef6, +/* 0x082d: ctx_xfer_idle */ + 0x00008e04, + 0x00eecf03, + 0x2000e4f1, + 0xf4f51bf4, + 0x02f40611, +/* 0x0841: ctx_xfer_pre */ + 0x7e100f0c, + 0xf400069f, +/* 0x084a: ctx_xfer_pre_load */ + 0x020f1b11, + 0x00064e7e, + 0x00065d7e, + 0x00066f7e, + 0x4e7ef4bd, + 0xd67e0006, +/* 0x0862: ctx_xfer_exec */ + 0x01980006, + 0x8024bd16, + 0xf6010500, 0x04bd0002, - 0xb6012cf0, - 0xfc800320, - 0x02f6024a, + 0x008e1fb2, + 0x8f7e41a5, + 0xfcf00000, + 0x022cf001, + 0xfd0124b6, + 0xffb205f2, + 0x41a5048e, + 0x00008f7e, + 0x0002167e, + 0xfc8024bd, + 0x02f60247, 0xf004bd00, - 0xa5f001ac, - 0x98000b06, - 0x0d98000c, - 0x7e000e01, - 0x0a00013d, - 0x00ec7e08, - 0x020a7e00, - 0x1201f400, - 0xb87e0c0a, - 0x050f0000, - 0x0006957e, -/* 0x08bb: ctx_xfer_post */ - 0x0f2d02f4, - 0x06257e02, - 0x7ef4bd00, - 0x7e000676, - 0x7e000227, - 0xbd000634, - 0x06257ef4, - 0x1011f400, - 0xfd400198, - 0x0bf40511, - 0x07b17e07, -/* 0x08e5: ctx_xfer_no_post_mmio */ -/* 0x08e5: ctx_xfer_done */ - 0x0000f800, + 0x20b6012c, + 0x4afc8003, + 0x0002f602, + 0xacf004bd, + 0x06a5f001, + 0x0c98000b, + 0x010d9800, + 0x3d7e000e, + 0x080a0001, + 0x0000ec7e, + 0x00020a7e, + 0x0a1201f4, + 0x00b87e0c, + 0x7e050f00, + 0xf40006be, +/* 0x08de: ctx_xfer_post */ + 0x020f2d02, + 0x00064e7e, + 0x9f7ef4bd, + 0x277e0006, + 0x5d7e0002, + 0xf4bd0006, + 0x00064e7e, + 0x981011f4, + 0x11fd4001, + 0x070bf405, + 0x0007d47e, +/* 0x0908: ctx_xfer_no_post_mmio */ +/* 0x0908: ctx_xfer_done */ + 0x000000f8, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h index 035954d7b5be..b061eef4c0b3 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h @@ -478,7 +478,7 @@ uint32_t nvc0_grhub_code[] = { 0xf0120007, 0x02d00003, 0xf104bd00, - 0xfe06a817, + 0xfe06c817, 0x24bd0010, 0x070007f1, 0xd00003f0, @@ -527,48 +527,56 @@ uint32_t nvc0_grhub_code[] = { 0x03f00400, 0x0001d001, 0x17f104bd, - 0x0e980100, - 0x010f9800, - 0x015021f5, - 0xf1081495, - 0xf0c00007, - 0x04d00103, - 0xf104bd00, - 0xf0c10007, - 0x04d00103, - 0xb704bd00, - 0xbb130030, - 0xf5b6001f, - 0x0007f102, - 0x0103f0d3, - 0xbd000fd0, - 0x0815b604, - 0xb60110b6, - 0x1fb90814, - 0xd321f502, - 0x001fbb02, - 0xf1020398, - 0xf0200047, -/* 0x04e2: init_gpc */ - 0x4ea05043, - 0x1fb90804, - 0x9d21f402, - 0x010c4ea0, - 0x21f4f4bd, - 0x044ea09d, - 0x9d21f401, - 0x01004ea0, - 0xf402f7f0, + 0xf7f00100, + 0x9d21f502, + 0xaf21f507, + 0x10f7f007, + 0x07fc21f5, + 0x98000e98, + 0x21f5010f, + 0x14950150, + 0x0007f108, + 0x0103f0c0, + 0xbd0004d0, + 0x0007f104, + 0x0103f0c1, + 0xbd0004d0, + 0x0030b704, + 0x001fbb13, + 0xf102f5b6, + 0xf0d30007, + 0x0fd00103, + 0xb604bd00, + 0x10b60815, + 0x0814b601, + 0xf5021fb9, + 0xbb02d321, + 0x0398001f, + 0x0047f102, + 0x5043f020, +/* 0x04f4: init_gpc */ + 0x08044ea0, + 0xf4021fb9, 0x4ea09d21, -/* 0x050a: init_gpc_wait */ - 0x21f40800, - 0x1fffc868, - 0xa0fa0bf4, - 0xf408044e, - 0x1fbb6821, - 0x0040b700, - 0x0132b680, - 0xf1be1bf4, + 0xf4bd010c, + 0xa09d21f4, + 0xf401044e, + 0x4ea09d21, + 0xf7f00100, + 0x9d21f402, + 0x08004ea0, +/* 0x051c: init_gpc_wait */ + 0xc86821f4, + 0x0bf41fff, + 0x044ea0fa, + 0x6821f408, + 0xb7001fbb, + 0xb6800040, + 0x1bf40132, + 0x00f7f0be, + 0x07fc21f5, + 0xf500f7f0, + 0xf1079d21, 0xf0010007, 0x01d00203, 0xbd04bd00, @@ -576,7 +584,7 @@ uint32_t nvc0_grhub_code[] = { 0x080007f1, 0xd00203f0, 0x04bd0001, -/* 0x0544: main */ +/* 0x0564: main */ 0xf40031f4, 0xd7f00028, 0x3921f410, @@ -602,7 +610,7 @@ uint32_t nvc0_grhub_code[] = { 0x09d00203, 0xf404bd00, 0x31f40132, - 0xb721f502, + 0xd021f502, 0xf094bd09, 0x07f10799, 0x03f01700, @@ -613,27 +621,27 @@ uint32_t nvc0_grhub_code[] = { 0x0203f00f, 0xbd0009d0, 0x0131f404, - 0x09b721f5, + 0x09d021f5, 0x99f094bd, 0x0007f106, 0x0203f017, 0xbd0009d0, 0x330ef404, -/* 0x05ec: chsw_prev_no_next */ +/* 0x060c: chsw_prev_no_next */ 0x12b920f9, 0x0132f402, 0xf50232f4, - 0xfc09b721, + 0xfc09d021, 0x0007f120, 0x0203f0c0, 0xbd0002d0, 0x130ef404, -/* 0x060c: chsw_no_prev */ +/* 0x062c: chsw_no_prev */ 0xf41f23c8, 0x31f40d0b, 0x0232f401, - 0x09b721f5, -/* 0x061c: chsw_done */ + 0x09d021f5, +/* 0x063c: chsw_done */ 0xf10127f0, 0xf0c30007, 0x02d00203, @@ -643,12 +651,12 @@ uint32_t nvc0_grhub_code[] = { 0xd00203f0, 0x04bd0009, 0xff080ef5, -/* 0x0640: main_not_ctx_switch */ +/* 0x0660: main_not_ctx_switch */ 0xf401e4b0, 0xf2b90d1b, - 0x4021f502, + 0x6021f502, 0x460ef409, -/* 0x0650: main_not_ctx_chan */ +/* 0x0670: main_not_ctx_chan */ 0xf402e4b0, 0x94bd321b, 0xf10799f0, @@ -656,24 +664,24 @@ uint32_t nvc0_grhub_code[] = { 0x09d00203, 0xf404bd00, 0x32f40132, - 0xb721f502, + 0xd021f502, 0xf094bd09, 0x07f10799, 0x03f01700, 0x0009d002, 0x0ef404bd, -/* 0x0685: main_not_ctx_save */ +/* 0x06a5: main_not_ctx_save */ 0x10ef9411, 0xf501f5f0, 0xf5037e21, -/* 0x0693: main_done */ +/* 0x06b3: main_done */ 0xbdfeb50e, 0x1f29f024, 0x080007f1, 0xd00203f0, 0x04bd0002, 0xfea00ef5, -/* 0x06a8: ih */ +/* 0x06c8: ih */ 0x88fe80f9, 0xf980f901, 0xf9a0f990, @@ -694,19 +702,19 @@ uint32_t nvc0_grhub_code[] = { 0x07f101e7, 0x03f01d00, 0x000ed000, -/* 0x06fa: ih_no_fifo */ +/* 0x071a: ih_no_fifo */ 0xabe404bd, 0x0bf40100, 0x10d7f00d, 0x4001e7f1, -/* 0x070b: ih_no_ctxsw */ +/* 0x072b: ih_no_ctxsw */ 0xf10421f4, 0xbd0104b7, 0xb4abffb0, 0xf10f0bf4, 0xf0070007, 0x0bd00303, -/* 0x0723: ih_no_other */ +/* 0x0743: ih_no_other */ 0xf104bd00, 0xf0010007, 0x0ad00003, @@ -716,36 +724,36 @@ uint32_t nvc0_grhub_code[] = { 0xfc90fca0, 0x0088fe80, 0x32f480fc, -/* 0x0747: ctx_4160s */ +/* 0x0767: ctx_4160s */ 0xf001f800, 0xffb901f7, 0x60e7f102, 0x40e3f041, -/* 0x0757: ctx_4160s_wait */ +/* 0x0777: ctx_4160s_wait */ 0xf19d21f4, 0xf04160e7, 0x21f440e3, 0x02ffb968, 0xf404ffc8, 0x00f8f00b, -/* 0x076c: ctx_4160c */ +/* 0x078c: ctx_4160c */ 0xffb9f4bd, 0x60e7f102, 0x40e3f041, 0xf89d21f4, -/* 0x077d: ctx_4170s */ +/* 0x079d: ctx_4170s */ 0x10f5f000, 0xf102ffb9, 0xf04170e7, 0x21f440e3, -/* 0x078f: ctx_4170w */ +/* 0x07af: ctx_4170w */ 0xf100f89d, 0xf04170e7, 0x21f440e3, 0x02ffb968, 0xf410f4f0, 0x00f8f01b, -/* 0x07a4: ctx_redswitch */ +/* 0x07c4: ctx_redswitch */ 0x0200e7f1, 0xf040e5f0, 0xe5f020e5, @@ -753,7 +761,7 @@ uint32_t nvc0_grhub_code[] = { 0x0103f085, 0xbd000ed0, 0x08f7f004, -/* 0x07c0: ctx_redswitch_delay */ +/* 0x07e0: ctx_redswitch_delay */ 0xf401f2b6, 0xe5f1fd1b, 0xe5f10400, @@ -761,7 +769,7 @@ uint32_t nvc0_grhub_code[] = { 0x03f08500, 0x000ed001, 0x00f804bd, -/* 0x07dc: ctx_86c */ +/* 0x07fc: ctx_86c */ 0x1b0007f1, 0xd00203f0, 0x04bd000f, @@ -772,16 +780,16 @@ uint32_t nvc0_grhub_code[] = { 0xa86ce7f1, 0xf441e3f0, 0x00f89d21, -/* 0x0804: ctx_mem */ +/* 0x0824: ctx_mem */ 0x840007f1, 0xd00203f0, 0x04bd000f, -/* 0x0810: ctx_mem_wait */ +/* 0x0830: ctx_mem_wait */ 0x8400f7f1, 0xcf02f3f0, 0xfffd00ff, 0xf31bf405, -/* 0x0822: ctx_load */ +/* 0x0842: ctx_load */ 0x94bd00f8, 0xf10599f0, 0xf00f0007, @@ -799,7 +807,7 @@ uint32_t nvc0_grhub_code[] = { 0x02d00203, 0xf004bd00, 0x21f507f7, - 0x07f10804, + 0x07f10824, 0x03f0c000, 0x0002d002, 0x0bfe04bd, @@ -854,122 +862,114 @@ uint32_t nvc0_grhub_code[] = { 0x03f01700, 0x0009d002, 0x00f804bd, -/* 0x0940: ctx_chan */ - 0x074721f5, - 0x082221f5, +/* 0x0960: ctx_chan */ + 0x076721f5, + 0x084221f5, 0xf40ca7f0, - 0x17f1d021, - 0x14b60a10, - 0x05f7f006, - 0x080421f5, - 0x076c21f5, -/* 0x0962: ctx_mmio_exec */ - 0x039800f8, - 0x0007f141, - 0x0203f081, - 0xbd0003d0, -/* 0x0973: ctx_mmio_loop */ - 0xc434bd04, - 0x1bf4ff34, - 0x0057f10f, - 0x0653f002, - 0xf80535fa, -/* 0x0985: ctx_mmio_pull */ - 0x804e9803, - 0xf4814f98, - 0x30b69d21, - 0x0112b608, -/* 0x0997: ctx_mmio_done */ - 0x98df1bf4, - 0x07f11603, + 0xf7f0d021, + 0x2421f505, + 0x8c21f508, +/* 0x097b: ctx_mmio_exec */ + 0x9800f807, + 0x07f14103, 0x03f08100, 0x0003d002, - 0x008004bd, - 0x0017f140, - 0x0613f001, - 0xf80601fa, -/* 0x09b7: ctx_xfer */ - 0xf000f803, - 0x07f104e7, - 0x03f00200, - 0x000ed003, -/* 0x09c6: ctx_xfer_idle */ - 0xe7f104bd, - 0xe3f00000, - 0x00eecf03, - 0x2000e4f1, - 0xf4f21bf4, - 0x02f40611, -/* 0x09dd: ctx_xfer_pre */ - 0x10f7f011, - 0x07dc21f5, - 0x074721f5, -/* 0x09eb: ctx_xfer_pre_load */ - 0xf01c11f4, - 0x21f502f7, - 0x21f5077d, - 0x21f5078f, - 0xf4bd07a4, - 0x077d21f5, - 0x082221f5, -/* 0x0a04: ctx_xfer_exec */ - 0xbd160198, - 0x0007f124, - 0x0103f005, - 0xbd0002d0, - 0x021fb904, - 0xa500e7f1, - 0xf441e3f0, - 0xfcf09d21, - 0x022cf001, - 0xfd0124b6, - 0xffb905f2, - 0x04e7f102, + 0x34bd04bd, +/* 0x098c: ctx_mmio_loop */ + 0xf4ff34c4, + 0x57f10f1b, + 0x53f00200, + 0x0535fa06, +/* 0x099e: ctx_mmio_pull */ + 0x4e9803f8, + 0x814f9880, + 0xb69d21f4, + 0x12b60830, + 0xdf1bf401, +/* 0x09b0: ctx_mmio_done */ + 0xf1160398, + 0xf0810007, + 0x03d00203, + 0x8004bd00, + 0x17f14000, + 0x13f00100, + 0x0601fa06, + 0x00f803f8, +/* 0x09d0: ctx_xfer */ + 0xf104e7f0, + 0xf0020007, + 0x0ed00303, +/* 0x09df: ctx_xfer_idle */ + 0xf104bd00, + 0xf00000e7, + 0xeecf03e3, + 0x00e4f100, + 0xf21bf420, + 0xf40611f4, +/* 0x09f6: ctx_xfer_pre */ + 0xf7f01102, + 0xfc21f510, + 0x6721f507, + 0x1c11f407, +/* 0x0a04: ctx_xfer_pre_load */ + 0xf502f7f0, + 0xf5079d21, + 0xf507af21, + 0xbd07c421, + 0x9d21f5f4, + 0x4221f507, +/* 0x0a1d: ctx_xfer_exec */ + 0x16019808, + 0x07f124bd, + 0x03f00500, + 0x0002d001, + 0x1fb904bd, + 0x00e7f102, 0x41e3f0a5, - 0xf59d21f4, - 0xbd026a21, - 0xfc07f124, - 0x0203f047, - 0xbd0002d0, - 0x012cf004, - 0xf10320b6, - 0xf04afc07, - 0x02d00203, - 0xf004bd00, - 0xa5f001ac, - 0x00b7f006, - 0x98000c98, - 0xe7f0010d, - 0x6f21f500, - 0x08a7f001, - 0x011021f5, - 0x025e21f5, - 0xf01301f4, - 0x21f40ca7, - 0x05f7f0d0, - 0x080421f5, -/* 0x0a93: ctx_xfer_post */ - 0xf03202f4, - 0x21f502f7, - 0xf4bd077d, - 0x07dc21f5, - 0x027f21f5, - 0x078f21f5, - 0x21f5f4bd, - 0x11f4077d, - 0x40019810, - 0xf40511fd, - 0x21f5070b, -/* 0x0abe: ctx_xfer_no_post_mmio */ - 0x21f50962, -/* 0x0ac2: ctx_xfer_done */ - 0x00f8076c, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, + 0xf09d21f4, + 0x2cf001fc, + 0x0124b602, + 0xb905f2fd, + 0xe7f102ff, + 0xe3f0a504, + 0x9d21f441, + 0x026a21f5, + 0x07f124bd, + 0x03f047fc, + 0x0002d002, + 0x2cf004bd, + 0x0320b601, + 0x4afc07f1, + 0xd00203f0, + 0x04bd0002, + 0xf001acf0, + 0xb7f006a5, + 0x000c9800, + 0xf0010d98, + 0x21f500e7, + 0xa7f0016f, + 0x1021f508, + 0x5e21f501, + 0x1301f402, + 0xf40ca7f0, + 0xf7f0d021, + 0x2421f505, + 0x3202f408, +/* 0x0aac: ctx_xfer_post */ + 0xf502f7f0, + 0xbd079d21, + 0xfc21f5f4, + 0x7f21f507, + 0xaf21f502, + 0xf5f4bd07, + 0xf4079d21, + 0x01981011, + 0x0511fd40, + 0xf5070bf4, +/* 0x0ad7: ctx_xfer_no_post_mmio */ + 0xf5097b21, +/* 0x0adb: ctx_xfer_done */ + 0xf8078c21, 0x00000000, 0x00000000, 0x00000000, diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h index 04426dd6927e..469990713002 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h @@ -478,7 +478,7 @@ uint32_t nvd7_grhub_code[] = { 0xf0120007, 0x02d00003, 0xf104bd00, - 0xfe06a817, + 0xfe06c817, 0x24bd0010, 0x070007f1, 0xd00003f0, @@ -527,48 +527,56 @@ uint32_t nvd7_grhub_code[] = { 0x03f00400, 0x0001d001, 0x17f104bd, - 0x0e980100, - 0x010f9800, - 0x015021f5, - 0xf1081495, - 0xf0c00007, - 0x04d00103, - 0xf104bd00, - 0xf0c10007, - 0x04d00103, - 0xb704bd00, - 0xbb130030, - 0xf5b6001f, - 0x0007f102, - 0x0103f0d3, - 0xbd000fd0, - 0x0815b604, - 0xb60110b6, - 0x1fb90814, - 0xd321f502, - 0x001fbb02, - 0xf1020398, - 0xf0200047, -/* 0x04e2: init_gpc */ - 0x4ea05043, - 0x1fb90804, - 0x9d21f402, - 0x010c4ea0, - 0x21f4f4bd, - 0x044ea09d, - 0x9d21f401, - 0x01004ea0, - 0xf402f7f0, + 0xf7f00100, + 0x9d21f502, + 0xaf21f507, + 0x10f7f007, + 0x07fc21f5, + 0x98000e98, + 0x21f5010f, + 0x14950150, + 0x0007f108, + 0x0103f0c0, + 0xbd0004d0, + 0x0007f104, + 0x0103f0c1, + 0xbd0004d0, + 0x0030b704, + 0x001fbb13, + 0xf102f5b6, + 0xf0d30007, + 0x0fd00103, + 0xb604bd00, + 0x10b60815, + 0x0814b601, + 0xf5021fb9, + 0xbb02d321, + 0x0398001f, + 0x0047f102, + 0x5043f020, +/* 0x04f4: init_gpc */ + 0x08044ea0, + 0xf4021fb9, 0x4ea09d21, -/* 0x050a: init_gpc_wait */ - 0x21f40800, - 0x1fffc868, - 0xa0fa0bf4, - 0xf408044e, - 0x1fbb6821, - 0x0040b700, - 0x0132b680, - 0xf1be1bf4, + 0xf4bd010c, + 0xa09d21f4, + 0xf401044e, + 0x4ea09d21, + 0xf7f00100, + 0x9d21f402, + 0x08004ea0, +/* 0x051c: init_gpc_wait */ + 0xc86821f4, + 0x0bf41fff, + 0x044ea0fa, + 0x6821f408, + 0xb7001fbb, + 0xb6800040, + 0x1bf40132, + 0x00f7f0be, + 0x07fc21f5, + 0xf500f7f0, + 0xf1079d21, 0xf0010007, 0x01d00203, 0xbd04bd00, @@ -576,7 +584,7 @@ uint32_t nvd7_grhub_code[] = { 0x080007f1, 0xd00203f0, 0x04bd0001, -/* 0x0544: main */ +/* 0x0564: main */ 0xf40031f4, 0xd7f00028, 0x3921f410, @@ -602,7 +610,7 @@ uint32_t nvd7_grhub_code[] = { 0x09d00203, 0xf404bd00, 0x31f40132, - 0xb721f502, + 0xd021f502, 0xf094bd09, 0x07f10799, 0x03f01700, @@ -613,27 +621,27 @@ uint32_t nvd7_grhub_code[] = { 0x0203f00f, 0xbd0009d0, 0x0131f404, - 0x09b721f5, + 0x09d021f5, 0x99f094bd, 0x0007f106, 0x0203f017, 0xbd0009d0, 0x330ef404, -/* 0x05ec: chsw_prev_no_next */ +/* 0x060c: chsw_prev_no_next */ 0x12b920f9, 0x0132f402, 0xf50232f4, - 0xfc09b721, + 0xfc09d021, 0x0007f120, 0x0203f0c0, 0xbd0002d0, 0x130ef404, -/* 0x060c: chsw_no_prev */ +/* 0x062c: chsw_no_prev */ 0xf41f23c8, 0x31f40d0b, 0x0232f401, - 0x09b721f5, -/* 0x061c: chsw_done */ + 0x09d021f5, +/* 0x063c: chsw_done */ 0xf10127f0, 0xf0c30007, 0x02d00203, @@ -643,12 +651,12 @@ uint32_t nvd7_grhub_code[] = { 0xd00203f0, 0x04bd0009, 0xff080ef5, -/* 0x0640: main_not_ctx_switch */ +/* 0x0660: main_not_ctx_switch */ 0xf401e4b0, 0xf2b90d1b, - 0x4021f502, + 0x6021f502, 0x460ef409, -/* 0x0650: main_not_ctx_chan */ +/* 0x0670: main_not_ctx_chan */ 0xf402e4b0, 0x94bd321b, 0xf10799f0, @@ -656,24 +664,24 @@ uint32_t nvd7_grhub_code[] = { 0x09d00203, 0xf404bd00, 0x32f40132, - 0xb721f502, + 0xd021f502, 0xf094bd09, 0x07f10799, 0x03f01700, 0x0009d002, 0x0ef404bd, -/* 0x0685: main_not_ctx_save */ +/* 0x06a5: main_not_ctx_save */ 0x10ef9411, 0xf501f5f0, 0xf5037e21, -/* 0x0693: main_done */ +/* 0x06b3: main_done */ 0xbdfeb50e, 0x1f29f024, 0x080007f1, 0xd00203f0, 0x04bd0002, 0xfea00ef5, -/* 0x06a8: ih */ +/* 0x06c8: ih */ 0x88fe80f9, 0xf980f901, 0xf9a0f990, @@ -694,19 +702,19 @@ uint32_t nvd7_grhub_code[] = { 0x07f101e7, 0x03f01d00, 0x000ed000, -/* 0x06fa: ih_no_fifo */ +/* 0x071a: ih_no_fifo */ 0xabe404bd, 0x0bf40100, 0x10d7f00d, 0x4001e7f1, -/* 0x070b: ih_no_ctxsw */ +/* 0x072b: ih_no_ctxsw */ 0xf10421f4, 0xbd0104b7, 0xb4abffb0, 0xf10f0bf4, 0xf0070007, 0x0bd00303, -/* 0x0723: ih_no_other */ +/* 0x0743: ih_no_other */ 0xf104bd00, 0xf0010007, 0x0ad00003, @@ -716,36 +724,36 @@ uint32_t nvd7_grhub_code[] = { 0xfc90fca0, 0x0088fe80, 0x32f480fc, -/* 0x0747: ctx_4160s */ +/* 0x0767: ctx_4160s */ 0xf001f800, 0xffb901f7, 0x60e7f102, 0x40e3f041, -/* 0x0757: ctx_4160s_wait */ +/* 0x0777: ctx_4160s_wait */ 0xf19d21f4, 0xf04160e7, 0x21f440e3, 0x02ffb968, 0xf404ffc8, 0x00f8f00b, -/* 0x076c: ctx_4160c */ +/* 0x078c: ctx_4160c */ 0xffb9f4bd, 0x60e7f102, 0x40e3f041, 0xf89d21f4, -/* 0x077d: ctx_4170s */ +/* 0x079d: ctx_4170s */ 0x10f5f000, 0xf102ffb9, 0xf04170e7, 0x21f440e3, -/* 0x078f: ctx_4170w */ +/* 0x07af: ctx_4170w */ 0xf100f89d, 0xf04170e7, 0x21f440e3, 0x02ffb968, 0xf410f4f0, 0x00f8f01b, -/* 0x07a4: ctx_redswitch */ +/* 0x07c4: ctx_redswitch */ 0x0200e7f1, 0xf040e5f0, 0xe5f020e5, @@ -753,7 +761,7 @@ uint32_t nvd7_grhub_code[] = { 0x0103f085, 0xbd000ed0, 0x08f7f004, -/* 0x07c0: ctx_redswitch_delay */ +/* 0x07e0: ctx_redswitch_delay */ 0xf401f2b6, 0xe5f1fd1b, 0xe5f10400, @@ -761,7 +769,7 @@ uint32_t nvd7_grhub_code[] = { 0x03f08500, 0x000ed001, 0x00f804bd, -/* 0x07dc: ctx_86c */ +/* 0x07fc: ctx_86c */ 0x1b0007f1, 0xd00203f0, 0x04bd000f, @@ -772,16 +780,16 @@ uint32_t nvd7_grhub_code[] = { 0xa86ce7f1, 0xf441e3f0, 0x00f89d21, -/* 0x0804: ctx_mem */ +/* 0x0824: ctx_mem */ 0x840007f1, 0xd00203f0, 0x04bd000f, -/* 0x0810: ctx_mem_wait */ +/* 0x0830: ctx_mem_wait */ 0x8400f7f1, 0xcf02f3f0, 0xfffd00ff, 0xf31bf405, -/* 0x0822: ctx_load */ +/* 0x0842: ctx_load */ 0x94bd00f8, 0xf10599f0, 0xf00f0007, @@ -799,7 +807,7 @@ uint32_t nvd7_grhub_code[] = { 0x02d00203, 0xf004bd00, 0x21f507f7, - 0x07f10804, + 0x07f10824, 0x03f0c000, 0x0002d002, 0x0bfe04bd, @@ -854,122 +862,114 @@ uint32_t nvd7_grhub_code[] = { 0x03f01700, 0x0009d002, 0x00f804bd, -/* 0x0940: ctx_chan */ - 0x074721f5, - 0x082221f5, +/* 0x0960: ctx_chan */ + 0x076721f5, + 0x084221f5, 0xf40ca7f0, - 0x17f1d021, - 0x14b60a10, - 0x05f7f006, - 0x080421f5, - 0x076c21f5, -/* 0x0962: ctx_mmio_exec */ - 0x039800f8, - 0x0007f141, - 0x0203f081, - 0xbd0003d0, -/* 0x0973: ctx_mmio_loop */ - 0xc434bd04, - 0x1bf4ff34, - 0x0057f10f, - 0x0653f002, - 0xf80535fa, -/* 0x0985: ctx_mmio_pull */ - 0x804e9803, - 0xf4814f98, - 0x30b69d21, - 0x0112b608, -/* 0x0997: ctx_mmio_done */ - 0x98df1bf4, - 0x07f11603, + 0xf7f0d021, + 0x2421f505, + 0x8c21f508, +/* 0x097b: ctx_mmio_exec */ + 0x9800f807, + 0x07f14103, 0x03f08100, 0x0003d002, - 0x008004bd, - 0x0017f140, - 0x0613f001, - 0xf80601fa, -/* 0x09b7: ctx_xfer */ - 0xf000f803, - 0x07f104e7, - 0x03f00200, - 0x000ed003, -/* 0x09c6: ctx_xfer_idle */ - 0xe7f104bd, - 0xe3f00000, - 0x00eecf03, - 0x2000e4f1, - 0xf4f21bf4, - 0x02f40611, -/* 0x09dd: ctx_xfer_pre */ - 0x10f7f011, - 0x07dc21f5, - 0x074721f5, -/* 0x09eb: ctx_xfer_pre_load */ - 0xf01c11f4, - 0x21f502f7, - 0x21f5077d, - 0x21f5078f, - 0xf4bd07a4, - 0x077d21f5, - 0x082221f5, -/* 0x0a04: ctx_xfer_exec */ - 0xbd160198, - 0x0007f124, - 0x0103f005, - 0xbd0002d0, - 0x021fb904, - 0xa500e7f1, - 0xf441e3f0, - 0xfcf09d21, - 0x022cf001, - 0xfd0124b6, - 0xffb905f2, - 0x04e7f102, + 0x34bd04bd, +/* 0x098c: ctx_mmio_loop */ + 0xf4ff34c4, + 0x57f10f1b, + 0x53f00200, + 0x0535fa06, +/* 0x099e: ctx_mmio_pull */ + 0x4e9803f8, + 0x814f9880, + 0xb69d21f4, + 0x12b60830, + 0xdf1bf401, +/* 0x09b0: ctx_mmio_done */ + 0xf1160398, + 0xf0810007, + 0x03d00203, + 0x8004bd00, + 0x17f14000, + 0x13f00100, + 0x0601fa06, + 0x00f803f8, +/* 0x09d0: ctx_xfer */ + 0xf104e7f0, + 0xf0020007, + 0x0ed00303, +/* 0x09df: ctx_xfer_idle */ + 0xf104bd00, + 0xf00000e7, + 0xeecf03e3, + 0x00e4f100, + 0xf21bf420, + 0xf40611f4, +/* 0x09f6: ctx_xfer_pre */ + 0xf7f01102, + 0xfc21f510, + 0x6721f507, + 0x1c11f407, +/* 0x0a04: ctx_xfer_pre_load */ + 0xf502f7f0, + 0xf5079d21, + 0xf507af21, + 0xbd07c421, + 0x9d21f5f4, + 0x4221f507, +/* 0x0a1d: ctx_xfer_exec */ + 0x16019808, + 0x07f124bd, + 0x03f00500, + 0x0002d001, + 0x1fb904bd, + 0x00e7f102, 0x41e3f0a5, - 0xf59d21f4, - 0xbd026a21, - 0xfc07f124, - 0x0203f047, - 0xbd0002d0, - 0x012cf004, - 0xf10320b6, - 0xf04afc07, - 0x02d00203, - 0xf004bd00, - 0xa5f001ac, - 0x00b7f006, - 0x98000c98, - 0xe7f0010d, - 0x6f21f500, - 0x08a7f001, - 0x011021f5, - 0x025e21f5, - 0xf01301f4, - 0x21f40ca7, - 0x05f7f0d0, - 0x080421f5, -/* 0x0a93: ctx_xfer_post */ - 0xf03202f4, - 0x21f502f7, - 0xf4bd077d, - 0x07dc21f5, - 0x027f21f5, - 0x078f21f5, - 0x21f5f4bd, - 0x11f4077d, - 0x40019810, - 0xf40511fd, - 0x21f5070b, -/* 0x0abe: ctx_xfer_no_post_mmio */ - 0x21f50962, -/* 0x0ac2: ctx_xfer_done */ - 0x00f8076c, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, + 0xf09d21f4, + 0x2cf001fc, + 0x0124b602, + 0xb905f2fd, + 0xe7f102ff, + 0xe3f0a504, + 0x9d21f441, + 0x026a21f5, + 0x07f124bd, + 0x03f047fc, + 0x0002d002, + 0x2cf004bd, + 0x0320b601, + 0x4afc07f1, + 0xd00203f0, + 0x04bd0002, + 0xf001acf0, + 0xb7f006a5, + 0x000c9800, + 0xf0010d98, + 0x21f500e7, + 0xa7f0016f, + 0x1021f508, + 0x5e21f501, + 0x1301f402, + 0xf40ca7f0, + 0xf7f0d021, + 0x2421f505, + 0x3202f408, +/* 0x0aac: ctx_xfer_post */ + 0xf502f7f0, + 0xbd079d21, + 0xfc21f5f4, + 0x7f21f507, + 0xaf21f502, + 0xf5f4bd07, + 0xf4079d21, + 0x01981011, + 0x0511fd40, + 0xf5070bf4, +/* 0x0ad7: ctx_xfer_no_post_mmio */ + 0xf5097b21, +/* 0x0adb: ctx_xfer_done */ + 0xf8078c21, 0x00000000, 0x00000000, 0x00000000, diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h index a8776eaac05a..1fc990c5f851 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h @@ -478,7 +478,7 @@ uint32_t nve0_grhub_code[] = { 0xf0120007, 0x02d00003, 0xf104bd00, - 0xfe06a817, + 0xfe06c817, 0x24bd0010, 0x070007f1, 0xd00003f0, @@ -527,48 +527,56 @@ uint32_t nve0_grhub_code[] = { 0x03f00400, 0x0001d001, 0x17f104bd, - 0x0e980100, - 0x010f9800, - 0x015021f5, - 0xf1081495, - 0xf0c00007, - 0x04d00103, - 0xf104bd00, - 0xf0c10007, - 0x04d00103, - 0xb704bd00, - 0xbb130030, - 0xf5b6001f, - 0x0007f102, - 0x0103f0d3, - 0xbd000fd0, - 0x0815b604, - 0xb60110b6, - 0x1fb90814, - 0xd321f502, - 0x001fbb02, - 0xf1020398, - 0xf0200047, -/* 0x04e2: init_gpc */ - 0x4ea05043, - 0x1fb90804, - 0x9d21f402, - 0x010c4ea0, - 0x21f4f4bd, - 0x044ea09d, - 0x9d21f401, - 0x01004ea0, - 0xf402f7f0, + 0xf7f00100, + 0x6721f502, + 0x7921f507, + 0x10f7f007, + 0x07c621f5, + 0x98000e98, + 0x21f5010f, + 0x14950150, + 0x0007f108, + 0x0103f0c0, + 0xbd0004d0, + 0x0007f104, + 0x0103f0c1, + 0xbd0004d0, + 0x0030b704, + 0x001fbb13, + 0xf102f5b6, + 0xf0d30007, + 0x0fd00103, + 0xb604bd00, + 0x10b60815, + 0x0814b601, + 0xf5021fb9, + 0xbb02d321, + 0x0398001f, + 0x0047f102, + 0x5043f020, +/* 0x04f4: init_gpc */ + 0x08044ea0, + 0xf4021fb9, + 0x4ea09d21, + 0xf4bd010c, + 0xa09d21f4, + 0xf401044e, 0x4ea09d21, -/* 0x050a: init_gpc_wait */ - 0x21f40800, - 0x1fffc868, - 0xa0fa0bf4, - 0xf408044e, - 0x1fbb6821, - 0x0040b700, - 0x0132b680, - 0xf1be1bf4, + 0xf7f00100, + 0x9d21f402, + 0x08004ea0, +/* 0x051c: init_gpc_wait */ + 0xc86821f4, + 0x0bf41fff, + 0x044ea0fa, + 0x6821f408, + 0xb7001fbb, + 0xb6800040, + 0x1bf40132, + 0x00f7f0be, + 0x07c621f5, + 0xf500f7f0, + 0xf1076721, 0xf0010007, 0x01d00203, 0xbd04bd00, @@ -576,7 +584,7 @@ uint32_t nve0_grhub_code[] = { 0x080007f1, 0xd00203f0, 0x04bd0001, -/* 0x0544: main */ +/* 0x0564: main */ 0xf40031f4, 0xd7f00028, 0x3921f410, @@ -602,7 +610,7 @@ uint32_t nve0_grhub_code[] = { 0x09d00203, 0xf404bd00, 0x31f40132, - 0x7921f502, + 0x9221f502, 0xf094bd09, 0x07f10799, 0x03f01700, @@ -613,27 +621,27 @@ uint32_t nve0_grhub_code[] = { 0x0203f00f, 0xbd0009d0, 0x0131f404, - 0x097921f5, + 0x099221f5, 0x99f094bd, 0x0007f106, 0x0203f017, 0xbd0009d0, 0x330ef404, -/* 0x05ec: chsw_prev_no_next */ +/* 0x060c: chsw_prev_no_next */ 0x12b920f9, 0x0132f402, 0xf50232f4, - 0xfc097921, + 0xfc099221, 0x0007f120, 0x0203f0c0, 0xbd0002d0, 0x130ef404, -/* 0x060c: chsw_no_prev */ +/* 0x062c: chsw_no_prev */ 0xf41f23c8, 0x31f40d0b, 0x0232f401, - 0x097921f5, -/* 0x061c: chsw_done */ + 0x099221f5, +/* 0x063c: chsw_done */ 0xf10127f0, 0xf0c30007, 0x02d00203, @@ -643,12 +651,12 @@ uint32_t nve0_grhub_code[] = { 0xd00203f0, 0x04bd0009, 0xff080ef5, -/* 0x0640: main_not_ctx_switch */ +/* 0x0660: main_not_ctx_switch */ 0xf401e4b0, 0xf2b90d1b, - 0x0a21f502, + 0x2a21f502, 0x460ef409, -/* 0x0650: main_not_ctx_chan */ +/* 0x0670: main_not_ctx_chan */ 0xf402e4b0, 0x94bd321b, 0xf10799f0, @@ -656,24 +664,24 @@ uint32_t nve0_grhub_code[] = { 0x09d00203, 0xf404bd00, 0x32f40132, - 0x7921f502, + 0x9221f502, 0xf094bd09, 0x07f10799, 0x03f01700, 0x0009d002, 0x0ef404bd, -/* 0x0685: main_not_ctx_save */ +/* 0x06a5: main_not_ctx_save */ 0x10ef9411, 0xf501f5f0, 0xf5037e21, -/* 0x0693: main_done */ +/* 0x06b3: main_done */ 0xbdfeb50e, 0x1f29f024, 0x080007f1, 0xd00203f0, 0x04bd0002, 0xfea00ef5, -/* 0x06a8: ih */ +/* 0x06c8: ih */ 0x88fe80f9, 0xf980f901, 0xf9a0f990, @@ -694,19 +702,19 @@ uint32_t nve0_grhub_code[] = { 0x07f101e7, 0x03f01d00, 0x000ed000, -/* 0x06fa: ih_no_fifo */ +/* 0x071a: ih_no_fifo */ 0xabe404bd, 0x0bf40100, 0x10d7f00d, 0x4001e7f1, -/* 0x070b: ih_no_ctxsw */ +/* 0x072b: ih_no_ctxsw */ 0xf10421f4, 0xbd0104b7, 0xb4abffb0, 0xf10f0bf4, 0xf0070007, 0x0bd00303, -/* 0x0723: ih_no_other */ +/* 0x0743: ih_no_other */ 0xf104bd00, 0xf0010007, 0x0ad00003, @@ -716,19 +724,19 @@ uint32_t nve0_grhub_code[] = { 0xfc90fca0, 0x0088fe80, 0x32f480fc, -/* 0x0747: ctx_4170s */ +/* 0x0767: ctx_4170s */ 0xf001f800, 0xffb910f5, 0x70e7f102, 0x40e3f041, 0xf89d21f4, -/* 0x0759: ctx_4170w */ +/* 0x0779: ctx_4170w */ 0x70e7f100, 0x40e3f041, 0xb96821f4, 0xf4f002ff, 0xf01bf410, -/* 0x076e: ctx_redswitch */ +/* 0x078e: ctx_redswitch */ 0xe7f100f8, 0xe5f00200, 0x20e5f040, @@ -736,7 +744,7 @@ uint32_t nve0_grhub_code[] = { 0xf0850007, 0x0ed00103, 0xf004bd00, -/* 0x078a: ctx_redswitch_delay */ +/* 0x07aa: ctx_redswitch_delay */ 0xf2b608f7, 0xfd1bf401, 0x0400e5f1, @@ -744,7 +752,7 @@ uint32_t nve0_grhub_code[] = { 0x850007f1, 0xd00103f0, 0x04bd000e, -/* 0x07a6: ctx_86c */ +/* 0x07c6: ctx_86c */ 0x07f100f8, 0x03f01b00, 0x000fd002, @@ -755,17 +763,17 @@ uint32_t nve0_grhub_code[] = { 0xe7f102ff, 0xe3f0a86c, 0x9d21f441, -/* 0x07ce: ctx_mem */ +/* 0x07ee: ctx_mem */ 0x07f100f8, 0x03f08400, 0x000fd002, -/* 0x07da: ctx_mem_wait */ +/* 0x07fa: ctx_mem_wait */ 0xf7f104bd, 0xf3f08400, 0x00ffcf02, 0xf405fffd, 0x00f8f31b, -/* 0x07ec: ctx_load */ +/* 0x080c: ctx_load */ 0x99f094bd, 0x0007f105, 0x0203f00f, @@ -782,7 +790,7 @@ uint32_t nve0_grhub_code[] = { 0x0203f083, 0xbd0002d0, 0x07f7f004, - 0x07ce21f5, + 0x07ee21f5, 0xc00007f1, 0xd00203f0, 0x04bd0002, @@ -837,119 +845,111 @@ uint32_t nve0_grhub_code[] = { 0x170007f1, 0xd00203f0, 0x04bd0009, -/* 0x090a: ctx_chan */ +/* 0x092a: ctx_chan */ 0x21f500f8, - 0xa7f007ec, + 0xa7f0080c, 0xd021f40c, - 0x0a1017f1, - 0xf00614b6, - 0x21f505f7, - 0x00f807ce, -/* 0x0924: ctx_mmio_exec */ - 0xf1410398, - 0xf0810007, - 0x03d00203, - 0xbd04bd00, -/* 0x0935: ctx_mmio_loop */ - 0xff34c434, - 0xf10f1bf4, - 0xf0020057, - 0x35fa0653, -/* 0x0947: ctx_mmio_pull */ - 0x9803f805, - 0x4f98804e, - 0x9d21f481, - 0xb60830b6, - 0x1bf40112, -/* 0x0959: ctx_mmio_done */ - 0x160398df, + 0xf505f7f0, + 0xf807ee21, +/* 0x093d: ctx_mmio_exec */ + 0x41039800, 0x810007f1, 0xd00203f0, 0x04bd0003, - 0xf1400080, - 0xf0010017, - 0x01fa0613, - 0xf803f806, -/* 0x0979: ctx_xfer */ - 0x04e7f000, - 0x020007f1, - 0xd00303f0, - 0x04bd000e, -/* 0x0988: ctx_xfer_idle */ - 0x0000e7f1, - 0xcf03e3f0, - 0xe4f100ee, - 0x1bf42000, - 0x0611f4f2, -/* 0x099f: ctx_xfer_pre */ - 0xf00d02f4, - 0x21f510f7, - 0x11f407a6, -/* 0x09a9: ctx_xfer_pre_load */ - 0x02f7f01c, - 0x074721f5, - 0x075921f5, - 0x076e21f5, - 0x21f5f4bd, - 0x21f50747, -/* 0x09c2: ctx_xfer_exec */ - 0x019807ec, - 0xf124bd16, - 0xf0050007, - 0x02d00103, - 0xb904bd00, - 0xe7f1021f, - 0xe3f0a500, - 0x9d21f441, - 0xf001fcf0, - 0x24b6022c, - 0x05f2fd01, - 0xf102ffb9, - 0xf0a504e7, +/* 0x094e: ctx_mmio_loop */ + 0x34c434bd, + 0x0f1bf4ff, + 0x020057f1, + 0xfa0653f0, + 0x03f80535, +/* 0x0960: ctx_mmio_pull */ + 0x98804e98, + 0x21f4814f, + 0x0830b69d, + 0xf40112b6, +/* 0x0972: ctx_mmio_done */ + 0x0398df1b, + 0x0007f116, + 0x0203f081, + 0xbd0003d0, + 0x40008004, + 0x010017f1, + 0xfa0613f0, + 0x03f80601, +/* 0x0992: ctx_xfer */ + 0xe7f000f8, + 0x0007f104, + 0x0303f002, + 0xbd000ed0, +/* 0x09a1: ctx_xfer_idle */ + 0x00e7f104, + 0x03e3f000, + 0xf100eecf, + 0xf42000e4, + 0x11f4f21b, + 0x0d02f406, +/* 0x09b8: ctx_xfer_pre */ + 0xf510f7f0, + 0xf407c621, +/* 0x09c2: ctx_xfer_pre_load */ + 0xf7f01c11, + 0x6721f502, + 0x7921f507, + 0x8e21f507, + 0xf5f4bd07, + 0xf5076721, +/* 0x09db: ctx_xfer_exec */ + 0x98080c21, + 0x24bd1601, + 0x050007f1, + 0xd00103f0, + 0x04bd0002, + 0xf1021fb9, + 0xf0a500e7, 0x21f441e3, - 0x6a21f59d, - 0xf124bd02, - 0xf047fc07, - 0x02d00203, - 0xf004bd00, - 0x20b6012c, - 0xfc07f103, - 0x0203f04a, - 0xbd0002d0, - 0x01acf004, - 0xf006a5f0, - 0x0c9800b7, - 0x010d9800, - 0xf500e7f0, - 0xf0016f21, - 0x21f508a7, - 0x21f50110, - 0x01f4025e, - 0x0ca7f013, - 0xf0d021f4, - 0x21f505f7, - 0x02f407ce, -/* 0x0a51: ctx_xfer_post */ - 0x02f7f02e, - 0x074721f5, - 0x21f5f4bd, - 0x21f507a6, - 0x21f5027f, - 0xf4bd0759, - 0x074721f5, - 0x981011f4, - 0x11fd4001, - 0x070bf405, - 0x092421f5, -/* 0x0a7c: ctx_xfer_no_post_mmio */ -/* 0x0a7c: ctx_xfer_done */ - 0x000000f8, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, + 0x01fcf09d, + 0xb6022cf0, + 0xf2fd0124, + 0x02ffb905, + 0xa504e7f1, + 0xf441e3f0, + 0x21f59d21, + 0x24bd026a, + 0x47fc07f1, + 0xd00203f0, + 0x04bd0002, + 0xb6012cf0, + 0x07f10320, + 0x03f04afc, + 0x0002d002, + 0xacf004bd, + 0x06a5f001, + 0x9800b7f0, + 0x0d98000c, + 0x00e7f001, + 0x016f21f5, + 0xf508a7f0, + 0xf5011021, + 0xf4025e21, + 0xa7f01301, + 0xd021f40c, + 0xf505f7f0, + 0xf407ee21, +/* 0x0a6a: ctx_xfer_post */ + 0xf7f02e02, + 0x6721f502, + 0xf5f4bd07, + 0xf507c621, + 0xf5027f21, + 0xbd077921, + 0x6721f5f4, + 0x1011f407, + 0xfd400198, + 0x0bf40511, + 0x3d21f507, +/* 0x0a95: ctx_xfer_no_post_mmio */ +/* 0x0a95: ctx_xfer_done */ + 0x0000f809, 0x00000000, 0x00000000, 0x00000000, diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h index 0eca4aee3edb..dc89e4005dec 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h @@ -478,7 +478,7 @@ uint32_t nvf0_grhub_code[] = { 0xf0120007, 0x02d00003, 0xf104bd00, - 0xfe06a817, + 0xfe06c817, 0x24bd0010, 0x070007f1, 0xd00003f0, @@ -527,48 +527,56 @@ uint32_t nvf0_grhub_code[] = { 0x03f00400, 0x0001d001, 0x17f104bd, - 0x0e980100, - 0x010f9800, - 0x015021f5, - 0xf1081495, - 0xf0c00007, - 0x04d00103, - 0xf104bd00, - 0xf0c10007, - 0x04d00103, - 0xb704bd00, - 0xbb130030, - 0xf5b6001f, - 0x0007f102, - 0x0103f0d3, - 0xbd000fd0, - 0x0815b604, - 0xb60110b6, - 0x1fb90814, - 0xd321f502, - 0x001fbb02, - 0xf1020398, - 0xf0200047, -/* 0x04e2: init_gpc */ - 0x4ea05043, - 0x1fb90804, - 0x9d21f402, - 0x010c4ea0, - 0x21f4f4bd, - 0x044ea09d, - 0x9d21f401, - 0x01004ea0, - 0xf402f7f0, + 0xf7f00100, + 0x6721f502, + 0x7921f507, + 0x10f7f007, + 0x07c621f5, + 0x98000e98, + 0x21f5010f, + 0x14950150, + 0x0007f108, + 0x0103f0c0, + 0xbd0004d0, + 0x0007f104, + 0x0103f0c1, + 0xbd0004d0, + 0x0030b704, + 0x001fbb13, + 0xf102f5b6, + 0xf0d30007, + 0x0fd00103, + 0xb604bd00, + 0x10b60815, + 0x0814b601, + 0xf5021fb9, + 0xbb02d321, + 0x0398001f, + 0x0047f102, + 0x5043f020, +/* 0x04f4: init_gpc */ + 0x08044ea0, + 0xf4021fb9, + 0x4ea09d21, + 0xf4bd010c, + 0xa09d21f4, + 0xf401044e, 0x4ea09d21, -/* 0x050a: init_gpc_wait */ - 0x21f40800, - 0x1fffc868, - 0xa0fa0bf4, - 0xf408044e, - 0x1fbb6821, - 0x0040b700, - 0x0132b680, - 0xf1be1bf4, + 0xf7f00100, + 0x9d21f402, + 0x08004ea0, +/* 0x051c: init_gpc_wait */ + 0xc86821f4, + 0x0bf41fff, + 0x044ea0fa, + 0x6821f408, + 0xb7001fbb, + 0xb6800040, + 0x1bf40132, + 0x00f7f0be, + 0x07c621f5, + 0xf500f7f0, + 0xf1076721, 0xf0010007, 0x01d00203, 0xbd04bd00, @@ -576,7 +584,7 @@ uint32_t nvf0_grhub_code[] = { 0x300007f1, 0xd00203f0, 0x04bd0001, -/* 0x0544: main */ +/* 0x0564: main */ 0xf40031f4, 0xd7f00028, 0x3921f410, @@ -602,7 +610,7 @@ uint32_t nvf0_grhub_code[] = { 0x09d00203, 0xf404bd00, 0x31f40132, - 0x7921f502, + 0x9221f502, 0xf094bd09, 0x07f10799, 0x03f01700, @@ -613,27 +621,27 @@ uint32_t nvf0_grhub_code[] = { 0x0203f037, 0xbd0009d0, 0x0131f404, - 0x097921f5, + 0x099221f5, 0x99f094bd, 0x0007f106, 0x0203f017, 0xbd0009d0, 0x330ef404, -/* 0x05ec: chsw_prev_no_next */ +/* 0x060c: chsw_prev_no_next */ 0x12b920f9, 0x0132f402, 0xf50232f4, - 0xfc097921, + 0xfc099221, 0x0007f120, 0x0203f0c0, 0xbd0002d0, 0x130ef404, -/* 0x060c: chsw_no_prev */ +/* 0x062c: chsw_no_prev */ 0xf41f23c8, 0x31f40d0b, 0x0232f401, - 0x097921f5, -/* 0x061c: chsw_done */ + 0x099221f5, +/* 0x063c: chsw_done */ 0xf10127f0, 0xf0c30007, 0x02d00203, @@ -643,12 +651,12 @@ uint32_t nvf0_grhub_code[] = { 0xd00203f0, 0x04bd0009, 0xff080ef5, -/* 0x0640: main_not_ctx_switch */ +/* 0x0660: main_not_ctx_switch */ 0xf401e4b0, 0xf2b90d1b, - 0x0a21f502, + 0x2a21f502, 0x460ef409, -/* 0x0650: main_not_ctx_chan */ +/* 0x0670: main_not_ctx_chan */ 0xf402e4b0, 0x94bd321b, 0xf10799f0, @@ -656,24 +664,24 @@ uint32_t nvf0_grhub_code[] = { 0x09d00203, 0xf404bd00, 0x32f40132, - 0x7921f502, + 0x9221f502, 0xf094bd09, 0x07f10799, 0x03f01700, 0x0009d002, 0x0ef404bd, -/* 0x0685: main_not_ctx_save */ +/* 0x06a5: main_not_ctx_save */ 0x10ef9411, 0xf501f5f0, 0xf5037e21, -/* 0x0693: main_done */ +/* 0x06b3: main_done */ 0xbdfeb50e, 0x1f29f024, 0x300007f1, 0xd00203f0, 0x04bd0002, 0xfea00ef5, -/* 0x06a8: ih */ +/* 0x06c8: ih */ 0x88fe80f9, 0xf980f901, 0xf9a0f990, @@ -694,19 +702,19 @@ uint32_t nvf0_grhub_code[] = { 0x07f101e7, 0x03f01d00, 0x000ed000, -/* 0x06fa: ih_no_fifo */ +/* 0x071a: ih_no_fifo */ 0xabe404bd, 0x0bf40100, 0x10d7f00d, 0x4001e7f1, -/* 0x070b: ih_no_ctxsw */ +/* 0x072b: ih_no_ctxsw */ 0xf10421f4, 0xbd0104b7, 0xb4abffb0, 0xf10f0bf4, 0xf0070007, 0x0bd00303, -/* 0x0723: ih_no_other */ +/* 0x0743: ih_no_other */ 0xf104bd00, 0xf0010007, 0x0ad00003, @@ -716,19 +724,19 @@ uint32_t nvf0_grhub_code[] = { 0xfc90fca0, 0x0088fe80, 0x32f480fc, -/* 0x0747: ctx_4170s */ +/* 0x0767: ctx_4170s */ 0xf001f800, 0xffb910f5, 0x70e7f102, 0x40e3f041, 0xf89d21f4, -/* 0x0759: ctx_4170w */ +/* 0x0779: ctx_4170w */ 0x70e7f100, 0x40e3f041, 0xb96821f4, 0xf4f002ff, 0xf01bf410, -/* 0x076e: ctx_redswitch */ +/* 0x078e: ctx_redswitch */ 0xe7f100f8, 0xe5f00200, 0x20e5f040, @@ -736,7 +744,7 @@ uint32_t nvf0_grhub_code[] = { 0xf0850007, 0x0ed00103, 0xf004bd00, -/* 0x078a: ctx_redswitch_delay */ +/* 0x07aa: ctx_redswitch_delay */ 0xf2b608f7, 0xfd1bf401, 0x0400e5f1, @@ -744,28 +752,28 @@ uint32_t nvf0_grhub_code[] = { 0x850007f1, 0xd00103f0, 0x04bd000e, -/* 0x07a6: ctx_86c */ +/* 0x07c6: ctx_86c */ 0x07f100f8, - 0x03f01b00, + 0x03f02300, 0x000fd002, 0xffb904bd, 0x14e7f102, 0x40e3f08a, 0xb99d21f4, 0xe7f102ff, - 0xe3f0a86c, + 0xe3f0a88c, 0x9d21f441, -/* 0x07ce: ctx_mem */ +/* 0x07ee: ctx_mem */ 0x07f100f8, 0x03f08400, 0x000fd002, -/* 0x07da: ctx_mem_wait */ +/* 0x07fa: ctx_mem_wait */ 0xf7f104bd, 0xf3f08400, 0x00ffcf02, 0xf405fffd, 0x00f8f31b, -/* 0x07ec: ctx_load */ +/* 0x080c: ctx_load */ 0x99f094bd, 0x0007f105, 0x0203f037, @@ -782,7 +790,7 @@ uint32_t nvf0_grhub_code[] = { 0x0203f083, 0xbd0002d0, 0x07f7f004, - 0x07ce21f5, + 0x07ee21f5, 0xc00007f1, 0xd00203f0, 0x04bd0002, @@ -837,119 +845,111 @@ uint32_t nvf0_grhub_code[] = { 0x170007f1, 0xd00203f0, 0x04bd0009, -/* 0x090a: ctx_chan */ +/* 0x092a: ctx_chan */ 0x21f500f8, - 0xa7f007ec, + 0xa7f0080c, 0xd021f40c, - 0x0a1017f1, - 0xf00614b6, - 0x21f505f7, - 0x00f807ce, -/* 0x0924: ctx_mmio_exec */ - 0xf1410398, - 0xf0810007, - 0x03d00203, - 0xbd04bd00, -/* 0x0935: ctx_mmio_loop */ - 0xff34c434, - 0xf10f1bf4, - 0xf0020057, - 0x35fa0653, -/* 0x0947: ctx_mmio_pull */ - 0x9803f805, - 0x4f98804e, - 0x9d21f481, - 0xb60830b6, - 0x1bf40112, -/* 0x0959: ctx_mmio_done */ - 0x160398df, + 0xf505f7f0, + 0xf807ee21, +/* 0x093d: ctx_mmio_exec */ + 0x41039800, 0x810007f1, 0xd00203f0, 0x04bd0003, - 0xf1400080, - 0xf0010017, - 0x01fa0613, - 0xf803f806, -/* 0x0979: ctx_xfer */ - 0x04e7f000, - 0x020007f1, - 0xd00303f0, - 0x04bd000e, -/* 0x0988: ctx_xfer_idle */ - 0x0000e7f1, - 0xcf03e3f0, - 0xe4f100ee, - 0x1bf42000, - 0x0611f4f2, -/* 0x099f: ctx_xfer_pre */ - 0xf00d02f4, - 0x21f510f7, - 0x11f407a6, -/* 0x09a9: ctx_xfer_pre_load */ - 0x02f7f01c, - 0x074721f5, - 0x075921f5, - 0x076e21f5, - 0x21f5f4bd, - 0x21f50747, -/* 0x09c2: ctx_xfer_exec */ - 0x019807ec, - 0xf124bd16, - 0xf0050007, - 0x02d00103, - 0xb904bd00, - 0xe7f1021f, - 0xe3f0a500, - 0x9d21f441, - 0xf001fcf0, - 0x24b6022c, - 0x05f2fd01, - 0xf102ffb9, - 0xf0a504e7, +/* 0x094e: ctx_mmio_loop */ + 0x34c434bd, + 0x0f1bf4ff, + 0x020057f1, + 0xfa0653f0, + 0x03f80535, +/* 0x0960: ctx_mmio_pull */ + 0x98804e98, + 0x21f4814f, + 0x0830b69d, + 0xf40112b6, +/* 0x0972: ctx_mmio_done */ + 0x0398df1b, + 0x0007f116, + 0x0203f081, + 0xbd0003d0, + 0x40008004, + 0x010017f1, + 0xfa0613f0, + 0x03f80601, +/* 0x0992: ctx_xfer */ + 0xe7f000f8, + 0x0007f104, + 0x0303f002, + 0xbd000ed0, +/* 0x09a1: ctx_xfer_idle */ + 0x00e7f104, + 0x03e3f000, + 0xf100eecf, + 0xf42000e4, + 0x11f4f21b, + 0x0d02f406, +/* 0x09b8: ctx_xfer_pre */ + 0xf510f7f0, + 0xf407c621, +/* 0x09c2: ctx_xfer_pre_load */ + 0xf7f01c11, + 0x6721f502, + 0x7921f507, + 0x8e21f507, + 0xf5f4bd07, + 0xf5076721, +/* 0x09db: ctx_xfer_exec */ + 0x98080c21, + 0x24bd1601, + 0x050007f1, + 0xd00103f0, + 0x04bd0002, + 0xf1021fb9, + 0xf0a500e7, 0x21f441e3, - 0x6a21f59d, - 0xf124bd02, - 0xf047fc07, - 0x02d00203, - 0xf004bd00, - 0x20b6012c, - 0xfc07f103, - 0x0203f04a, - 0xbd0002d0, - 0x01acf004, - 0xf006a5f0, - 0x0c9800b7, - 0x010d9800, - 0xf500e7f0, - 0xf0016f21, - 0x21f508a7, - 0x21f50110, - 0x01f4025e, - 0x0ca7f013, - 0xf0d021f4, - 0x21f505f7, - 0x02f407ce, -/* 0x0a51: ctx_xfer_post */ - 0x02f7f02e, - 0x074721f5, - 0x21f5f4bd, - 0x21f507a6, - 0x21f5027f, - 0xf4bd0759, - 0x074721f5, - 0x981011f4, - 0x11fd4001, - 0x070bf405, - 0x092421f5, -/* 0x0a7c: ctx_xfer_no_post_mmio */ -/* 0x0a7c: ctx_xfer_done */ - 0x000000f8, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, + 0x01fcf09d, + 0xb6022cf0, + 0xf2fd0124, + 0x02ffb905, + 0xa504e7f1, + 0xf441e3f0, + 0x21f59d21, + 0x24bd026a, + 0x47fc07f1, + 0xd00203f0, + 0x04bd0002, + 0xb6012cf0, + 0x07f10320, + 0x03f04afc, + 0x0002d002, + 0xacf004bd, + 0x06a5f001, + 0x9800b7f0, + 0x0d98000c, + 0x00e7f001, + 0x016f21f5, + 0xf508a7f0, + 0xf5011021, + 0xf4025e21, + 0xa7f01301, + 0xd021f40c, + 0xf505f7f0, + 0xf407ee21, +/* 0x0a6a: ctx_xfer_post */ + 0xf7f02e02, + 0x6721f502, + 0xf5f4bd07, + 0xf507c621, + 0xf5027f21, + 0xbd077921, + 0x6721f5f4, + 0x1011f407, + 0xfd400198, + 0x0bf40511, + 0x3d21f507, +/* 0x0a95: ctx_xfer_no_post_mmio */ +/* 0x0a95: ctx_xfer_done */ + 0x0000f809, 0x00000000, 0x00000000, 0x00000000, diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/macros.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/macros.fuc index c1ea0c9b7fe4..7593fbcf00b9 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/macros.fuc +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/macros.fuc @@ -80,9 +80,11 @@ #define NV_PGRAPH_FECS_CC_SCRATCH_VAL(n) ((n) * 4 + 0x409800) #define NV_PGRAPH_FECS_CC_SCRATCH_SET(n) ((n) * 4 + 0x409820) #define NV_PGRAPH_FECS_CC_SCRATCH_CLR(n) ((n) * 4 + 0x409840) +#define NV_PGRAPH_FECS_UNK86C 0x40986c #else #define NV_PGRAPH_FECS_CC_SCRATCH_VAL(n) ((n) * 4 + 0x409800) #define NV_PGRAPH_FECS_CC_SCRATCH_CLR(n) ((n) * 4 + 0x409840) +#define NV_PGRAPH_FECS_UNK86C 0x40988c #define NV_PGRAPH_FECS_CC_SCRATCH_SET(n) ((n) * 4 + 0x4098c0) #endif #define NV_PGRAPH_FECS_STRANDS_CNT 0x409880 @@ -142,9 +144,11 @@ #define NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_VAL(n) ((n) * 4 + 0x41a800) #define NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_SET(n) ((n) * 4 + 0x41a820) #define NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_CLR(n) ((n) * 4 + 0x41a840) +#define NV_PGRAPH_GPCX_GPCCS_UNK86C 0x41a86c #else #define NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_VAL(n) ((n) * 4 + 0x41a800) #define NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_CLR(n) ((n) * 4 + 0x41a840) +#define NV_PGRAPH_GPCX_GPCCS_UNK86C 0x41a88c #define NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_SET(n) ((n) * 4 + 0x41a8c0) #endif #define NV_PGRAPH_GPCX_GPCCS_STRAND_SELECT 0x41a91c