From 6778911b2079809f2c0ab589380069307eb5076e Mon Sep 17 00:00:00 2001 From: Roy Spliet Date: Thu, 4 Sep 2014 16:58:52 +0200 Subject: [PATCH] drm/nouveau/pwr/memx: Return debugging information Time measured from disabling FB to re-enabling, PPWR_IN reveals status of heads at the end of script. Helps debug various issues (like flicker). Signed-off-by: Roy Spliet Signed-off-by: Ben Skeggs --- .../drm/nouveau/core/subdev/pwr/fuc/memx.fuc | 16 + .../nouveau/core/subdev/pwr/fuc/nv108.fuc.h | 660 ++++++++-------- .../nouveau/core/subdev/pwr/fuc/nva3.fuc.h | 716 ++++++++--------- .../nouveau/core/subdev/pwr/fuc/nvc0.fuc.h | 716 ++++++++--------- .../nouveau/core/subdev/pwr/fuc/nvd0.fuc.h | 740 +++++++++--------- .../gpu/drm/nouveau/core/subdev/pwr/memx.c | 2 + 6 files changed, 1438 insertions(+), 1412 deletions(-) diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc index 9f2f57c6c828..989fdc10c136 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc +++ b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc @@ -55,6 +55,11 @@ memx_func_tail: .equ #memx_func_size #memx_func_next - #memx_func_head .equ #memx_func_num (#memx_func_tail - #memx_func_head) / #memx_func_size +memx_ts_start: +.b32 0 +memx_ts_end: +.b32 0 + memx_data_head: .skip 0x0800 memx_data_tail: @@ -78,6 +83,9 @@ memx_func_enter: and $r6 NV_PPWR_OUTPUT_FB_PAUSE bra z #memx_func_enter_wait + nv_iord($r6, NV_PPWR_TIMER_LOW) + st b32 D[$r0 + #memx_ts_start] $r6 + ret // description @@ -87,6 +95,9 @@ memx_func_enter: // $r3 - opcode desciption // $r0 - zero memx_func_leave: + nv_iord($r6, NV_PPWR_TIMER_LOW) + st b32 D[$r0 + #memx_ts_end] $r6 + mov $r6 NV_PPWR_OUTPUT_CLR_FB_PAUSE nv_iowr(NV_PPWR_OUTPUT_CLR, $r6) memx_func_leave_wait: @@ -210,6 +221,7 @@ memx_exec: push $r13 mov b32 $r1 $r12 mov b32 $r2 $r11 + memx_exec_next: // fetch the packet header, and locate opcode info ld b32 $r3 D[$r1] @@ -226,6 +238,10 @@ memx_exec: bra l #memx_exec_next // send completion reply + ld b32 $r11 D[$r0 + #memx_ts_start] + ld b32 $r12 D[$r0 + #memx_ts_end] + sub b32 $r12 $r11 + nv_iord($r11, NV_PPWR_INPUT) pop $r13 pop $r14 call(send) diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h index 6d8701cce9b5..4ba3b1c4fa79 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h +++ b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h @@ -46,8 +46,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x0000053d, - 0x0000052f, + 0x0000055c, + 0x0000054e, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x00000541, - 0x0000053f, + 0x00000560, + 0x0000055e, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x00000945, - 0x000007ec, + 0x00000964, + 0x0000080b, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, + 0x00000985, 0x00000966, - 0x00000947, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x00000971, - 0x0000096f, + 0x00000990, + 0x0000098e, 0x00000000, 0x00000000, 0x00000000, @@ -233,23 +233,25 @@ uint32_t nv108_pwr_data[] = { /* 0x037c: memx_func_next */ 0x00000001, 0x00000000, - 0x0000049b, + 0x000004a3, 0x00000002, 0x00000002, - 0x000004b8, + 0x000004c8, 0x00040003, 0x00000000, - 0x000004d5, + 0x000004e5, 0x00010004, 0x00000000, - 0x000004ef, + 0x000004ff, 0x00010005, 0x00000000, - 0x000004b3, + 0x000004c3, /* 0x03b8: memx_func_tail */ -/* 0x03b8: memx_data_head */ +/* 0x03b8: memx_ts_start */ 0x00000000, +/* 0x03bc: memx_ts_end */ 0x00000000, +/* 0x03c0: memx_data_head */ 0x00000000, 0x00000000, 0x00000000, @@ -760,8 +762,10 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x00000000, -/* 0x0bb8: memx_data_tail */ -/* 0x0bb8: i2c_scl_map */ + 0x00000000, + 0x00000000, +/* 0x0bc0: memx_data_tail */ +/* 0x0bc0: i2c_scl_map */ 0x00000400, 0x00000800, 0x00001000, @@ -772,7 +776,7 @@ uint32_t nv108_pwr_data[] = { 0x00020000, 0x00040000, 0x00080000, -/* 0x0be0: i2c_sda_map */ +/* 0x0be8: i2c_sda_map */ 0x00100000, 0x00200000, 0x00400000, @@ -843,8 +847,6 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x00000000, - 0x00000000, - 0x00000000, }; uint32_t nv108_pwr_code[] = { @@ -1188,18 +1190,22 @@ uint32_t nv108_pwr_code[] = { 0x07c04604, 0xf00066cf, 0x0bf40464, -/* 0x049b: memx_func_leave */ - 0x0600f8f7, + 0xcf2c06f7, + 0x06b50066, +/* 0x04a3: memx_func_leave */ + 0x0600f8ee, + 0x0066cf2c, + 0x06ef06b5, 0x07e44004, 0xbd0006f6, -/* 0x04a5: memx_func_leave_wait */ +/* 0x04b5: memx_func_leave_wait */ 0x07c04604, 0xf00066cf, 0x1bf40464, -/* 0x04b3: memx_func_wait_vblank */ +/* 0x04c3: memx_func_wait_vblank */ 0xb600f8f7, 0x00f80410, -/* 0x04b8: memx_func_wr32 */ +/* 0x04c8: memx_func_wr32 */ 0x98001698, 0x10b60115, 0xf960f908, @@ -1207,379 +1213,375 @@ uint32_t nv108_pwr_code[] = { 0x002e7ee0, 0x0242b600, 0xf8e81bf4, -/* 0x04d5: memx_func_wait */ +/* 0x04e5: memx_func_wait */ 0xcf2c0800, 0x1e980088, 0x011d9800, 0x98021c98, 0x10b6031b, 0x00797e10, -/* 0x04ef: memx_func_delay */ +/* 0x04ff: memx_func_delay */ 0x9800f800, 0x10b6001e, 0x005d7e04, -/* 0x04fb: memx_exec */ +/* 0x050b: memx_exec */ 0xf900f800, 0xb2d0f9e0, -/* 0x0503: memx_exec_next */ +/* 0x0513: memx_exec_next */ 0x98b2b2c1, 0x10b60013, 0x10349504, 0x980c30f0, 0x55f9de35, 0x1ef412a6, - 0xfcd0fced, - 0x02c27ee0, -/* 0x0523: memx_info */ - 0x4c00f800, - 0x004b03b8, - 0x02c27e08, -/* 0x052f: memx_recv */ - 0xb000f800, - 0x0bf401d6, - 0x00d6b0c9, - 0xf8eb0bf4, -/* 0x053d: memx_init */ -/* 0x053f: perf_recv */ - 0xf800f800, -/* 0x0541: perf_init */ -/* 0x0543: i2c_drive_scl */ - 0xb000f800, - 0x0bf40036, - 0x07e0400d, - 0xbd0001f6, -/* 0x0553: i2c_drive_scl_lo */ - 0x4000f804, - 0x01f607e4, - 0xf804bd00, -/* 0x055d: i2c_drive_sda */ - 0x0036b000, - 0x400d0bf4, - 0x02f607e0, - 0xf804bd00, -/* 0x056d: i2c_drive_sda_lo */ - 0x07e44000, - 0xbd0002f6, -/* 0x0577: i2c_sense_scl */ - 0xf400f804, - 0xc4430132, - 0x0033cf07, - 0xf40431fd, - 0x31f4060b, -/* 0x0589: i2c_sense_scl_done */ -/* 0x058b: i2c_sense_sda */ - 0xf400f801, - 0xc4430132, - 0x0033cf07, - 0xf40432fd, - 0x31f4060b, -/* 0x059d: i2c_sense_sda_done */ -/* 0x059f: i2c_raise_scl */ - 0xf900f801, - 0x08984440, - 0x437e0103, -/* 0x05aa: i2c_raise_scl_wait */ - 0xe84e0005, - 0x005d7e03, - 0x05777e00, - 0x0901f400, - 0xf40142b6, -/* 0x05be: i2c_raise_scl_done */ - 0x40fcef1b, -/* 0x05c2: i2c_start */ - 0x777e00f8, - 0x11f40005, - 0x058b7e0d, - 0x0611f400, -/* 0x05d3: i2c_start_rep */ - 0x032e0ef4, - 0x05437e00, + 0xee0b98ed, + 0xbbef0c98, + 0xc44b02cb, + 0x00bbcf07, + 0xe0fcd0fc, + 0x0002c27e, +/* 0x0542: memx_info */ + 0xc04c00f8, + 0x08004b03, + 0x0002c27e, +/* 0x054e: memx_recv */ + 0xd6b000f8, + 0xba0bf401, + 0xf400d6b0, + 0x00f8eb0b, +/* 0x055c: memx_init */ +/* 0x055e: perf_recv */ + 0x00f800f8, +/* 0x0560: perf_init */ +/* 0x0562: i2c_drive_scl */ + 0x36b000f8, + 0x0d0bf400, + 0xf607e040, + 0x04bd0001, +/* 0x0572: i2c_drive_scl_lo */ + 0xe44000f8, + 0x0001f607, + 0x00f804bd, +/* 0x057c: i2c_drive_sda */ + 0xf40036b0, + 0xe0400d0b, + 0x0002f607, + 0x00f804bd, +/* 0x058c: i2c_drive_sda_lo */ + 0xf607e440, + 0x04bd0002, +/* 0x0596: i2c_sense_scl */ + 0x32f400f8, + 0x07c44301, + 0xfd0033cf, + 0x0bf40431, + 0x0131f406, +/* 0x05a8: i2c_sense_scl_done */ +/* 0x05aa: i2c_sense_sda */ + 0x32f400f8, + 0x07c44301, + 0xfd0033cf, + 0x0bf40432, + 0x0131f406, +/* 0x05bc: i2c_sense_sda_done */ +/* 0x05be: i2c_raise_scl */ + 0x40f900f8, + 0x03089844, + 0x05627e01, +/* 0x05c9: i2c_raise_scl_wait */ + 0x03e84e00, + 0x00005d7e, + 0x0005967e, + 0xb60901f4, + 0x1bf40142, +/* 0x05dd: i2c_raise_scl_done */ + 0xf840fcef, +/* 0x05e1: i2c_start */ + 0x05967e00, + 0x0d11f400, + 0x0005aa7e, + 0xf40611f4, +/* 0x05f2: i2c_start_rep */ + 0x00032e0e, + 0x0005627e, + 0x7c7e0103, + 0x76bb0005, + 0x0465b600, + 0x659450f9, + 0x0256bb04, + 0x75fd50bd, + 0x7e50fc04, + 0xb60005be, + 0x11f40464, +/* 0x061d: i2c_start_send */ + 0x7e00031d, + 0x4e00057c, + 0x5d7e1388, + 0x00030000, + 0x0005627e, + 0x7e13884e, +/* 0x0637: i2c_start_out */ + 0xf800005d, +/* 0x0639: i2c_stop */ + 0x7e000300, + 0x03000562, + 0x057c7e00, + 0x03e84e00, + 0x00005d7e, + 0x627e0103, + 0x884e0005, + 0x005d7e13, 0x7e010300, - 0xbb00055d, + 0x4e00057c, + 0x5d7e1388, + 0x00f80000, +/* 0x0668: i2c_bitw */ + 0x00057c7e, + 0x7e03e84e, + 0xbb00005d, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x00059f7e, + 0x0005be7e, 0xf40464b6, -/* 0x05fe: i2c_start_send */ - 0x00031d11, - 0x00055d7e, - 0x7e13884e, - 0x0300005d, - 0x05437e00, - 0x13884e00, - 0x00005d7e, -/* 0x0618: i2c_start_out */ -/* 0x061a: i2c_stop */ - 0x000300f8, - 0x0005437e, - 0x5d7e0003, + 0x884e1711, + 0x005d7e13, + 0x7e000300, + 0x4e000562, + 0x5d7e1388, +/* 0x06a6: i2c_bitw_out */ + 0x00f80000, +/* 0x06a8: i2c_bitr */ + 0x7c7e0103, 0xe84e0005, 0x005d7e03, - 0x7e010300, - 0x4e000543, - 0x5d7e1388, - 0x01030000, - 0x00055d7e, - 0x7e13884e, - 0xf800005d, -/* 0x0649: i2c_bitw */ - 0x055d7e00, - 0x03e84e00, - 0x00005d7e, + 0x0076bb00, + 0xf90465b6, + 0x04659450, + 0xbd0256bb, + 0x0475fd50, + 0xbe7e50fc, + 0x64b60005, + 0x1a11f404, + 0x0005aa7e, + 0x627e0003, + 0x884e0005, + 0x005d7e13, + 0x013cf000, +/* 0x06eb: i2c_bitr_done */ + 0xf80131f4, +/* 0x06ed: i2c_get_byte */ + 0x04000500, +/* 0x06f1: i2c_get_byte_next */ + 0x0154b608, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x059f7e50, + 0x06a87e50, 0x0464b600, - 0x4e1711f4, - 0x5d7e1388, - 0x00030000, - 0x0005437e, - 0x7e13884e, -/* 0x0687: i2c_bitw_out */ - 0xf800005d, -/* 0x0689: i2c_bitr */ - 0x7e010300, - 0x4e00055d, - 0x5d7e03e8, - 0x76bb0000, + 0xfd2a11f4, + 0x42b60553, + 0xd81bf401, + 0x76bb0103, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb600059f, - 0x11f40464, - 0x058b7e1a, - 0x7e000300, - 0x4e000543, - 0x5d7e1388, - 0x3cf00000, - 0x0131f401, -/* 0x06cc: i2c_bitr_done */ -/* 0x06ce: i2c_get_byte */ - 0x000500f8, -/* 0x06d2: i2c_get_byte_next */ - 0x54b60804, - 0x0076bb01, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x897e50fc, - 0x64b60006, - 0x2a11f404, - 0xb60553fd, - 0x1bf40142, - 0xbb0103d8, - 0x65b60076, - 0x9450f904, - 0x56bb0465, - 0xfd50bd02, - 0x50fc0475, - 0x0006497e, -/* 0x071b: i2c_get_byte_done */ - 0xf80464b6, -/* 0x071d: i2c_put_byte */ -/* 0x071f: i2c_put_byte_next */ - 0xb6080400, - 0x54ff0142, - 0x0076bb38, + 0xb6000668, +/* 0x073a: i2c_get_byte_done */ + 0x00f80464, +/* 0x073c: i2c_put_byte */ +/* 0x073e: i2c_put_byte_next */ + 0x42b60804, + 0x3854ff01, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0x06687e50, + 0x0464b600, + 0xb03411f4, + 0x1bf40046, + 0x0076bbd8, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, - 0x497e50fc, + 0xa87e50fc, 0x64b60006, - 0x3411f404, - 0xf40046b0, - 0x76bbd81b, + 0x0f11f404, + 0xb00076bb, + 0x1bf40136, + 0x0132f406, +/* 0x0794: i2c_put_byte_done */ +/* 0x0796: i2c_addr */ + 0x76bb00f8, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb6000689, + 0xb60005e1, 0x11f40464, - 0x0076bb0f, - 0xf40136b0, - 0x32f4061b, -/* 0x0775: i2c_put_byte_done */ -/* 0x0777: i2c_addr */ - 0xbb00f801, + 0x2ec3e729, + 0x0134b601, + 0xbb0553fd, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x0005c27e, - 0xf40464b6, - 0xc3e72911, - 0x34b6012e, - 0x0553fd01, - 0xb60076bb, - 0x50f90465, - 0xbb046594, - 0x50bd0256, - 0xfc0475fd, - 0x071d7e50, - 0x0464b600, -/* 0x07bc: i2c_addr_done */ -/* 0x07be: i2c_acquire_addr */ - 0xcec700f8, - 0x05e4b6f8, - 0xd014e0b7, -/* 0x07ca: i2c_acquire */ - 0xbe7e00f8, + 0x00073c7e, +/* 0x07db: i2c_addr_done */ + 0xf80464b6, +/* 0x07dd: i2c_acquire_addr */ + 0xf8cec700, + 0xb705e4b6, + 0xf8d014e0, +/* 0x07e9: i2c_acquire */ + 0x07dd7e00, + 0x00047e00, + 0x03d9f000, + 0x00002e7e, +/* 0x07fa: i2c_release */ + 0xdd7e00f8, 0x047e0007, - 0xd9f00000, + 0xdaf00000, 0x002e7e03, -/* 0x07db: i2c_release */ - 0x7e00f800, - 0x7e0007be, - 0xf0000004, - 0x2e7e03da, - 0x00f80000, -/* 0x07ec: i2c_recv */ - 0xc70132f4, - 0x14b6f8c1, - 0x2816b002, - 0x01371ff5, - 0x0be013b8, - 0x00329800, - 0x0bb813b8, - 0x00319800, - 0xf90231f4, - 0xf9e0f9d0, - 0x0067f1d0, - 0x0063f100, - 0x01679210, - 0xb60076bb, - 0x50f90465, - 0xbb046594, - 0x50bd0256, - 0xfc0475fd, - 0x07ca7e50, - 0x0464b600, - 0xd6b0d0fc, - 0xb01bf500, - 0xbb000500, +/* 0x080b: i2c_recv */ + 0xf400f800, + 0xc1c70132, + 0x0214b6f8, + 0xf52816b0, + 0xb801371f, + 0x000be813, + 0xb8003298, + 0x000bc013, + 0xf4003198, + 0xd0f90231, + 0xd0f9e0f9, + 0x000067f1, + 0x100063f1, + 0xbb016792, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x0007777e, - 0xf50464b6, - 0xc700cc11, - 0x76bbe0c5, + 0x0007e97e, + 0xfc0464b6, + 0x00d6b0d0, + 0x00b01bf5, + 0x76bb0005, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb600071d, + 0xb6000796, 0x11f50464, - 0x010500a9, - 0xb60076bb, - 0x50f90465, - 0xbb046594, - 0x50bd0256, - 0xfc0475fd, - 0x07777e50, - 0x0464b600, - 0x008711f5, - 0xb60076bb, - 0x50f90465, - 0xbb046594, - 0x50bd0256, - 0xfc0475fd, - 0x06ce7e50, - 0x0464b600, - 0xcb6711f4, - 0x76bbe05b, - 0x0465b600, - 0x659450f9, - 0x0256bb04, - 0x75fd50bd, - 0x7e50fc04, - 0xb600061a, - 0x5bb20464, - 0x0ef474bd, -/* 0x08f1: i2c_recv_not_rd08 */ - 0x01d6b041, - 0x053b1bf4, - 0x07777e00, - 0x3211f400, - 0x7ee0c5c7, - 0xf400071d, - 0x00052811, - 0x0007777e, - 0xc71f11f4, - 0x1d7ee0b5, + 0xc5c700cc, + 0x0076bbe0, + 0xf90465b6, + 0x04659450, + 0xbd0256bb, + 0x0475fd50, + 0x3c7e50fc, + 0x64b60007, + 0xa911f504, + 0xbb010500, + 0x65b60076, + 0x9450f904, + 0x56bb0465, + 0xfd50bd02, + 0x50fc0475, + 0x0007967e, + 0xf50464b6, + 0xbb008711, + 0x65b60076, + 0x9450f904, + 0x56bb0465, + 0xfd50bd02, + 0x50fc0475, + 0x0006ed7e, + 0xf40464b6, + 0x5bcb6711, + 0x0076bbe0, + 0xf90465b6, + 0x04659450, + 0xbd0256bb, + 0x0475fd50, + 0x397e50fc, + 0x64b60006, + 0xbd5bb204, + 0x410ef474, +/* 0x0910: i2c_recv_not_rd08 */ + 0xf401d6b0, + 0x00053b1b, + 0x0007967e, + 0xc73211f4, + 0x3c7ee0c5, 0x11f40007, - 0x061a7e15, - 0xc774bd00, - 0x1bf408c5, - 0x0232f409, -/* 0x092f: i2c_recv_not_wr08 */ -/* 0x092f: i2c_recv_done */ - 0xc7030ef4, - 0xdb7ef8ce, - 0xe0fc0007, - 0x12f4d0fc, - 0x7e7cb209, -/* 0x0943: i2c_recv_exit */ - 0xf80002c2, -/* 0x0945: i2c_init */ -/* 0x0947: test_recv */ - 0x4100f800, - 0x11cf0458, + 0x7e000528, + 0xf4000796, + 0xb5c71f11, + 0x073c7ee0, + 0x1511f400, + 0x0006397e, + 0xc5c774bd, + 0x091bf408, + 0xf40232f4, +/* 0x094e: i2c_recv_not_wr08 */ +/* 0x094e: i2c_recv_done */ + 0xcec7030e, + 0x07fa7ef8, + 0xfce0fc00, + 0x0912f4d0, + 0xc27e7cb2, +/* 0x0962: i2c_recv_exit */ + 0x00f80002, +/* 0x0964: i2c_init */ +/* 0x0966: test_recv */ + 0x584100f8, + 0x0011cf04, + 0x400110b6, + 0x01f60458, + 0xf104bd00, + 0xf1d900e7, + 0x7e134fe3, + 0xf8000201, +/* 0x0985: test_init */ + 0x08004e00, + 0x0002017e, +/* 0x098e: idle_recv */ + 0x00f800f8, +/* 0x0990: idle */ + 0x410031f4, + 0x11cf0454, 0x0110b600, - 0xf6045840, + 0xf6045440, 0x04bd0001, - 0xd900e7f1, - 0x134fe3f1, - 0x0002017e, -/* 0x0966: test_init */ - 0x004e00f8, - 0x02017e08, -/* 0x096f: idle_recv */ - 0xf800f800, -/* 0x0971: idle */ - 0x0031f400, - 0xcf045441, - 0x10b60011, - 0x04544001, - 0xbd0001f6, -/* 0x0985: idle_loop */ - 0xf4580104, -/* 0x098a: idle_proc */ -/* 0x098a: idle_proc_exec */ - 0x10f90232, - 0xcb7e1eb2, - 0x10fc0002, - 0xf40911f4, - 0x0ef40231, -/* 0x099d: idle_proc_next */ - 0x5810b6f0, - 0x1bf41fa6, - 0xe002f4e8, - 0xf40028f4, - 0x0000c60e, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, +/* 0x09a4: idle_loop */ + 0x32f45801, +/* 0x09a9: idle_proc */ +/* 0x09a9: idle_proc_exec */ + 0xb210f902, + 0x02cb7e1e, + 0xf410fc00, + 0x31f40911, + 0xf00ef402, +/* 0x09bc: idle_proc_next */ + 0xa65810b6, + 0xe81bf41f, + 0xf4e002f4, + 0x0ef40028, + 0x000000c6, 0x00000000, 0x00000000, 0x00000000, diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h index d0e5a7b5dfb5..bbfd50299e0e 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h +++ b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h @@ -46,8 +46,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x00000660, - 0x00000652, + 0x0000068b, + 0x0000067d, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x00000664, - 0x00000662, + 0x0000068f, + 0x0000068d, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x00000a94, - 0x00000937, + 0x00000abf, + 0x00000962, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x00000abd, - 0x00000a96, + 0x00000ae8, + 0x00000ac1, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x00000ac9, - 0x00000ac7, + 0x00000af4, + 0x00000af2, 0x00000000, 0x00000000, 0x00000000, @@ -233,23 +233,25 @@ uint32_t nva3_pwr_data[] = { /* 0x037c: memx_func_next */ 0x00000001, 0x00000000, - 0x00000572, + 0x0000057e, 0x00000002, 0x00000002, - 0x000005d5, + 0x000005ed, 0x00040003, 0x00000000, - 0x000005f1, + 0x00000609, 0x00010004, 0x00000000, - 0x0000060e, + 0x00000626, 0x00010005, 0x00000000, - 0x00000593, + 0x000005ab, /* 0x03b8: memx_func_tail */ -/* 0x03b8: memx_data_head */ +/* 0x03b8: memx_ts_start */ 0x00000000, +/* 0x03bc: memx_ts_end */ 0x00000000, +/* 0x03c0: memx_data_head */ 0x00000000, 0x00000000, 0x00000000, @@ -760,8 +762,10 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x00000000, -/* 0x0bb8: memx_data_tail */ -/* 0x0bb8: i2c_scl_map */ + 0x00000000, + 0x00000000, +/* 0x0bc0: memx_data_tail */ +/* 0x0bc0: i2c_scl_map */ 0x00001000, 0x00004000, 0x00010000, @@ -772,7 +776,7 @@ uint32_t nva3_pwr_data[] = { 0x01000000, 0x04000000, 0x10000000, -/* 0x0be0: i2c_sda_map */ +/* 0x0be8: i2c_sda_map */ 0x00002000, 0x00008000, 0x00020000, @@ -783,7 +787,7 @@ uint32_t nva3_pwr_data[] = { 0x02000000, 0x08000000, 0x20000000, -/* 0x0c08: i2c_ctrl */ +/* 0x0c10: i2c_ctrl */ 0x0000e138, 0x0000e150, 0x0000e168, @@ -844,8 +848,6 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x00000000, - 0x00000000, - 0x00000000, }; uint32_t nva3_pwr_code[] = { @@ -1243,40 +1245,46 @@ uint32_t nva3_pwr_code[] = { 0xcf0664b6, 0x64f00066, 0xf30bf404, -/* 0x0572: memx_func_leave */ + 0xb62c67f0, + 0x66cf0664, + 0xee068000, +/* 0x057e: memx_func_leave */ 0x67f000f8, + 0x0664b62c, + 0x800066cf, + 0x67f0ef06, 0xe407f104, 0x0604b607, 0xbd0006d0, -/* 0x0581: memx_func_leave_wait */ +/* 0x0599: memx_func_leave_wait */ 0xc067f104, 0x0664b607, 0xf00066cf, 0x1bf40464, -/* 0x0593: memx_func_wait_vblank */ +/* 0x05ab: memx_func_wait_vblank */ 0x9800f8f3, 0x66b00016, 0x130bf400, 0xf40166b0, 0x0ef4060b, -/* 0x05a5: memx_func_wait_vblank_head1 */ +/* 0x05bd: memx_func_wait_vblank_head1 */ 0x2077f12e, 0x070ef400, -/* 0x05ac: memx_func_wait_vblank_head0 */ +/* 0x05c4: memx_func_wait_vblank_head0 */ 0x000877f1, -/* 0x05b0: memx_func_wait_vblank_0 */ +/* 0x05c8: memx_func_wait_vblank_0 */ 0x07c467f1, 0xcf0664b6, 0x67fd0066, 0xf31bf404, -/* 0x05c0: memx_func_wait_vblank_1 */ +/* 0x05d8: memx_func_wait_vblank_1 */ 0x07c467f1, 0xcf0664b6, 0x67fd0066, 0xf30bf404, -/* 0x05d0: memx_func_wait_vblank_fini */ +/* 0x05e8: memx_func_wait_vblank_fini */ 0xf80410b6, -/* 0x05d5: memx_func_wr32 */ +/* 0x05ed: memx_func_wr32 */ 0x00169800, 0xb6011598, 0x60f90810, @@ -1284,7 +1292,7 @@ uint32_t nva3_pwr_code[] = { 0x21f4e0fc, 0x0242b63f, 0xf8e91bf4, -/* 0x05f1: memx_func_wait */ +/* 0x0609: memx_func_wait */ 0x2c87f000, 0xcf0684b6, 0x1e980088, @@ -1292,391 +1300,385 @@ uint32_t nva3_pwr_code[] = { 0x98021c98, 0x10b6031b, 0xa421f410, -/* 0x060e: memx_func_delay */ +/* 0x0626: memx_func_delay */ 0x1e9800f8, 0x0410b600, 0xf87f21f4, -/* 0x0619: memx_exec */ +/* 0x0631: memx_exec */ 0xf9e0f900, 0x02c1b9d0, -/* 0x0623: memx_exec_next */ +/* 0x063b: memx_exec_next */ 0x9802b2b9, 0x10b60013, 0x10349504, 0x980c30f0, 0x55f9de35, 0xf40612b8, - 0xd0fcec1e, - 0x21f5e0fc, - 0x00f80342, -/* 0x0644: memx_info */ - 0x03b8c7f1, - 0x0800b7f1, - 0x034221f5, -/* 0x0652: memx_recv */ - 0xd6b000f8, - 0xc40bf401, - 0xf400d6b0, - 0x00f8e90b, -/* 0x0660: memx_init */ -/* 0x0662: perf_recv */ - 0x00f800f8, -/* 0x0664: perf_init */ -/* 0x0666: i2c_drive_scl */ - 0x36b000f8, - 0x110bf400, - 0x07e007f1, - 0xd00604b6, - 0x04bd0001, -/* 0x067a: i2c_drive_scl_lo */ - 0x07f100f8, - 0x04b607e4, - 0x0001d006, - 0x00f804bd, -/* 0x0688: i2c_drive_sda */ - 0xf40036b0, - 0x07f1110b, - 0x04b607e0, - 0x0002d006, - 0x00f804bd, -/* 0x069c: i2c_drive_sda_lo */ - 0x07e407f1, - 0xd00604b6, - 0x04bd0002, -/* 0x06aa: i2c_sense_scl */ - 0x32f400f8, - 0xc437f101, - 0x0634b607, - 0xfd0033cf, - 0x0bf40431, - 0x0131f406, -/* 0x06c0: i2c_sense_scl_done */ -/* 0x06c2: i2c_sense_sda */ - 0x32f400f8, - 0xc437f101, - 0x0634b607, - 0xfd0033cf, - 0x0bf40432, - 0x0131f406, -/* 0x06d8: i2c_sense_sda_done */ -/* 0x06da: i2c_raise_scl */ - 0x40f900f8, - 0x089847f1, - 0xf50137f0, -/* 0x06e7: i2c_raise_scl_wait */ - 0xf1066621, - 0xf403e8e7, - 0x21f57f21, - 0x01f406aa, - 0x0142b609, -/* 0x06fb: i2c_raise_scl_done */ - 0xfcef1bf4, -/* 0x06ff: i2c_start */ - 0xf500f840, - 0xf406aa21, - 0x21f50d11, - 0x11f406c2, - 0x300ef406, -/* 0x0710: i2c_start_rep */ - 0xf50037f0, - 0xf0066621, + 0x0b98ec1e, + 0xef0c98ee, + 0xf102cbbb, + 0xb607c4b7, + 0xbbcf06b4, + 0xfcd0fc00, + 0x4221f5e0, +/* 0x066f: memx_info */ + 0xf100f803, + 0xf103c0c7, + 0xf50800b7, + 0xf8034221, +/* 0x067d: memx_recv */ + 0x01d6b000, + 0xb0b10bf4, + 0x0bf400d6, +/* 0x068b: memx_init */ + 0xf800f8e9, +/* 0x068d: perf_recv */ +/* 0x068f: perf_init */ + 0xf800f800, +/* 0x0691: i2c_drive_scl */ + 0x0036b000, + 0xf1110bf4, + 0xb607e007, + 0x01d00604, + 0xf804bd00, +/* 0x06a5: i2c_drive_scl_lo */ + 0xe407f100, + 0x0604b607, + 0xbd0001d0, +/* 0x06b3: i2c_drive_sda */ + 0xb000f804, + 0x0bf40036, + 0xe007f111, + 0x0604b607, + 0xbd0002d0, +/* 0x06c7: i2c_drive_sda_lo */ + 0xf100f804, + 0xb607e407, + 0x02d00604, + 0xf804bd00, +/* 0x06d5: i2c_sense_scl */ + 0x0132f400, + 0x07c437f1, + 0xcf0634b6, + 0x31fd0033, + 0x060bf404, +/* 0x06eb: i2c_sense_scl_done */ + 0xf80131f4, +/* 0x06ed: i2c_sense_sda */ + 0x0132f400, + 0x07c437f1, + 0xcf0634b6, + 0x32fd0033, + 0x060bf404, +/* 0x0703: i2c_sense_sda_done */ + 0xf80131f4, +/* 0x0705: i2c_raise_scl */ + 0xf140f900, + 0xf0089847, 0x21f50137, - 0x76bb0688, - 0x0465b600, - 0x659450f9, - 0x0256bb04, - 0x75fd50bd, - 0xf550fc04, - 0xb606da21, - 0x11f40464, -/* 0x073d: i2c_start_send */ - 0x0037f01f, - 0x068821f5, - 0x1388e7f1, - 0xf07f21f4, +/* 0x0712: i2c_raise_scl_wait */ + 0xe7f10691, + 0x21f403e8, + 0xd521f57f, + 0x0901f406, + 0xf40142b6, +/* 0x0726: i2c_raise_scl_done */ + 0x40fcef1b, +/* 0x072a: i2c_start */ + 0x21f500f8, + 0x11f406d5, + 0xed21f50d, + 0x0611f406, +/* 0x073b: i2c_start_rep */ + 0xf0300ef4, 0x21f50037, - 0xe7f10666, + 0x37f00691, + 0xb321f501, + 0x0076bb06, + 0xf90465b6, + 0x04659450, + 0xbd0256bb, + 0x0475fd50, + 0x21f550fc, + 0x64b60705, + 0x1f11f404, +/* 0x0768: i2c_start_send */ + 0xf50037f0, + 0xf106b321, + 0xf41388e7, + 0x37f07f21, + 0x9121f500, + 0x88e7f106, + 0x7f21f413, +/* 0x0784: i2c_start_out */ +/* 0x0786: i2c_stop */ + 0x37f000f8, + 0x9121f500, + 0x0037f006, + 0x06b321f5, + 0x03e8e7f1, + 0xf07f21f4, + 0x21f50137, + 0xe7f10691, 0x21f41388, -/* 0x0759: i2c_start_out */ -/* 0x075b: i2c_stop */ - 0xf000f87f, - 0x21f50037, - 0x37f00666, - 0x8821f500, + 0x0137f07f, + 0x06b321f5, + 0x1388e7f1, + 0xf87f21f4, +/* 0x07b9: i2c_bitw */ + 0xb321f500, 0xe8e7f106, 0x7f21f403, - 0xf50137f0, - 0xf1066621, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0x0521f550, + 0x0464b607, + 0xf11811f4, 0xf41388e7, 0x37f07f21, - 0x8821f501, + 0x9121f500, 0x88e7f106, 0x7f21f413, -/* 0x078e: i2c_bitw */ - 0x21f500f8, - 0xe7f10688, - 0x21f403e8, - 0x0076bb7f, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x21f550fc, - 0x64b606da, - 0x1811f404, - 0x1388e7f1, - 0xf07f21f4, +/* 0x07f8: i2c_bitw_out */ +/* 0x07fa: i2c_bitr */ + 0x37f000f8, + 0xb321f501, + 0xe8e7f106, + 0x7f21f403, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0x0521f550, + 0x0464b607, + 0xf51b11f4, + 0xf006ed21, 0x21f50037, - 0xe7f10666, + 0xe7f10691, 0x21f41388, -/* 0x07cd: i2c_bitw_out */ -/* 0x07cf: i2c_bitr */ - 0xf000f87f, - 0x21f50137, - 0xe7f10688, - 0x21f403e8, - 0x0076bb7f, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x21f550fc, - 0x64b606da, - 0x1b11f404, - 0x06c221f5, - 0xf50037f0, - 0xf1066621, - 0xf41388e7, - 0x3cf07f21, - 0x0131f401, -/* 0x0814: i2c_bitr_done */ -/* 0x0816: i2c_get_byte */ - 0x57f000f8, - 0x0847f000, -/* 0x081c: i2c_get_byte_next */ - 0xbb0154b6, - 0x65b60076, - 0x9450f904, - 0x56bb0465, - 0xfd50bd02, - 0x50fc0475, - 0x07cf21f5, - 0xf40464b6, - 0x53fd2b11, - 0x0142b605, - 0xf0d81bf4, - 0x76bb0137, + 0x013cf07f, +/* 0x083f: i2c_bitr_done */ + 0xf80131f4, +/* 0x0841: i2c_get_byte */ + 0x0057f000, +/* 0x0847: i2c_get_byte_next */ + 0xb60847f0, + 0x76bb0154, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6078e21, -/* 0x0866: i2c_get_byte_done */ - 0x00f80464, -/* 0x0868: i2c_put_byte */ -/* 0x086b: i2c_put_byte_next */ - 0xb60847f0, - 0x54ff0142, - 0x0076bb38, + 0xb607fa21, + 0x11f40464, + 0x0553fd2b, + 0xf40142b6, + 0x37f0d81b, + 0x0076bb01, + 0xf90465b6, + 0x04659450, + 0xbd0256bb, + 0x0475fd50, + 0x21f550fc, + 0x64b607b9, +/* 0x0891: i2c_get_byte_done */ +/* 0x0893: i2c_put_byte */ + 0xf000f804, +/* 0x0896: i2c_put_byte_next */ + 0x42b60847, + 0x3854ff01, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0xb921f550, + 0x0464b607, + 0xb03411f4, + 0x1bf40046, + 0x0076bbd8, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b6078e, - 0x3411f404, - 0xf40046b0, - 0x76bbd81b, + 0x64b607fa, + 0x0f11f404, + 0xb00076bb, + 0x1bf40136, + 0x0132f406, +/* 0x08ec: i2c_put_byte_done */ +/* 0x08ee: i2c_addr */ + 0x76bb00f8, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb607cf21, + 0xb6072a21, 0x11f40464, - 0x0076bb0f, - 0xf40136b0, - 0x32f4061b, -/* 0x08c1: i2c_put_byte_done */ -/* 0x08c3: i2c_addr */ - 0xbb00f801, + 0x2ec3e729, + 0x0134b601, + 0xbb0553fd, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x06ff21f5, - 0xf40464b6, - 0xc3e72911, - 0x34b6012e, - 0x0553fd01, + 0x089321f5, +/* 0x0933: i2c_addr_done */ + 0xf80464b6, +/* 0x0935: i2c_acquire_addr */ + 0xf8cec700, + 0xb702e4b6, + 0x980c10e0, + 0x00f800ee, +/* 0x0944: i2c_acquire */ + 0x093521f5, + 0xf00421f4, + 0x21f403d9, +/* 0x0953: i2c_release */ + 0xf500f83f, + 0xf4093521, + 0xdaf00421, + 0x3f21f403, +/* 0x0962: i2c_recv */ + 0x32f400f8, + 0xf8c1c701, + 0xb00214b6, + 0x1ff52816, + 0x13a0013a, + 0x32980be8, + 0xc013a000, + 0x0031980b, + 0xf90231f4, + 0xf9e0f9d0, + 0x0067f1d0, + 0x0063f100, + 0x01679210, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x6821f550, - 0x0464b608, -/* 0x0908: i2c_addr_done */ -/* 0x090a: i2c_acquire_addr */ - 0xcec700f8, - 0x02e4b6f8, - 0x0c08e0b7, - 0xf800ee98, -/* 0x0919: i2c_acquire */ - 0x0a21f500, - 0x0421f409, - 0xf403d9f0, - 0x00f83f21, -/* 0x0928: i2c_release */ - 0x090a21f5, - 0xf00421f4, - 0x21f403da, -/* 0x0937: i2c_recv */ - 0xf400f83f, - 0xc1c70132, - 0x0214b6f8, - 0xf52816b0, - 0xa0013a1f, - 0x980be013, - 0x13a00032, - 0x31980bb8, - 0x0231f400, - 0xe0f9d0f9, - 0x67f1d0f9, - 0x63f10000, - 0x67921000, - 0x0076bb01, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x21f550fc, - 0x64b60919, - 0xb0d0fc04, - 0x1bf500d6, - 0x57f000b3, - 0x0076bb00, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x21f550fc, - 0x64b608c3, - 0xd011f504, - 0xe0c5c700, + 0x4421f550, + 0x0464b609, + 0xd6b0d0fc, + 0xb31bf500, + 0x0057f000, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x6821f550, + 0xee21f550, 0x0464b608, - 0x00ad11f5, - 0xbb0157f0, + 0x00d011f5, + 0xbbe0c5c7, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x08c321f5, + 0x089321f5, 0xf50464b6, - 0xbb008a11, - 0x65b60076, - 0x9450f904, - 0x56bb0465, - 0xfd50bd02, - 0x50fc0475, - 0x081621f5, - 0xf40464b6, - 0x5bcb6a11, - 0x0076bbe0, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x21f550fc, - 0x64b6075b, - 0x025bb904, - 0x0ef474bd, -/* 0x0a3d: i2c_recv_not_rd08 */ - 0x01d6b043, - 0xf03d1bf4, - 0x21f50057, - 0x11f408c3, - 0xe0c5c733, - 0x086821f5, - 0xf02911f4, - 0x21f50057, - 0x11f408c3, - 0xe0b5c71f, - 0x086821f5, - 0xf51511f4, - 0xbd075b21, - 0x08c5c774, - 0xf4091bf4, - 0x0ef40232, -/* 0x0a7d: i2c_recv_not_wr08 */ -/* 0x0a7d: i2c_recv_done */ - 0xf8cec703, - 0x092821f5, - 0xd0fce0fc, - 0xb90a12f4, - 0x21f5027c, -/* 0x0a92: i2c_recv_exit */ - 0x00f80342, -/* 0x0a94: i2c_init */ -/* 0x0a96: test_recv */ - 0x17f100f8, - 0x14b605d8, - 0x0011cf06, - 0xf10110b6, - 0xb605d807, - 0x01d00604, - 0xf104bd00, - 0xf1d900e7, - 0xf5134fe3, - 0xf8026221, -/* 0x0abd: test_init */ - 0x00e7f100, - 0x6221f508, -/* 0x0ac7: idle_recv */ - 0xf800f802, -/* 0x0ac9: idle */ - 0x0031f400, - 0x05d417f1, - 0xcf0614b6, - 0x10b60011, - 0xd407f101, - 0x0604b605, - 0xbd0001d0, -/* 0x0ae5: idle_loop */ - 0x5817f004, -/* 0x0aeb: idle_proc */ -/* 0x0aeb: idle_proc_exec */ - 0xf90232f4, - 0x021eb910, - 0x034b21f5, - 0x11f410fc, - 0x0231f409, -/* 0x0aff: idle_proc_next */ - 0xb6ef0ef4, - 0x1fb85810, - 0xe61bf406, - 0xf4dd02f4, - 0x0ef40028, - 0x000000bb, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, + 0xf000ad11, + 0x76bb0157, + 0x0465b600, + 0x659450f9, + 0x0256bb04, + 0x75fd50bd, + 0xf550fc04, + 0xb608ee21, + 0x11f50464, + 0x76bb008a, + 0x0465b600, + 0x659450f9, + 0x0256bb04, + 0x75fd50bd, + 0xf550fc04, + 0xb6084121, + 0x11f40464, + 0xe05bcb6a, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0x8621f550, + 0x0464b607, + 0xbd025bb9, + 0x430ef474, +/* 0x0a68: i2c_recv_not_rd08 */ + 0xf401d6b0, + 0x57f03d1b, + 0xee21f500, + 0x3311f408, + 0xf5e0c5c7, + 0xf4089321, + 0x57f02911, + 0xee21f500, + 0x1f11f408, + 0xf5e0b5c7, + 0xf4089321, + 0x21f51511, + 0x74bd0786, + 0xf408c5c7, + 0x32f4091b, + 0x030ef402, +/* 0x0aa8: i2c_recv_not_wr08 */ +/* 0x0aa8: i2c_recv_done */ + 0xf5f8cec7, + 0xfc095321, + 0xf4d0fce0, + 0x7cb90a12, + 0x4221f502, +/* 0x0abd: i2c_recv_exit */ +/* 0x0abf: i2c_init */ + 0xf800f803, +/* 0x0ac1: test_recv */ + 0xd817f100, + 0x0614b605, + 0xb60011cf, + 0x07f10110, + 0x04b605d8, + 0x0001d006, + 0xe7f104bd, + 0xe3f1d900, + 0x21f5134f, + 0x00f80262, +/* 0x0ae8: test_init */ + 0x0800e7f1, + 0x026221f5, +/* 0x0af2: idle_recv */ + 0x00f800f8, +/* 0x0af4: idle */ + 0xf10031f4, + 0xb605d417, + 0x11cf0614, + 0x0110b600, + 0x05d407f1, + 0xd00604b6, + 0x04bd0001, +/* 0x0b10: idle_loop */ + 0xf45817f0, +/* 0x0b16: idle_proc */ +/* 0x0b16: idle_proc_exec */ + 0x10f90232, + 0xf5021eb9, + 0xfc034b21, + 0x0911f410, + 0xf40231f4, +/* 0x0b2a: idle_proc_next */ + 0x10b6ef0e, + 0x061fb858, + 0xf4e61bf4, + 0x28f4dd02, + 0xbb0ef400, 0x00000000, 0x00000000, 0x00000000, diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h index cbc9bde2b702..6a9c719551dc 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h +++ b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h @@ -46,8 +46,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x00000660, - 0x00000652, + 0x0000068b, + 0x0000067d, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x00000664, - 0x00000662, + 0x0000068f, + 0x0000068d, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x00000a94, - 0x00000937, + 0x00000abf, + 0x00000962, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x00000abd, - 0x00000a96, + 0x00000ae8, + 0x00000ac1, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x00000ac9, - 0x00000ac7, + 0x00000af4, + 0x00000af2, 0x00000000, 0x00000000, 0x00000000, @@ -233,23 +233,25 @@ uint32_t nvc0_pwr_data[] = { /* 0x037c: memx_func_next */ 0x00000001, 0x00000000, - 0x00000572, + 0x0000057e, 0x00000002, 0x00000002, - 0x000005d5, + 0x000005ed, 0x00040003, 0x00000000, - 0x000005f1, + 0x00000609, 0x00010004, 0x00000000, - 0x0000060e, + 0x00000626, 0x00010005, 0x00000000, - 0x00000593, + 0x000005ab, /* 0x03b8: memx_func_tail */ -/* 0x03b8: memx_data_head */ +/* 0x03b8: memx_ts_start */ 0x00000000, +/* 0x03bc: memx_ts_end */ 0x00000000, +/* 0x03c0: memx_data_head */ 0x00000000, 0x00000000, 0x00000000, @@ -760,8 +762,10 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x00000000, -/* 0x0bb8: memx_data_tail */ -/* 0x0bb8: i2c_scl_map */ + 0x00000000, + 0x00000000, +/* 0x0bc0: memx_data_tail */ +/* 0x0bc0: i2c_scl_map */ 0x00001000, 0x00004000, 0x00010000, @@ -772,7 +776,7 @@ uint32_t nvc0_pwr_data[] = { 0x01000000, 0x04000000, 0x10000000, -/* 0x0be0: i2c_sda_map */ +/* 0x0be8: i2c_sda_map */ 0x00002000, 0x00008000, 0x00020000, @@ -783,7 +787,7 @@ uint32_t nvc0_pwr_data[] = { 0x02000000, 0x08000000, 0x20000000, -/* 0x0c08: i2c_ctrl */ +/* 0x0c10: i2c_ctrl */ 0x0000e138, 0x0000e150, 0x0000e168, @@ -844,8 +848,6 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x00000000, - 0x00000000, - 0x00000000, }; uint32_t nvc0_pwr_code[] = { @@ -1243,40 +1245,46 @@ uint32_t nvc0_pwr_code[] = { 0xcf0664b6, 0x64f00066, 0xf30bf404, -/* 0x0572: memx_func_leave */ + 0xb62c67f0, + 0x66cf0664, + 0xee068000, +/* 0x057e: memx_func_leave */ 0x67f000f8, + 0x0664b62c, + 0x800066cf, + 0x67f0ef06, 0xe407f104, 0x0604b607, 0xbd0006d0, -/* 0x0581: memx_func_leave_wait */ +/* 0x0599: memx_func_leave_wait */ 0xc067f104, 0x0664b607, 0xf00066cf, 0x1bf40464, -/* 0x0593: memx_func_wait_vblank */ +/* 0x05ab: memx_func_wait_vblank */ 0x9800f8f3, 0x66b00016, 0x130bf400, 0xf40166b0, 0x0ef4060b, -/* 0x05a5: memx_func_wait_vblank_head1 */ +/* 0x05bd: memx_func_wait_vblank_head1 */ 0x2077f12e, 0x070ef400, -/* 0x05ac: memx_func_wait_vblank_head0 */ +/* 0x05c4: memx_func_wait_vblank_head0 */ 0x000877f1, -/* 0x05b0: memx_func_wait_vblank_0 */ +/* 0x05c8: memx_func_wait_vblank_0 */ 0x07c467f1, 0xcf0664b6, 0x67fd0066, 0xf31bf404, -/* 0x05c0: memx_func_wait_vblank_1 */ +/* 0x05d8: memx_func_wait_vblank_1 */ 0x07c467f1, 0xcf0664b6, 0x67fd0066, 0xf30bf404, -/* 0x05d0: memx_func_wait_vblank_fini */ +/* 0x05e8: memx_func_wait_vblank_fini */ 0xf80410b6, -/* 0x05d5: memx_func_wr32 */ +/* 0x05ed: memx_func_wr32 */ 0x00169800, 0xb6011598, 0x60f90810, @@ -1284,7 +1292,7 @@ uint32_t nvc0_pwr_code[] = { 0x21f4e0fc, 0x0242b63f, 0xf8e91bf4, -/* 0x05f1: memx_func_wait */ +/* 0x0609: memx_func_wait */ 0x2c87f000, 0xcf0684b6, 0x1e980088, @@ -1292,391 +1300,385 @@ uint32_t nvc0_pwr_code[] = { 0x98021c98, 0x10b6031b, 0xa421f410, -/* 0x060e: memx_func_delay */ +/* 0x0626: memx_func_delay */ 0x1e9800f8, 0x0410b600, 0xf87f21f4, -/* 0x0619: memx_exec */ +/* 0x0631: memx_exec */ 0xf9e0f900, 0x02c1b9d0, -/* 0x0623: memx_exec_next */ +/* 0x063b: memx_exec_next */ 0x9802b2b9, 0x10b60013, 0x10349504, 0x980c30f0, 0x55f9de35, 0xf40612b8, - 0xd0fcec1e, - 0x21f5e0fc, - 0x00f80342, -/* 0x0644: memx_info */ - 0x03b8c7f1, - 0x0800b7f1, - 0x034221f5, -/* 0x0652: memx_recv */ - 0xd6b000f8, - 0xc40bf401, - 0xf400d6b0, - 0x00f8e90b, -/* 0x0660: memx_init */ -/* 0x0662: perf_recv */ - 0x00f800f8, -/* 0x0664: perf_init */ -/* 0x0666: i2c_drive_scl */ - 0x36b000f8, - 0x110bf400, - 0x07e007f1, - 0xd00604b6, - 0x04bd0001, -/* 0x067a: i2c_drive_scl_lo */ - 0x07f100f8, - 0x04b607e4, - 0x0001d006, - 0x00f804bd, -/* 0x0688: i2c_drive_sda */ - 0xf40036b0, - 0x07f1110b, - 0x04b607e0, - 0x0002d006, - 0x00f804bd, -/* 0x069c: i2c_drive_sda_lo */ - 0x07e407f1, - 0xd00604b6, - 0x04bd0002, -/* 0x06aa: i2c_sense_scl */ - 0x32f400f8, - 0xc437f101, - 0x0634b607, - 0xfd0033cf, - 0x0bf40431, - 0x0131f406, -/* 0x06c0: i2c_sense_scl_done */ -/* 0x06c2: i2c_sense_sda */ - 0x32f400f8, - 0xc437f101, - 0x0634b607, - 0xfd0033cf, - 0x0bf40432, - 0x0131f406, -/* 0x06d8: i2c_sense_sda_done */ -/* 0x06da: i2c_raise_scl */ - 0x40f900f8, - 0x089847f1, - 0xf50137f0, -/* 0x06e7: i2c_raise_scl_wait */ - 0xf1066621, - 0xf403e8e7, - 0x21f57f21, - 0x01f406aa, - 0x0142b609, -/* 0x06fb: i2c_raise_scl_done */ - 0xfcef1bf4, -/* 0x06ff: i2c_start */ - 0xf500f840, - 0xf406aa21, - 0x21f50d11, - 0x11f406c2, - 0x300ef406, -/* 0x0710: i2c_start_rep */ - 0xf50037f0, - 0xf0066621, + 0x0b98ec1e, + 0xef0c98ee, + 0xf102cbbb, + 0xb607c4b7, + 0xbbcf06b4, + 0xfcd0fc00, + 0x4221f5e0, +/* 0x066f: memx_info */ + 0xf100f803, + 0xf103c0c7, + 0xf50800b7, + 0xf8034221, +/* 0x067d: memx_recv */ + 0x01d6b000, + 0xb0b10bf4, + 0x0bf400d6, +/* 0x068b: memx_init */ + 0xf800f8e9, +/* 0x068d: perf_recv */ +/* 0x068f: perf_init */ + 0xf800f800, +/* 0x0691: i2c_drive_scl */ + 0x0036b000, + 0xf1110bf4, + 0xb607e007, + 0x01d00604, + 0xf804bd00, +/* 0x06a5: i2c_drive_scl_lo */ + 0xe407f100, + 0x0604b607, + 0xbd0001d0, +/* 0x06b3: i2c_drive_sda */ + 0xb000f804, + 0x0bf40036, + 0xe007f111, + 0x0604b607, + 0xbd0002d0, +/* 0x06c7: i2c_drive_sda_lo */ + 0xf100f804, + 0xb607e407, + 0x02d00604, + 0xf804bd00, +/* 0x06d5: i2c_sense_scl */ + 0x0132f400, + 0x07c437f1, + 0xcf0634b6, + 0x31fd0033, + 0x060bf404, +/* 0x06eb: i2c_sense_scl_done */ + 0xf80131f4, +/* 0x06ed: i2c_sense_sda */ + 0x0132f400, + 0x07c437f1, + 0xcf0634b6, + 0x32fd0033, + 0x060bf404, +/* 0x0703: i2c_sense_sda_done */ + 0xf80131f4, +/* 0x0705: i2c_raise_scl */ + 0xf140f900, + 0xf0089847, 0x21f50137, - 0x76bb0688, - 0x0465b600, - 0x659450f9, - 0x0256bb04, - 0x75fd50bd, - 0xf550fc04, - 0xb606da21, - 0x11f40464, -/* 0x073d: i2c_start_send */ - 0x0037f01f, - 0x068821f5, - 0x1388e7f1, - 0xf07f21f4, +/* 0x0712: i2c_raise_scl_wait */ + 0xe7f10691, + 0x21f403e8, + 0xd521f57f, + 0x0901f406, + 0xf40142b6, +/* 0x0726: i2c_raise_scl_done */ + 0x40fcef1b, +/* 0x072a: i2c_start */ + 0x21f500f8, + 0x11f406d5, + 0xed21f50d, + 0x0611f406, +/* 0x073b: i2c_start_rep */ + 0xf0300ef4, 0x21f50037, - 0xe7f10666, + 0x37f00691, + 0xb321f501, + 0x0076bb06, + 0xf90465b6, + 0x04659450, + 0xbd0256bb, + 0x0475fd50, + 0x21f550fc, + 0x64b60705, + 0x1f11f404, +/* 0x0768: i2c_start_send */ + 0xf50037f0, + 0xf106b321, + 0xf41388e7, + 0x37f07f21, + 0x9121f500, + 0x88e7f106, + 0x7f21f413, +/* 0x0784: i2c_start_out */ +/* 0x0786: i2c_stop */ + 0x37f000f8, + 0x9121f500, + 0x0037f006, + 0x06b321f5, + 0x03e8e7f1, + 0xf07f21f4, + 0x21f50137, + 0xe7f10691, 0x21f41388, -/* 0x0759: i2c_start_out */ -/* 0x075b: i2c_stop */ - 0xf000f87f, - 0x21f50037, - 0x37f00666, - 0x8821f500, + 0x0137f07f, + 0x06b321f5, + 0x1388e7f1, + 0xf87f21f4, +/* 0x07b9: i2c_bitw */ + 0xb321f500, 0xe8e7f106, 0x7f21f403, - 0xf50137f0, - 0xf1066621, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0x0521f550, + 0x0464b607, + 0xf11811f4, 0xf41388e7, 0x37f07f21, - 0x8821f501, + 0x9121f500, 0x88e7f106, 0x7f21f413, -/* 0x078e: i2c_bitw */ - 0x21f500f8, - 0xe7f10688, - 0x21f403e8, - 0x0076bb7f, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x21f550fc, - 0x64b606da, - 0x1811f404, - 0x1388e7f1, - 0xf07f21f4, +/* 0x07f8: i2c_bitw_out */ +/* 0x07fa: i2c_bitr */ + 0x37f000f8, + 0xb321f501, + 0xe8e7f106, + 0x7f21f403, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0x0521f550, + 0x0464b607, + 0xf51b11f4, + 0xf006ed21, 0x21f50037, - 0xe7f10666, + 0xe7f10691, 0x21f41388, -/* 0x07cd: i2c_bitw_out */ -/* 0x07cf: i2c_bitr */ - 0xf000f87f, - 0x21f50137, - 0xe7f10688, - 0x21f403e8, - 0x0076bb7f, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x21f550fc, - 0x64b606da, - 0x1b11f404, - 0x06c221f5, - 0xf50037f0, - 0xf1066621, - 0xf41388e7, - 0x3cf07f21, - 0x0131f401, -/* 0x0814: i2c_bitr_done */ -/* 0x0816: i2c_get_byte */ - 0x57f000f8, - 0x0847f000, -/* 0x081c: i2c_get_byte_next */ - 0xbb0154b6, - 0x65b60076, - 0x9450f904, - 0x56bb0465, - 0xfd50bd02, - 0x50fc0475, - 0x07cf21f5, - 0xf40464b6, - 0x53fd2b11, - 0x0142b605, - 0xf0d81bf4, - 0x76bb0137, + 0x013cf07f, +/* 0x083f: i2c_bitr_done */ + 0xf80131f4, +/* 0x0841: i2c_get_byte */ + 0x0057f000, +/* 0x0847: i2c_get_byte_next */ + 0xb60847f0, + 0x76bb0154, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6078e21, -/* 0x0866: i2c_get_byte_done */ - 0x00f80464, -/* 0x0868: i2c_put_byte */ -/* 0x086b: i2c_put_byte_next */ - 0xb60847f0, - 0x54ff0142, - 0x0076bb38, + 0xb607fa21, + 0x11f40464, + 0x0553fd2b, + 0xf40142b6, + 0x37f0d81b, + 0x0076bb01, + 0xf90465b6, + 0x04659450, + 0xbd0256bb, + 0x0475fd50, + 0x21f550fc, + 0x64b607b9, +/* 0x0891: i2c_get_byte_done */ +/* 0x0893: i2c_put_byte */ + 0xf000f804, +/* 0x0896: i2c_put_byte_next */ + 0x42b60847, + 0x3854ff01, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0xb921f550, + 0x0464b607, + 0xb03411f4, + 0x1bf40046, + 0x0076bbd8, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b6078e, - 0x3411f404, - 0xf40046b0, - 0x76bbd81b, + 0x64b607fa, + 0x0f11f404, + 0xb00076bb, + 0x1bf40136, + 0x0132f406, +/* 0x08ec: i2c_put_byte_done */ +/* 0x08ee: i2c_addr */ + 0x76bb00f8, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb607cf21, + 0xb6072a21, 0x11f40464, - 0x0076bb0f, - 0xf40136b0, - 0x32f4061b, -/* 0x08c1: i2c_put_byte_done */ -/* 0x08c3: i2c_addr */ - 0xbb00f801, + 0x2ec3e729, + 0x0134b601, + 0xbb0553fd, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x06ff21f5, - 0xf40464b6, - 0xc3e72911, - 0x34b6012e, - 0x0553fd01, + 0x089321f5, +/* 0x0933: i2c_addr_done */ + 0xf80464b6, +/* 0x0935: i2c_acquire_addr */ + 0xf8cec700, + 0xb702e4b6, + 0x980c10e0, + 0x00f800ee, +/* 0x0944: i2c_acquire */ + 0x093521f5, + 0xf00421f4, + 0x21f403d9, +/* 0x0953: i2c_release */ + 0xf500f83f, + 0xf4093521, + 0xdaf00421, + 0x3f21f403, +/* 0x0962: i2c_recv */ + 0x32f400f8, + 0xf8c1c701, + 0xb00214b6, + 0x1ff52816, + 0x13a0013a, + 0x32980be8, + 0xc013a000, + 0x0031980b, + 0xf90231f4, + 0xf9e0f9d0, + 0x0067f1d0, + 0x0063f100, + 0x01679210, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x6821f550, - 0x0464b608, -/* 0x0908: i2c_addr_done */ -/* 0x090a: i2c_acquire_addr */ - 0xcec700f8, - 0x02e4b6f8, - 0x0c08e0b7, - 0xf800ee98, -/* 0x0919: i2c_acquire */ - 0x0a21f500, - 0x0421f409, - 0xf403d9f0, - 0x00f83f21, -/* 0x0928: i2c_release */ - 0x090a21f5, - 0xf00421f4, - 0x21f403da, -/* 0x0937: i2c_recv */ - 0xf400f83f, - 0xc1c70132, - 0x0214b6f8, - 0xf52816b0, - 0xa0013a1f, - 0x980be013, - 0x13a00032, - 0x31980bb8, - 0x0231f400, - 0xe0f9d0f9, - 0x67f1d0f9, - 0x63f10000, - 0x67921000, - 0x0076bb01, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x21f550fc, - 0x64b60919, - 0xb0d0fc04, - 0x1bf500d6, - 0x57f000b3, - 0x0076bb00, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x21f550fc, - 0x64b608c3, - 0xd011f504, - 0xe0c5c700, + 0x4421f550, + 0x0464b609, + 0xd6b0d0fc, + 0xb31bf500, + 0x0057f000, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x6821f550, + 0xee21f550, 0x0464b608, - 0x00ad11f5, - 0xbb0157f0, + 0x00d011f5, + 0xbbe0c5c7, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x08c321f5, + 0x089321f5, 0xf50464b6, - 0xbb008a11, - 0x65b60076, - 0x9450f904, - 0x56bb0465, - 0xfd50bd02, - 0x50fc0475, - 0x081621f5, - 0xf40464b6, - 0x5bcb6a11, - 0x0076bbe0, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x21f550fc, - 0x64b6075b, - 0x025bb904, - 0x0ef474bd, -/* 0x0a3d: i2c_recv_not_rd08 */ - 0x01d6b043, - 0xf03d1bf4, - 0x21f50057, - 0x11f408c3, - 0xe0c5c733, - 0x086821f5, - 0xf02911f4, - 0x21f50057, - 0x11f408c3, - 0xe0b5c71f, - 0x086821f5, - 0xf51511f4, - 0xbd075b21, - 0x08c5c774, - 0xf4091bf4, - 0x0ef40232, -/* 0x0a7d: i2c_recv_not_wr08 */ -/* 0x0a7d: i2c_recv_done */ - 0xf8cec703, - 0x092821f5, - 0xd0fce0fc, - 0xb90a12f4, - 0x21f5027c, -/* 0x0a92: i2c_recv_exit */ - 0x00f80342, -/* 0x0a94: i2c_init */ -/* 0x0a96: test_recv */ - 0x17f100f8, - 0x14b605d8, - 0x0011cf06, - 0xf10110b6, - 0xb605d807, - 0x01d00604, - 0xf104bd00, - 0xf1d900e7, - 0xf5134fe3, - 0xf8026221, -/* 0x0abd: test_init */ - 0x00e7f100, - 0x6221f508, -/* 0x0ac7: idle_recv */ - 0xf800f802, -/* 0x0ac9: idle */ - 0x0031f400, - 0x05d417f1, - 0xcf0614b6, - 0x10b60011, - 0xd407f101, - 0x0604b605, - 0xbd0001d0, -/* 0x0ae5: idle_loop */ - 0x5817f004, -/* 0x0aeb: idle_proc */ -/* 0x0aeb: idle_proc_exec */ - 0xf90232f4, - 0x021eb910, - 0x034b21f5, - 0x11f410fc, - 0x0231f409, -/* 0x0aff: idle_proc_next */ - 0xb6ef0ef4, - 0x1fb85810, - 0xe61bf406, - 0xf4dd02f4, - 0x0ef40028, - 0x000000bb, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, + 0xf000ad11, + 0x76bb0157, + 0x0465b600, + 0x659450f9, + 0x0256bb04, + 0x75fd50bd, + 0xf550fc04, + 0xb608ee21, + 0x11f50464, + 0x76bb008a, + 0x0465b600, + 0x659450f9, + 0x0256bb04, + 0x75fd50bd, + 0xf550fc04, + 0xb6084121, + 0x11f40464, + 0xe05bcb6a, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0x8621f550, + 0x0464b607, + 0xbd025bb9, + 0x430ef474, +/* 0x0a68: i2c_recv_not_rd08 */ + 0xf401d6b0, + 0x57f03d1b, + 0xee21f500, + 0x3311f408, + 0xf5e0c5c7, + 0xf4089321, + 0x57f02911, + 0xee21f500, + 0x1f11f408, + 0xf5e0b5c7, + 0xf4089321, + 0x21f51511, + 0x74bd0786, + 0xf408c5c7, + 0x32f4091b, + 0x030ef402, +/* 0x0aa8: i2c_recv_not_wr08 */ +/* 0x0aa8: i2c_recv_done */ + 0xf5f8cec7, + 0xfc095321, + 0xf4d0fce0, + 0x7cb90a12, + 0x4221f502, +/* 0x0abd: i2c_recv_exit */ +/* 0x0abf: i2c_init */ + 0xf800f803, +/* 0x0ac1: test_recv */ + 0xd817f100, + 0x0614b605, + 0xb60011cf, + 0x07f10110, + 0x04b605d8, + 0x0001d006, + 0xe7f104bd, + 0xe3f1d900, + 0x21f5134f, + 0x00f80262, +/* 0x0ae8: test_init */ + 0x0800e7f1, + 0x026221f5, +/* 0x0af2: idle_recv */ + 0x00f800f8, +/* 0x0af4: idle */ + 0xf10031f4, + 0xb605d417, + 0x11cf0614, + 0x0110b600, + 0x05d407f1, + 0xd00604b6, + 0x04bd0001, +/* 0x0b10: idle_loop */ + 0xf45817f0, +/* 0x0b16: idle_proc */ +/* 0x0b16: idle_proc_exec */ + 0x10f90232, + 0xf5021eb9, + 0xfc034b21, + 0x0911f410, + 0xf40231f4, +/* 0x0b2a: idle_proc_next */ + 0x10b6ef0e, + 0x061fb858, + 0xf4e61bf4, + 0x28f4dd02, + 0xbb0ef400, 0x00000000, 0x00000000, 0x00000000, diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h index 513159063797..0a77eda57b17 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h +++ b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h @@ -46,8 +46,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x00000596, - 0x00000588, + 0x000005b8, + 0x000005aa, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x0000059a, - 0x00000598, + 0x000005bc, + 0x000005ba, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x000009b5, - 0x00000858, + 0x000009d7, + 0x0000087a, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x000009d8, - 0x000009b7, + 0x000009fa, + 0x000009d9, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x000009e4, - 0x000009e2, + 0x00000a06, + 0x00000a04, 0x00000000, 0x00000000, 0x00000000, @@ -233,23 +233,25 @@ uint32_t nvd0_pwr_data[] = { /* 0x037c: memx_func_next */ 0x00000001, 0x00000000, - 0x000004ee, + 0x000004f7, 0x00000002, 0x00000002, - 0x0000050e, + 0x00000520, 0x00040003, 0x00000000, - 0x0000052a, + 0x0000053c, 0x00010004, 0x00000000, - 0x00000544, + 0x00000556, 0x00010005, 0x00000000, - 0x00000509, + 0x0000051b, /* 0x03b8: memx_func_tail */ -/* 0x03b8: memx_data_head */ +/* 0x03b8: memx_ts_start */ 0x00000000, +/* 0x03bc: memx_ts_end */ 0x00000000, +/* 0x03c0: memx_data_head */ 0x00000000, 0x00000000, 0x00000000, @@ -760,8 +762,10 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x00000000, -/* 0x0bb8: memx_data_tail */ -/* 0x0bb8: i2c_scl_map */ + 0x00000000, + 0x00000000, +/* 0x0bc0: memx_data_tail */ +/* 0x0bc0: i2c_scl_map */ 0x00000400, 0x00000800, 0x00001000, @@ -772,7 +776,7 @@ uint32_t nvd0_pwr_data[] = { 0x00020000, 0x00040000, 0x00080000, -/* 0x0be0: i2c_sda_map */ +/* 0x0be8: i2c_sda_map */ 0x00100000, 0x00200000, 0x00400000, @@ -843,8 +847,6 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x00000000, - 0x00000000, - 0x00000000, }; uint32_t nvd0_pwr_code[] = { @@ -1209,407 +1211,407 @@ uint32_t nvd0_pwr_code[] = { 0xcf07c067, 0x64f00066, 0xf60bf404, -/* 0x04ee: memx_func_leave */ - 0x67f000f8, - 0xe407f104, - 0x0006d007, -/* 0x04fa: memx_func_leave_wait */ - 0x67f104bd, - 0x66cf07c0, - 0x0464f000, - 0xf8f61bf4, -/* 0x0509: memx_func_wait_vblank */ + 0xcf2c67f0, + 0x06800066, +/* 0x04f7: memx_func_leave */ + 0xf000f8ee, + 0x66cf2c67, + 0xef068000, + 0xf10467f0, + 0xd007e407, + 0x04bd0006, +/* 0x050c: memx_func_leave_wait */ + 0x07c067f1, + 0xf00066cf, + 0x1bf40464, +/* 0x051b: memx_func_wait_vblank */ + 0xb600f8f6, + 0x00f80410, +/* 0x0520: memx_func_wr32 */ + 0x98001698, + 0x10b60115, + 0xf960f908, + 0xfcd0fc50, + 0x3321f4e0, + 0xf40242b6, + 0x00f8e91b, +/* 0x053c: memx_func_wait */ + 0xcf2c87f0, + 0x1e980088, + 0x011d9800, + 0x98021c98, + 0x10b6031b, + 0x8621f410, +/* 0x0556: memx_func_delay */ + 0x1e9800f8, 0x0410b600, -/* 0x050e: memx_func_wr32 */ - 0x169800f8, - 0x01159800, - 0xf90810b6, - 0xfc50f960, - 0xf4e0fcd0, - 0x42b63321, - 0xe91bf402, -/* 0x052a: memx_func_wait */ - 0x87f000f8, - 0x0088cf2c, - 0x98001e98, - 0x1c98011d, - 0x031b9802, - 0xf41010b6, - 0x00f88621, -/* 0x0544: memx_func_delay */ - 0xb6001e98, - 0x21f40410, -/* 0x054f: memx_exec */ - 0xf900f867, - 0xb9d0f9e0, - 0xb2b902c1, -/* 0x0559: memx_exec_next */ - 0x00139802, - 0x950410b6, - 0x30f01034, - 0xde35980c, - 0x12b855f9, - 0xec1ef406, - 0xe0fcd0fc, - 0x02f121f5, -/* 0x057a: memx_info */ - 0xc7f100f8, - 0xb7f103b8, - 0x21f50800, + 0xf86721f4, +/* 0x0561: memx_exec */ + 0xf9e0f900, + 0x02c1b9d0, +/* 0x056b: memx_exec_next */ + 0x9802b2b9, + 0x10b60013, + 0x10349504, + 0x980c30f0, + 0x55f9de35, + 0xf40612b8, + 0x0b98ec1e, + 0xef0c98ee, + 0xf102cbbb, + 0xcf07c4b7, + 0xd0fc00bb, + 0x21f5e0fc, 0x00f802f1, -/* 0x0588: memx_recv */ - 0xf401d6b0, - 0xd6b0c40b, - 0xe90bf400, -/* 0x0596: memx_init */ - 0x00f800f8, -/* 0x0598: perf_recv */ -/* 0x059a: perf_init */ +/* 0x059c: memx_info */ + 0x03c0c7f1, + 0x0800b7f1, + 0x02f121f5, +/* 0x05aa: memx_recv */ + 0xd6b000f8, + 0xb40bf401, + 0xf400d6b0, + 0x00f8e90b, +/* 0x05b8: memx_init */ +/* 0x05ba: perf_recv */ 0x00f800f8, -/* 0x059c: i2c_drive_scl */ - 0xf40036b0, - 0x07f10e0b, - 0x01d007e0, - 0xf804bd00, -/* 0x05ad: i2c_drive_scl_lo */ - 0xe407f100, - 0x0001d007, - 0x00f804bd, -/* 0x05b8: i2c_drive_sda */ - 0xf40036b0, - 0x07f10e0b, - 0x02d007e0, - 0xf804bd00, -/* 0x05c9: i2c_drive_sda_lo */ - 0xe407f100, - 0x0002d007, - 0x00f804bd, -/* 0x05d4: i2c_sense_scl */ - 0xf10132f4, - 0xcf07c437, - 0x31fd0033, - 0x060bf404, -/* 0x05e7: i2c_sense_scl_done */ - 0xf80131f4, -/* 0x05e9: i2c_sense_sda */ - 0x0132f400, - 0x07c437f1, - 0xfd0033cf, - 0x0bf40432, - 0x0131f406, -/* 0x05fc: i2c_sense_sda_done */ -/* 0x05fe: i2c_raise_scl */ - 0x40f900f8, - 0x089847f1, - 0xf50137f0, -/* 0x060b: i2c_raise_scl_wait */ - 0xf1059c21, - 0xf403e8e7, - 0x21f56721, - 0x01f405d4, - 0x0142b609, -/* 0x061f: i2c_raise_scl_done */ - 0xfcef1bf4, -/* 0x0623: i2c_start */ - 0xf500f840, - 0xf405d421, - 0x21f50d11, - 0x11f405e9, - 0x300ef406, -/* 0x0634: i2c_start_rep */ - 0xf50037f0, - 0xf0059c21, - 0x21f50137, - 0x76bb05b8, - 0x0465b600, - 0x659450f9, - 0x0256bb04, - 0x75fd50bd, - 0xf550fc04, - 0xb605fe21, - 0x11f40464, -/* 0x0661: i2c_start_send */ - 0x0037f01f, - 0x05b821f5, - 0x1388e7f1, - 0xf06721f4, - 0x21f50037, - 0xe7f1059c, - 0x21f41388, -/* 0x067d: i2c_start_out */ -/* 0x067f: i2c_stop */ - 0xf000f867, - 0x21f50037, - 0x37f0059c, - 0xb821f500, +/* 0x05bc: perf_init */ +/* 0x05be: i2c_drive_scl */ + 0x36b000f8, + 0x0e0bf400, + 0x07e007f1, + 0xbd0001d0, +/* 0x05cf: i2c_drive_scl_lo */ + 0xf100f804, + 0xd007e407, + 0x04bd0001, +/* 0x05da: i2c_drive_sda */ + 0x36b000f8, + 0x0e0bf400, + 0x07e007f1, + 0xbd0002d0, +/* 0x05eb: i2c_drive_sda_lo */ + 0xf100f804, + 0xd007e407, + 0x04bd0002, +/* 0x05f6: i2c_sense_scl */ + 0x32f400f8, + 0xc437f101, + 0x0033cf07, + 0xf40431fd, + 0x31f4060b, +/* 0x0609: i2c_sense_scl_done */ +/* 0x060b: i2c_sense_sda */ + 0xf400f801, + 0x37f10132, + 0x33cf07c4, + 0x0432fd00, + 0xf4060bf4, +/* 0x061e: i2c_sense_sda_done */ + 0x00f80131, +/* 0x0620: i2c_raise_scl */ + 0x47f140f9, + 0x37f00898, + 0xbe21f501, +/* 0x062d: i2c_raise_scl_wait */ 0xe8e7f105, 0x6721f403, - 0xf50137f0, - 0xf1059c21, - 0xf41388e7, - 0x37f06721, - 0xb821f501, - 0x88e7f105, - 0x6721f413, -/* 0x06b2: i2c_bitw */ - 0x21f500f8, - 0xe7f105b8, - 0x21f403e8, - 0x0076bb67, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x21f550fc, - 0x64b605fe, - 0x1811f404, - 0x1388e7f1, - 0xf06721f4, + 0x05f621f5, + 0xb60901f4, + 0x1bf40142, +/* 0x0641: i2c_raise_scl_done */ + 0xf840fcef, +/* 0x0645: i2c_start */ + 0xf621f500, + 0x0d11f405, + 0x060b21f5, + 0xf40611f4, +/* 0x0656: i2c_start_rep */ + 0x37f0300e, + 0xbe21f500, + 0x0137f005, + 0x05da21f5, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0x2021f550, + 0x0464b606, +/* 0x0683: i2c_start_send */ + 0xf01f11f4, 0x21f50037, - 0xe7f1059c, + 0xe7f105da, 0x21f41388, -/* 0x06f1: i2c_bitw_out */ -/* 0x06f3: i2c_bitr */ - 0xf000f867, - 0x21f50137, - 0xe7f105b8, - 0x21f403e8, - 0x0076bb67, - 0xf90465b6, - 0x04659450, - 0xbd0256bb, - 0x0475fd50, - 0x21f550fc, - 0x64b605fe, - 0x1b11f404, - 0x05e921f5, + 0x0037f067, + 0x05be21f5, + 0x1388e7f1, +/* 0x069f: i2c_start_out */ + 0xf86721f4, +/* 0x06a1: i2c_stop */ + 0x0037f000, + 0x05be21f5, 0xf50037f0, - 0xf1059c21, + 0xf105da21, + 0xf403e8e7, + 0x37f06721, + 0xbe21f501, + 0x88e7f105, + 0x6721f413, + 0xf50137f0, + 0xf105da21, 0xf41388e7, - 0x3cf06721, - 0x0131f401, -/* 0x0738: i2c_bitr_done */ -/* 0x073a: i2c_get_byte */ - 0x57f000f8, - 0x0847f000, -/* 0x0740: i2c_get_byte_next */ - 0xbb0154b6, + 0x00f86721, +/* 0x06d4: i2c_bitw */ + 0x05da21f5, + 0x03e8e7f1, + 0xbb6721f4, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x06f321f5, + 0x062021f5, 0xf40464b6, - 0x53fd2b11, - 0x0142b605, - 0xf0d81bf4, - 0x76bb0137, - 0x0465b600, - 0x659450f9, - 0x0256bb04, - 0x75fd50bd, - 0xf550fc04, - 0xb606b221, -/* 0x078a: i2c_get_byte_done */ - 0x00f80464, -/* 0x078c: i2c_put_byte */ -/* 0x078f: i2c_put_byte_next */ - 0xb60847f0, - 0x54ff0142, - 0x0076bb38, + 0xe7f11811, + 0x21f41388, + 0x0037f067, + 0x05be21f5, + 0x1388e7f1, +/* 0x0713: i2c_bitw_out */ + 0xf86721f4, +/* 0x0715: i2c_bitr */ + 0x0137f000, + 0x05da21f5, + 0x03e8e7f1, + 0xbb6721f4, + 0x65b60076, + 0x9450f904, + 0x56bb0465, + 0xfd50bd02, + 0x50fc0475, + 0x062021f5, + 0xf40464b6, + 0x21f51b11, + 0x37f0060b, + 0xbe21f500, + 0x88e7f105, + 0x6721f413, + 0xf4013cf0, +/* 0x075a: i2c_bitr_done */ + 0x00f80131, +/* 0x075c: i2c_get_byte */ + 0xf00057f0, +/* 0x0762: i2c_get_byte_next */ + 0x54b60847, + 0x0076bb01, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b606b2, - 0x3411f404, - 0xf40046b0, - 0x76bbd81b, - 0x0465b600, - 0x659450f9, - 0x0256bb04, - 0x75fd50bd, - 0xf550fc04, - 0xb606f321, - 0x11f40464, - 0x0076bb0f, - 0xf40136b0, - 0x32f4061b, -/* 0x07e5: i2c_put_byte_done */ -/* 0x07e7: i2c_addr */ - 0xbb00f801, + 0x64b60715, + 0x2b11f404, + 0xb60553fd, + 0x1bf40142, + 0x0137f0d8, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0xd421f550, + 0x0464b606, +/* 0x07ac: i2c_get_byte_done */ +/* 0x07ae: i2c_put_byte */ + 0x47f000f8, +/* 0x07b1: i2c_put_byte_next */ + 0x0142b608, + 0xbb3854ff, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x062321f5, + 0x06d421f5, 0xf40464b6, - 0xc3e72911, - 0x34b6012e, - 0x0553fd01, + 0x46b03411, + 0xd81bf400, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x8c21f550, + 0x1521f550, 0x0464b607, -/* 0x082c: i2c_addr_done */ -/* 0x082e: i2c_acquire_addr */ - 0xcec700f8, - 0x05e4b6f8, - 0xd014e0b7, -/* 0x083a: i2c_acquire */ - 0x21f500f8, - 0x21f4082e, - 0x03d9f004, - 0xf83321f4, -/* 0x0849: i2c_release */ - 0x2e21f500, - 0x0421f408, - 0xf403daf0, - 0x00f83321, -/* 0x0858: i2c_recv */ - 0xc70132f4, - 0x14b6f8c1, - 0x2816b002, - 0x013a1ff5, - 0x0be013a0, - 0xa0003298, - 0x980bb813, - 0x31f40031, - 0xf9d0f902, - 0xf1d0f9e0, - 0xf1000067, - 0x92100063, - 0x76bb0167, - 0x0465b600, - 0x659450f9, - 0x0256bb04, - 0x75fd50bd, - 0xf550fc04, - 0xb6083a21, - 0xd0fc0464, - 0xf500d6b0, - 0xf000b31b, - 0x76bb0057, - 0x0465b600, - 0x659450f9, - 0x0256bb04, - 0x75fd50bd, - 0xf550fc04, - 0xb607e721, - 0x11f50464, - 0xc5c700d0, - 0x0076bbe0, + 0xbb0f11f4, + 0x36b00076, + 0x061bf401, +/* 0x0807: i2c_put_byte_done */ + 0xf80132f4, +/* 0x0809: i2c_addr */ + 0x0076bb00, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b6078c, - 0xad11f504, - 0x0157f000, + 0x64b60645, + 0x2911f404, + 0x012ec3e7, + 0xfd0134b6, + 0x76bb0553, + 0x0465b600, + 0x659450f9, + 0x0256bb04, + 0x75fd50bd, + 0xf550fc04, + 0xb607ae21, +/* 0x084e: i2c_addr_done */ + 0x00f80464, +/* 0x0850: i2c_acquire_addr */ + 0xb6f8cec7, + 0xe0b705e4, + 0x00f8d014, +/* 0x085c: i2c_acquire */ + 0x085021f5, + 0xf00421f4, + 0x21f403d9, +/* 0x086b: i2c_release */ + 0xf500f833, + 0xf4085021, + 0xdaf00421, + 0x3321f403, +/* 0x087a: i2c_recv */ + 0x32f400f8, + 0xf8c1c701, + 0xb00214b6, + 0x1ff52816, + 0x13a0013a, + 0x32980be8, + 0xc013a000, + 0x0031980b, + 0xf90231f4, + 0xf9e0f9d0, + 0x0067f1d0, + 0x0063f100, + 0x01679210, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0xe721f550, - 0x0464b607, - 0x008a11f5, + 0x5c21f550, + 0x0464b608, + 0xd6b0d0fc, + 0xb31bf500, + 0x0057f000, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x3a21f550, - 0x0464b607, - 0xcb6a11f4, - 0x76bbe05b, + 0x0921f550, + 0x0464b608, + 0x00d011f5, + 0xbbe0c5c7, + 0x65b60076, + 0x9450f904, + 0x56bb0465, + 0xfd50bd02, + 0x50fc0475, + 0x07ae21f5, + 0xf50464b6, + 0xf000ad11, + 0x76bb0157, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6067f21, - 0x5bb90464, - 0xf474bd02, -/* 0x095e: i2c_recv_not_rd08 */ - 0xd6b0430e, - 0x3d1bf401, - 0xf50057f0, - 0xf407e721, - 0xc5c73311, - 0x8c21f5e0, - 0x2911f407, - 0xf50057f0, - 0xf407e721, - 0xb5c71f11, - 0x8c21f5e0, - 0x1511f407, - 0x067f21f5, - 0xc5c774bd, - 0x091bf408, - 0xf40232f4, -/* 0x099e: i2c_recv_not_wr08 */ -/* 0x099e: i2c_recv_done */ - 0xcec7030e, - 0x4921f5f8, - 0xfce0fc08, - 0x0a12f4d0, - 0xf5027cb9, -/* 0x09b3: i2c_recv_exit */ - 0xf802f121, -/* 0x09b5: i2c_init */ -/* 0x09b7: test_recv */ - 0xf100f800, - 0xcf05d817, - 0x10b60011, - 0xd807f101, - 0x0001d005, - 0xe7f104bd, - 0xe3f1d900, - 0x21f5134f, - 0x00f80223, -/* 0x09d8: test_init */ - 0x0800e7f1, + 0xb6080921, + 0x11f50464, + 0x76bb008a, + 0x0465b600, + 0x659450f9, + 0x0256bb04, + 0x75fd50bd, + 0xf550fc04, + 0xb6075c21, + 0x11f40464, + 0xe05bcb6a, + 0xb60076bb, + 0x50f90465, + 0xbb046594, + 0x50bd0256, + 0xfc0475fd, + 0xa121f550, + 0x0464b606, + 0xbd025bb9, + 0x430ef474, +/* 0x0980: i2c_recv_not_rd08 */ + 0xf401d6b0, + 0x57f03d1b, + 0x0921f500, + 0x3311f408, + 0xf5e0c5c7, + 0xf407ae21, + 0x57f02911, + 0x0921f500, + 0x1f11f408, + 0xf5e0b5c7, + 0xf407ae21, + 0x21f51511, + 0x74bd06a1, + 0xf408c5c7, + 0x32f4091b, + 0x030ef402, +/* 0x09c0: i2c_recv_not_wr08 */ +/* 0x09c0: i2c_recv_done */ + 0xf5f8cec7, + 0xfc086b21, + 0xf4d0fce0, + 0x7cb90a12, + 0xf121f502, +/* 0x09d5: i2c_recv_exit */ +/* 0x09d7: i2c_init */ + 0xf800f802, +/* 0x09d9: test_recv */ + 0xd817f100, + 0x0011cf05, + 0xf10110b6, + 0xd005d807, + 0x04bd0001, + 0xd900e7f1, + 0x134fe3f1, 0x022321f5, -/* 0x09e2: idle_recv */ - 0x00f800f8, -/* 0x09e4: idle */ - 0xf10031f4, - 0xcf05d417, - 0x10b60011, - 0xd407f101, - 0x0001d005, -/* 0x09fa: idle_loop */ - 0x17f004bd, - 0x0232f458, -/* 0x0a00: idle_proc */ -/* 0x0a00: idle_proc_exec */ - 0x1eb910f9, - 0xfa21f502, - 0xf410fc02, - 0x31f40911, - 0xef0ef402, -/* 0x0a14: idle_proc_next */ - 0xb85810b6, - 0x1bf4061f, - 0xdd02f4e6, - 0xf40028f4, - 0x0000c10e, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, +/* 0x09fa: test_init */ + 0xe7f100f8, + 0x21f50800, + 0x00f80223, +/* 0x0a04: idle_recv */ +/* 0x0a06: idle */ + 0x31f400f8, + 0xd417f100, + 0x0011cf05, + 0xf10110b6, + 0xd005d407, + 0x04bd0001, +/* 0x0a1c: idle_loop */ + 0xf45817f0, +/* 0x0a22: idle_proc */ +/* 0x0a22: idle_proc_exec */ + 0x10f90232, + 0xf5021eb9, + 0xfc02fa21, + 0x0911f410, + 0xf40231f4, +/* 0x0a36: idle_proc_next */ + 0x10b6ef0e, + 0x061fb858, + 0xf4e61bf4, + 0x28f4dd02, + 0xc10ef400, 0x00000000, 0x00000000, 0x00000000, diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/memx.c b/drivers/gpu/drm/nouveau/core/subdev/pwr/memx.c index fa6aae3c29e9..8edd411426dd 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/pwr/memx.c +++ b/drivers/gpu/drm/nouveau/core/subdev/pwr/memx.c @@ -86,6 +86,8 @@ nouveau_memx_fini(struct nouveau_memx **pmemx, bool exec) memx->base, finish); } + nv_debug(memx->ppwr, "Exec took %uns, PPWR_IN %08x\n", + reply[0], reply[1]); kfree(memx); return 0; } -- 2.30.2