From 4417be553c348540ec2c8acd423af2ec8e87cde5 Mon Sep 17 00:00:00 2001 From: Martin Peres Date: Sun, 17 Aug 2014 17:33:14 +0200 Subject: [PATCH] drm/nouveau/pwr/fuc: make $r1-$r10 registers callee-saved in kernel.fuc Signed-off-by: Ben Skeggs --- .../nouveau/core/subdev/pwr/fuc/kernel.fuc | 13 + .../nouveau/core/subdev/pwr/fuc/nv108.fuc.h | 372 +++++++++--------- .../nouveau/core/subdev/pwr/fuc/nva3.fuc.h | 368 ++++++++--------- .../nouveau/core/subdev/pwr/fuc/nvc0.fuc.h | 368 ++++++++--------- .../nouveau/core/subdev/pwr/fuc/nvd0.fuc.h | 366 ++++++++--------- 5 files changed, 750 insertions(+), 737 deletions(-) diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/kernel.fuc b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/kernel.fuc index 54276c9d0800..5cf5be63cbef 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/kernel.fuc +++ b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/kernel.fuc @@ -98,12 +98,16 @@ wr32: // $r14 - ns // $r0 - zero nsec: + push $r9 + push $r8 nv_iord($r8, NV_PPWR_TIMER_LOW) nsec_loop: nv_iord($r9, NV_PPWR_TIMER_LOW) sub b32 $r9 $r8 cmp b32 $r9 $r14 bra l #nsec_loop + pop $r8 + pop $r9 ret // busy-wait for a period of time @@ -115,6 +119,8 @@ nsec: // $r11 - timeout (ns) // $r0 - zero wait: + push $r9 + push $r8 nv_iord($r8, NV_PPWR_TIMER_LOW) wait_loop: nv_rd32($r10, $r14) @@ -126,6 +132,8 @@ wait: cmp b32 $r9 $r11 bra l #wait_loop wait_done: + pop $r8 + pop $r9 ret // $r15 - current (kern) @@ -460,6 +468,9 @@ send: // $r14 - process // $r0 - zero recv: + push $r9 + push $r8 + ld b32 $r8 D[$r14 + #proc_qget] ld b32 $r9 D[$r14 + #proc_qput] bclr $flags $p1 @@ -492,6 +503,8 @@ recv: bset $flags $p1 pop $r15 recv_done: + pop $r8 + pop $r9 ret init: 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 fe8dd23f5e3b..a9d8ba63df64 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 @@ -24,8 +24,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, /* 0x0058: proc_list_head */ 0x54534f48, - 0x0000043b, - 0x000003ec, + 0x00000453, + 0x00000404, 0x00000000, 0x00000000, 0x00000000, @@ -46,8 +46,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x00000526, - 0x00000518, + 0x0000053e, + 0x00000530, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x0000052a, - 0x00000528, + 0x00000542, + 0x00000540, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x0000092e, - 0x000007d5, + 0x00000946, + 0x000007ed, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x0000094f, - 0x00000930, + 0x00000967, + 0x00000948, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x0000095a, - 0x00000958, + 0x00000972, + 0x00000970, 0x00000000, 0x00000000, 0x00000000, @@ -229,20 +229,20 @@ uint32_t nv108_pwr_data[] = { /* 0x0370: memx_func_head */ 0x00010000, 0x00000000, - 0x0000046b, + 0x00000483, /* 0x037c: memx_func_next */ 0x00000001, 0x00000000, - 0x00000489, - 0x00000002, - 0x00000002, 0x000004a1, + 0x00000002, + 0x00000002, + 0x000004b9, 0x00040003, 0x00000000, - 0x000004be, + 0x000004d6, 0x00010004, 0x00000000, - 0x000004d8, + 0x000004f0, /* 0x03ac: memx_func_tail */ /* 0x03ac: memx_data_head */ 0x00000000, @@ -784,7 +784,7 @@ uint32_t nv108_pwr_data[] = { }; uint32_t nv108_pwr_code[] = { - 0x03040ef5, + 0x031c0ef5, /* 0x0004: rd32 */ 0xf607a040, 0x04bd000e, @@ -812,15 +812,18 @@ uint32_t nv108_pwr_code[] = { 0x7000d4f1, 0xf8f61bf4, /* 0x005d: nsec */ - 0xcf2c0800, -/* 0x0062: nsec_loop */ + 0xf990f900, + 0xcf2c0880, +/* 0x0066: nsec_loop */ 0x2c090088, 0xbb0099cf, 0x9ea60298, - 0xf8f61ef4, -/* 0x0071: wait */ - 0xcf2c0800, -/* 0x0076: wait_loop */ + 0xfcf61ef4, + 0xf890fc80, +/* 0x0079: wait */ + 0xf990f900, + 0xcf2c0880, +/* 0x0082: wait_loop */ 0xeeb20088, 0x0000047e, 0xadfddab2, @@ -828,28 +831,29 @@ uint32_t nv108_pwr_code[] = { 0x2c09100b, 0xbb0099cf, 0x9ba60298, -/* 0x0093: wait_done */ - 0xf8e61ef4, -/* 0x0095: intr_watchdog */ +/* 0x009f: wait_done */ + 0xfce61ef4, + 0xf890fc80, +/* 0x00a5: intr_watchdog */ 0x03e99800, 0xf40096b0, 0x0a98280b, 0x029abb9a, 0x0d0e1cf4, - 0x02517e01, + 0x02617e01, 0xf494bd00, -/* 0x00b2: intr_watchdog_next_time */ +/* 0x00c2: intr_watchdog_next_time */ 0x0a98140e, 0x00a6b09b, 0xa6080bf4, 0x061cf49a, -/* 0x00c0: intr_watchdog_next_time_set */ -/* 0x00c3: intr_watchdog_next_proc */ +/* 0x00d0: intr_watchdog_next_time_set */ +/* 0x00d3: intr_watchdog_next_proc */ 0xb59b09b5, 0xe0b603e9, 0x68e6b158, 0xc81bf402, -/* 0x00d2: intr */ +/* 0x00e2: intr */ 0x00f900f8, 0x80f904bd, 0xa0f990f9, @@ -865,13 +869,13 @@ uint32_t nv108_pwr_code[] = { 0xc40088cf, 0x0bf40289, 0x9b00b51f, - 0x957e580e, + 0xa57e580e, 0x09980000, 0x0096b09b, 0x000d0bf4, 0x0009f634, 0x09b504bd, -/* 0x0125: intr_skip_watchdog */ +/* 0x0135: intr_skip_watchdog */ 0x0089e49a, 0x360bf408, 0xcf068849, @@ -881,20 +885,20 @@ uint32_t nv108_pwr_code[] = { 0xc0f900cc, 0xf14f484e, 0x0d5453e3, - 0x02b27e00, + 0x02c27e00, 0x40c0fc00, 0x0cf604c0, -/* 0x0157: intr_subintr_skip_fifo */ +/* 0x0167: intr_subintr_skip_fifo */ 0x4004bd00, 0x09f60688, -/* 0x015f: intr_skip_subintr */ +/* 0x016f: intr_skip_subintr */ 0xc404bd00, 0x0bf42089, 0xbfa4f107, -/* 0x0169: intr_skip_pause */ +/* 0x0179: intr_skip_pause */ 0x4089c4ff, 0xf1070bf4, -/* 0x0173: intr_skip_user0 */ +/* 0x0183: intr_skip_user0 */ 0x00ffbfa4, 0x0008f604, 0x80fc04bd, @@ -904,35 +908,35 @@ uint32_t nv108_pwr_code[] = { 0xfca0fcb0, 0xfc80fc90, 0x0032f400, -/* 0x0196: ticks_from_ns */ +/* 0x01a6: ticks_from_ns */ 0xc0f901f8, 0xd7f1b0f9, 0xd3f00144, - 0x5f21f500, + 0x7721f500, 0xe8ccec03, 0x00b4b003, 0xec120bf4, 0xf103e8ee, 0xf00144d7, 0x21f500d3, -/* 0x01be: ticks_from_ns_quit */ - 0xceb2035f, +/* 0x01ce: ticks_from_ns_quit */ + 0xceb20377, 0xc0fcb0fc, -/* 0x01c6: ticks_from_us */ +/* 0x01d6: ticks_from_us */ 0xc0f900f8, 0xd7f1b0f9, 0xd3f00144, - 0x5f21f500, + 0x7721f500, 0xb0ceb203, 0x0bf400b4, -/* 0x01df: ticks_from_us_quit */ +/* 0x01ef: ticks_from_us_quit */ 0xfce4bd05, 0xf8c0fcb0, -/* 0x01e5: ticks_to_us */ +/* 0x01f5: ticks_to_us */ 0x44d7f100, 0x00d3f001, 0xf8ecedff, -/* 0x01f1: timer */ +/* 0x0201: timer */ 0xf990f900, 0x1032f480, 0xb003f898, @@ -950,17 +954,17 @@ uint32_t nv108_pwr_code[] = { 0xa60088cf, 0x080bf4e0, 0x1cf4e8a6, -/* 0x0235: timer_reset */ +/* 0x0245: timer_reset */ 0xf634000d, 0x04bd000e, -/* 0x023f: timer_enable */ +/* 0x024f: timer_enable */ 0x089a0eb5, 0xf6380001, 0x04bd0008, -/* 0x0248: timer_done */ +/* 0x0258: timer_done */ 0xfc1031f4, 0xf890fc80, -/* 0x0251: send_proc */ +/* 0x0261: send_proc */ 0xf980f900, 0x05e89890, 0xf004e998, @@ -975,25 +979,26 @@ uint32_t nv108_pwr_code[] = { 0x90b6038b, 0x0794f001, 0xf404e9b5, -/* 0x028a: send_done */ +/* 0x029a: send_done */ 0x90fc0231, 0x00f880fc, -/* 0x0290: find */ +/* 0x02a0: find */ 0x580880f9, -/* 0x0297: find_loop */ +/* 0x02a7: find_loop */ 0x980131f4, 0xaea6008a, 0xb6100bf4, 0x86b15880, 0x1bf40268, 0x0132f4f1, -/* 0x02ac: find_done */ +/* 0x02bc: find_done */ 0x80fc8eb2, -/* 0x02b2: send */ - 0x907e00f8, +/* 0x02c2: send */ + 0xa07e00f8, 0x01f40002, -/* 0x02bb: recv */ - 0x9800f89b, +/* 0x02cb: recv */ + 0xf900f89b, + 0x9880f990, 0xe99805e8, 0x0132f404, 0x0bf489a6, @@ -1011,9 +1016,10 @@ uint32_t nv108_pwr_code[] = { 0xa5f900ee, 0xf8fef0fc, 0x0131f400, -/* 0x0302: recv_done */ - 0x00f8f0fc, -/* 0x0304: init */ +/* 0x0316: recv_done */ + 0x80fcf0fc, + 0x00f890fc, +/* 0x031c: init */ 0xcf010841, 0x11e70011, 0x14b60109, @@ -1027,17 +1033,17 @@ uint32_t nv108_pwr_code[] = { 0x080015f1, 0x01f61000, 0x4104bd00, - 0x13f000d2, + 0x13f000e2, 0x0010fe00, 0x011031f4, 0xf6380001, 0x04bd0001, -/* 0x034e: init_proc */ +/* 0x0366: init_proc */ 0xf198580f, 0x0016b001, 0xf9fa0bf4, 0x58f0b615, -/* 0x035f: mulu32_32_64 */ +/* 0x0377: mulu32_32_64 */ 0xf9f20ef4, 0xf920f910, 0x9540f930, @@ -1058,7 +1064,7 @@ uint32_t nv108_pwr_code[] = { 0x00b3bb30, 0x30fc40fc, 0x10fc20fc, -/* 0x03ae: host_send */ +/* 0x03c6: host_send */ 0xb04100f8, 0x0011cf04, 0xcf04a042, @@ -1069,18 +1075,18 @@ uint32_t nv108_pwr_code[] = { 0x03eb9802, 0x9802ec98, 0xee9801ed, - 0x02b27e00, + 0x02c27e00, 0x0110b600, 0x400f1ec4, 0x0ef604b0, 0xf404bd00, -/* 0x03ea: host_send_done */ +/* 0x0402: host_send_done */ 0x00f8c70e, -/* 0x03ec: host_recv */ +/* 0x0404: host_recv */ 0xf14e4941, 0xa6525413, 0xb90bf4e1, -/* 0x03f8: host_recv_wait */ +/* 0x0410: host_recv_wait */ 0xcf04cc41, 0xc8420011, 0x0022cf04, @@ -1097,7 +1103,7 @@ uint32_t nv108_pwr_code[] = { 0x04bd0002, 0x00004002, 0xbd0002f6, -/* 0x043b: host_init */ +/* 0x0453: host_init */ 0x4100f804, 0x14b60080, 0x7015f110, @@ -1110,25 +1116,25 @@ uint32_t nv108_pwr_code[] = { 0x0104bd00, 0x04c44001, 0xbd0001f6, -/* 0x046b: memx_func_enter */ +/* 0x0483: memx_func_enter */ 0x0600f804, 0x07e04004, 0xbd0006f6, -/* 0x0475: memx_func_enter_wait */ +/* 0x048d: memx_func_enter_wait */ 0x07c04604, 0xf00066cf, 0x0bf40464, 0x001698f7, 0xf80410b6, -/* 0x0489: memx_func_leave */ +/* 0x04a1: memx_func_leave */ 0x40040600, 0x06f607e4, -/* 0x0493: memx_func_leave_wait */ +/* 0x04ab: memx_func_leave_wait */ 0x4604bd00, 0x66cf07c0, 0x0464f000, 0xf8f71bf4, -/* 0x04a1: memx_func_wr32 */ +/* 0x04b9: memx_func_wr32 */ 0x00169800, 0xb6011598, 0x60f90810, @@ -1136,126 +1142,126 @@ uint32_t nv108_pwr_code[] = { 0x2e7ee0fc, 0x42b60000, 0xe81bf402, -/* 0x04be: memx_func_wait */ +/* 0x04d6: memx_func_wait */ 0x2c0800f8, 0x980088cf, 0x1d98001e, 0x021c9801, 0xb6031b98, - 0x717e1010, + 0x797e1010, 0x00f80000, -/* 0x04d8: memx_func_delay */ +/* 0x04f0: memx_func_delay */ 0xb6001e98, 0x5d7e0410, 0x00f80000, -/* 0x04e4: memx_exec */ +/* 0x04fc: memx_exec */ 0xd0f9e0f9, 0xb2b2c1b2, -/* 0x04ec: memx_exec_next */ +/* 0x0504: memx_exec_next */ 0xb6001398, 0x34950410, 0x0c30f010, 0xf9de3598, 0xf412a655, 0xd0fced1e, - 0xb27ee0fc, + 0xc27ee0fc, 0x00f80002, -/* 0x050c: memx_info */ +/* 0x0524: memx_info */ 0x4b03ac4c, - 0xb27e0800, + 0xc27e0800, 0x00f80002, -/* 0x0518: memx_recv */ +/* 0x0530: memx_recv */ 0xf401d6b0, 0xd6b0c90b, 0xeb0bf400, -/* 0x0526: memx_init */ +/* 0x053e: memx_init */ 0x00f800f8, -/* 0x0528: perf_recv */ -/* 0x052a: perf_init */ +/* 0x0540: perf_recv */ +/* 0x0542: perf_init */ 0x00f800f8, -/* 0x052c: i2c_drive_scl */ +/* 0x0544: i2c_drive_scl */ 0xf40036b0, 0xe0400d0b, 0x0001f607, 0x00f804bd, -/* 0x053c: i2c_drive_scl_lo */ +/* 0x0554: i2c_drive_scl_lo */ 0xf607e440, 0x04bd0001, -/* 0x0546: i2c_drive_sda */ +/* 0x055e: i2c_drive_sda */ 0x36b000f8, 0x0d0bf400, 0xf607e040, 0x04bd0002, -/* 0x0556: i2c_drive_sda_lo */ +/* 0x056e: i2c_drive_sda_lo */ 0xe44000f8, 0x0002f607, 0x00f804bd, -/* 0x0560: i2c_sense_scl */ +/* 0x0578: i2c_sense_scl */ 0x430132f4, 0x33cf07c4, 0x0431fd00, 0xf4060bf4, -/* 0x0572: i2c_sense_scl_done */ +/* 0x058a: i2c_sense_scl_done */ 0x00f80131, -/* 0x0574: i2c_sense_sda */ +/* 0x058c: i2c_sense_sda */ 0x430132f4, 0x33cf07c4, 0x0432fd00, 0xf4060bf4, -/* 0x0586: i2c_sense_sda_done */ +/* 0x059e: i2c_sense_sda_done */ 0x00f80131, -/* 0x0588: i2c_raise_scl */ +/* 0x05a0: i2c_raise_scl */ 0x984440f9, 0x7e010308, -/* 0x0593: i2c_raise_scl_wait */ - 0x4e00052c, +/* 0x05ab: i2c_raise_scl_wait */ + 0x4e000544, 0x5d7e03e8, - 0x607e0000, + 0x787e0000, 0x01f40005, 0x0142b609, -/* 0x05a7: i2c_raise_scl_done */ +/* 0x05bf: i2c_raise_scl_done */ 0xfcef1bf4, -/* 0x05ab: i2c_start */ +/* 0x05c3: i2c_start */ 0x7e00f840, - 0xf4000560, - 0x747e0d11, + 0xf4000578, + 0x8c7e0d11, 0x11f40005, 0x2e0ef406, -/* 0x05bc: i2c_start_rep */ - 0x2c7e0003, +/* 0x05d4: i2c_start_rep */ + 0x447e0003, 0x01030005, - 0x0005467e, + 0x00055e7e, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x05887e50, + 0x05a07e50, 0x0464b600, -/* 0x05e7: i2c_start_send */ +/* 0x05ff: i2c_start_send */ 0x031d11f4, - 0x05467e00, + 0x055e7e00, 0x13884e00, 0x00005d7e, - 0x2c7e0003, + 0x447e0003, 0x884e0005, 0x005d7e13, -/* 0x0601: i2c_start_out */ -/* 0x0603: i2c_stop */ +/* 0x0619: i2c_start_out */ +/* 0x061b: i2c_stop */ 0x0300f800, - 0x052c7e00, + 0x05447e00, 0x7e000300, - 0x4e000546, + 0x4e00055e, 0x5d7e03e8, 0x01030000, - 0x00052c7e, + 0x0005447e, 0x7e13884e, 0x0300005d, - 0x05467e01, + 0x055e7e01, 0x13884e00, 0x00005d7e, -/* 0x0632: i2c_bitw */ - 0x467e00f8, +/* 0x064a: i2c_bitw */ + 0x5e7e00f8, 0xe84e0005, 0x005d7e03, 0x0076bb00, @@ -1263,18 +1269,18 @@ uint32_t nv108_pwr_code[] = { 0x04659450, 0xbd0256bb, 0x0475fd50, - 0x887e50fc, + 0xa07e50fc, 0x64b60005, 0x1711f404, 0x7e13884e, 0x0300005d, - 0x052c7e00, + 0x05447e00, 0x13884e00, 0x00005d7e, -/* 0x0670: i2c_bitw_out */ -/* 0x0672: i2c_bitr */ +/* 0x0688: i2c_bitw_out */ +/* 0x068a: i2c_bitr */ 0x010300f8, - 0x0005467e, + 0x00055e7e, 0x7e03e84e, 0xbb00005d, 0x65b60076, @@ -1282,18 +1288,18 @@ uint32_t nv108_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x0005887e, + 0x0005a07e, 0xf40464b6, - 0x747e1a11, + 0x8c7e1a11, 0x00030005, - 0x00052c7e, + 0x0005447e, 0x7e13884e, 0xf000005d, 0x31f4013c, -/* 0x06b5: i2c_bitr_done */ -/* 0x06b7: i2c_get_byte */ +/* 0x06cd: i2c_bitr_done */ +/* 0x06cf: i2c_get_byte */ 0x0500f801, -/* 0x06bb: i2c_get_byte_next */ +/* 0x06d3: i2c_get_byte_next */ 0xb6080400, 0x76bb0154, 0x0465b600, @@ -1301,7 +1307,7 @@ uint32_t nv108_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb6000672, + 0xb600068a, 0x11f40464, 0x0553fd2a, 0xf40142b6, @@ -1311,12 +1317,12 @@ uint32_t nv108_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x06327e50, + 0x064a7e50, 0x0464b600, -/* 0x0704: i2c_get_byte_done */ -/* 0x0706: i2c_put_byte */ +/* 0x071c: i2c_get_byte_done */ +/* 0x071e: i2c_put_byte */ 0x080400f8, -/* 0x0708: i2c_put_byte_next */ +/* 0x0720: i2c_put_byte_next */ 0xff0142b6, 0x76bb3854, 0x0465b600, @@ -1324,7 +1330,7 @@ uint32_t nv108_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb6000632, + 0xb600064a, 0x11f40464, 0x0046b034, 0xbbd81bf4, @@ -1333,20 +1339,20 @@ uint32_t nv108_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x0006727e, + 0x00068a7e, 0xf40464b6, 0x76bb0f11, 0x0136b000, 0xf4061bf4, -/* 0x075e: i2c_put_byte_done */ +/* 0x0776: i2c_put_byte_done */ 0x00f80132, -/* 0x0760: i2c_addr */ +/* 0x0778: i2c_addr */ 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x05ab7e50, + 0x05c37e50, 0x0464b600, 0xe72911f4, 0xb6012ec3, @@ -1356,25 +1362,25 @@ uint32_t nv108_pwr_code[] = { 0x04659450, 0xbd0256bb, 0x0475fd50, - 0x067e50fc, + 0x1e7e50fc, 0x64b60007, -/* 0x07a5: i2c_addr_done */ -/* 0x07a7: i2c_acquire_addr */ +/* 0x07bd: i2c_addr_done */ +/* 0x07bf: i2c_acquire_addr */ 0xc700f804, 0xe4b6f8ce, 0x14e0b705, -/* 0x07b3: i2c_acquire */ +/* 0x07cb: i2c_acquire */ 0x7e00f8d0, - 0x7e0007a7, + 0x7e0007bf, 0xf0000004, 0x2e7e03d9, 0x00f80000, -/* 0x07c4: i2c_release */ - 0x0007a77e, +/* 0x07dc: i2c_release */ + 0x0007bf7e, 0x0000047e, 0x7e03daf0, 0xf800002e, -/* 0x07d5: i2c_recv */ +/* 0x07ed: i2c_recv */ 0x0132f400, 0xb6f8c1c7, 0x16b00214, @@ -1393,7 +1399,7 @@ uint32_t nv108_pwr_code[] = { 0x04659450, 0xbd0256bb, 0x0475fd50, - 0xb37e50fc, + 0xcb7e50fc, 0x64b60007, 0xb0d0fc04, 0x1bf500d6, @@ -1403,7 +1409,7 @@ uint32_t nv108_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x07607e50, + 0x07787e50, 0x0464b600, 0x00cc11f5, 0xbbe0c5c7, @@ -1412,7 +1418,7 @@ uint32_t nv108_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x0007067e, + 0x00071e7e, 0xf50464b6, 0x0500a911, 0x0076bb01, @@ -1420,7 +1426,7 @@ uint32_t nv108_pwr_code[] = { 0x04659450, 0xbd0256bb, 0x0475fd50, - 0x607e50fc, + 0x787e50fc, 0x64b60007, 0x8711f504, 0x0076bb00, @@ -1428,7 +1434,7 @@ uint32_t nv108_pwr_code[] = { 0x04659450, 0xbd0256bb, 0x0475fd50, - 0xb77e50fc, + 0xcf7e50fc, 0x64b60006, 0x6711f404, 0xbbe05bcb, @@ -1437,65 +1443,65 @@ uint32_t nv108_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x0006037e, + 0x00061b7e, 0xb20464b6, 0xf474bd5b, -/* 0x08da: i2c_recv_not_rd08 */ +/* 0x08f2: i2c_recv_not_rd08 */ 0xd6b0410e, 0x3b1bf401, - 0x607e0005, + 0x787e0005, 0x11f40007, 0xe0c5c732, - 0x0007067e, + 0x00071e7e, 0x052811f4, - 0x07607e00, + 0x07787e00, 0x1f11f400, 0x7ee0b5c7, - 0xf4000706, - 0x037e1511, + 0xf400071e, + 0x1b7e1511, 0x74bd0006, 0xf408c5c7, 0x32f4091b, 0x030ef402, -/* 0x0918: i2c_recv_not_wr08 */ -/* 0x0918: i2c_recv_done */ +/* 0x0930: i2c_recv_not_wr08 */ +/* 0x0930: i2c_recv_done */ 0x7ef8cec7, - 0xfc0007c4, + 0xfc0007dc, 0xf4d0fce0, 0x7cb20912, - 0x0002b27e, -/* 0x092c: i2c_recv_exit */ -/* 0x092e: i2c_init */ + 0x0002c27e, +/* 0x0944: i2c_recv_exit */ +/* 0x0946: i2c_init */ 0x00f800f8, -/* 0x0930: test_recv */ +/* 0x0948: test_recv */ 0xcf045841, 0x10b60011, 0x04584001, 0xbd0001f6, 0x00e7f104, 0x4fe3f1d9, - 0x01f17e13, -/* 0x094f: test_init */ + 0x02017e13, +/* 0x0967: test_init */ 0x4e00f800, - 0xf17e0800, - 0x00f80001, -/* 0x0958: idle_recv */ -/* 0x095a: idle */ + 0x017e0800, + 0x00f80002, +/* 0x0970: idle_recv */ +/* 0x0972: idle */ 0x31f400f8, 0x04544100, 0xb60011cf, 0x54400110, 0x0001f604, -/* 0x096e: idle_loop */ +/* 0x0986: idle_loop */ 0x580104bd, -/* 0x0973: idle_proc */ -/* 0x0973: idle_proc_exec */ +/* 0x098b: idle_proc */ +/* 0x098b: idle_proc_exec */ 0xf90232f4, 0x7e1eb210, - 0xfc0002bb, + 0xfc0002cb, 0x0911f410, 0xf40231f4, -/* 0x0986: idle_proc_next */ +/* 0x099e: idle_proc_next */ 0x10b6f00e, 0xf41fa658, 0x02f4e81b, @@ -1521,10 +1527,4 @@ uint32_t nv108_pwr_code[] = { 0x00000000, 0x00000000, 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 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 8e2ddd9ae9ff..21000e508a6a 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 @@ -24,8 +24,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, /* 0x0058: proc_list_head */ 0x54534f48, - 0x000004fa, - 0x00000497, + 0x00000512, + 0x000004af, 0x00000000, 0x00000000, 0x00000000, @@ -46,8 +46,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x0000060c, - 0x000005fe, + 0x00000624, + 0x00000616, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x00000610, - 0x0000060e, + 0x00000628, + 0x00000626, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x00000a40, - 0x000008e3, + 0x00000a58, + 0x000008fb, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x00000a69, - 0x00000a42, + 0x00000a81, + 0x00000a5a, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nva3_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x00000a75, - 0x00000a73, + 0x00000a8d, + 0x00000a8b, 0x00000000, 0x00000000, 0x00000000, @@ -229,20 +229,20 @@ uint32_t nva3_pwr_data[] = { /* 0x0370: memx_func_head */ 0x00010000, 0x00000000, - 0x00000539, + 0x00000551, /* 0x037c: memx_func_next */ 0x00000001, 0x00000000, - 0x00000560, + 0x00000578, 0x00000002, 0x00000002, - 0x00000581, + 0x00000599, 0x00040003, 0x00000000, - 0x0000059d, + 0x000005b5, 0x00010004, 0x00000000, - 0x000005ba, + 0x000005d2, /* 0x03ac: memx_func_tail */ /* 0x03ac: memx_data_head */ 0x00000000, @@ -849,7 +849,7 @@ uint32_t nva3_pwr_data[] = { }; uint32_t nva3_pwr_code[] = { - 0x03860ef5, + 0x039e0ef5, /* 0x0004: rd32 */ 0x07a007f1, 0xd00604b6, @@ -885,19 +885,22 @@ uint32_t nva3_pwr_code[] = { 0xd4f100dd, 0x1bf47000, /* 0x007f: nsec */ - 0xf000f8f2, + 0xf900f8f2, + 0xf080f990, 0x84b62c87, 0x0088cf06, -/* 0x0088: nsec_loop */ +/* 0x008c: nsec_loop */ 0xb62c97f0, 0x99cf0694, 0x0298bb00, 0xf4069eb8, - 0x00f8f11e, -/* 0x009c: wait */ + 0x80fcf11e, + 0x00f890fc, +/* 0x00a4: wait */ + 0x80f990f9, 0xb62c87f0, 0x88cf0684, -/* 0x00a5: wait_loop */ +/* 0x00b1: wait_loop */ 0x02eeb900, 0xb90421f4, 0xadfd02da, @@ -907,28 +910,29 @@ uint32_t nva3_pwr_code[] = { 0x0099cf06, 0xb80298bb, 0x1ef4069b, -/* 0x00c9: wait_done */ -/* 0x00cb: intr_watchdog */ - 0x9800f8df, +/* 0x00d5: wait_done */ + 0xfc80fcdf, +/* 0x00db: intr_watchdog */ + 0x9800f890, 0x96b003e9, 0x2a0bf400, 0xbb9a0a98, 0x1cf4029a, 0x01d7f00f, - 0x02cd21f5, + 0x02dd21f5, 0x0ef494bd, -/* 0x00e9: intr_watchdog_next_time */ +/* 0x00f9: intr_watchdog_next_time */ 0x9b0a9815, 0xf400a6b0, 0x9ab8090b, 0x061cf406, -/* 0x00f8: intr_watchdog_next_time_set */ -/* 0x00fb: intr_watchdog_next_proc */ +/* 0x0108: intr_watchdog_next_time_set */ +/* 0x010b: intr_watchdog_next_proc */ 0x809b0980, 0xe0b603e9, 0x68e6b158, 0xc61bf402, -/* 0x010a: intr */ +/* 0x011a: intr */ 0x00f900f8, 0x80f904bd, 0xa0f990f9, @@ -948,13 +952,13 @@ uint32_t nva3_pwr_code[] = { 0xf40289c4, 0x0080230b, 0x58e7f09b, - 0x98cb21f4, + 0x98db21f4, 0x96b09b09, 0x110bf400, 0xb63407f0, 0x09d00604, 0x8004bd00, -/* 0x016e: intr_skip_watchdog */ +/* 0x017e: intr_skip_watchdog */ 0x89e49a09, 0x0bf40800, 0x8897f148, @@ -967,22 +971,22 @@ uint32_t nva3_pwr_code[] = { 0x48e7f1c0, 0x53e3f14f, 0x00d7f054, - 0x033221f5, + 0x034221f5, 0x07f1c0fc, 0x04b604c0, 0x000cd006, -/* 0x01ae: intr_subintr_skip_fifo */ +/* 0x01be: intr_subintr_skip_fifo */ 0x07f104bd, 0x04b60688, 0x0009d006, -/* 0x01ba: intr_skip_subintr */ +/* 0x01ca: intr_skip_subintr */ 0x89c404bd, 0x070bf420, 0xffbfa4f1, -/* 0x01c4: intr_skip_pause */ +/* 0x01d4: intr_skip_pause */ 0xf44089c4, 0xa4f1070b, -/* 0x01ce: intr_skip_user0 */ +/* 0x01de: intr_skip_user0 */ 0x07f0ffbf, 0x0604b604, 0xbd0008d0, @@ -993,35 +997,35 @@ uint32_t nva3_pwr_code[] = { 0x90fca0fc, 0x00fc80fc, 0xf80032f4, -/* 0x01f5: ticks_from_ns */ +/* 0x0205: ticks_from_ns */ 0xf9c0f901, 0xcbd7f1b0, 0x00d3f000, - 0x03fb21f5, + 0x041321f5, 0x03e8ccec, 0xf400b4b0, 0xeeec120b, 0xd7f103e8, 0xd3f000cb, - 0xfb21f500, -/* 0x021d: ticks_from_ns_quit */ - 0x02ceb903, + 0x1321f500, +/* 0x022d: ticks_from_ns_quit */ + 0x02ceb904, 0xc0fcb0fc, -/* 0x0226: ticks_from_us */ +/* 0x0236: ticks_from_us */ 0xc0f900f8, 0xd7f1b0f9, 0xd3f000cb, - 0xfb21f500, - 0x02ceb903, + 0x1321f500, + 0x02ceb904, 0xf400b4b0, 0xe4bd050b, -/* 0x0240: ticks_from_us_quit */ +/* 0x0250: ticks_from_us_quit */ 0xc0fcb0fc, -/* 0x0246: ticks_to_us */ +/* 0x0256: ticks_to_us */ 0xd7f100f8, 0xd3f000cb, 0xecedff00, -/* 0x0252: timer */ +/* 0x0262: timer */ 0x90f900f8, 0x32f480f9, 0x03f89810, @@ -1044,19 +1048,19 @@ uint32_t nva3_pwr_code[] = { 0xf406e0b8, 0xe8b8090b, 0x111cf406, -/* 0x02a8: timer_reset */ +/* 0x02b8: timer_reset */ 0xb63407f0, 0x0ed00604, 0x8004bd00, -/* 0x02b6: timer_enable */ +/* 0x02c6: timer_enable */ 0x87f09a0e, 0x3807f001, 0xd00604b6, 0x04bd0008, -/* 0x02c4: timer_done */ +/* 0x02d4: timer_done */ 0xfc1031f4, 0xf890fc80, -/* 0x02cd: send_proc */ +/* 0x02dd: send_proc */ 0xf980f900, 0x05e89890, 0xf004e998, @@ -1071,26 +1075,27 @@ uint32_t nva3_pwr_code[] = { 0xb6038b80, 0x94f00190, 0x04e98007, -/* 0x0307: send_done */ +/* 0x0317: send_done */ 0xfc0231f4, 0xf880fc90, -/* 0x030d: find */ +/* 0x031d: find */ 0xf080f900, 0x31f45887, -/* 0x0315: find_loop */ +/* 0x0325: find_loop */ 0x008a9801, 0xf406aeb8, 0x80b6100b, 0x6886b158, 0xf01bf402, -/* 0x032b: find_done */ +/* 0x033b: find_done */ 0xb90132f4, 0x80fc028e, -/* 0x0332: send */ +/* 0x0342: send */ 0x21f500f8, - 0x01f4030d, -/* 0x033b: recv */ - 0x9800f897, + 0x01f4031d, +/* 0x034b: recv */ + 0xf900f897, + 0x9880f990, 0xe99805e8, 0x0132f404, 0xf40689b8, @@ -1109,8 +1114,9 @@ uint32_t nva3_pwr_code[] = { 0xf0fca5f9, 0xf400f8fe, 0xf0fc0131, -/* 0x0384: recv_done */ -/* 0x0386: init */ +/* 0x0398: recv_done */ + 0x90fc80fc, +/* 0x039e: init */ 0x17f100f8, 0x14b60108, 0x0011cf06, @@ -1129,19 +1135,19 @@ uint32_t nva3_pwr_code[] = { 0x1007f008, 0xd00604b6, 0x04bd0001, - 0x010a17f1, + 0x011a17f1, 0xfe0013f0, 0x31f40010, 0x0117f010, 0xb63807f0, 0x01d00604, 0xf004bd00, -/* 0x03ea: init_proc */ +/* 0x0402: init_proc */ 0xf19858f7, 0x0016b001, 0xf9fa0bf4, 0x58f0b615, -/* 0x03fb: mulu32_32_64 */ +/* 0x0413: mulu32_32_64 */ 0xf9f20ef4, 0xf920f910, 0x9540f930, @@ -1163,7 +1169,7 @@ uint32_t nva3_pwr_code[] = { 0x40fc00b3, 0x20fc30fc, 0x00f810fc, -/* 0x044c: host_send */ +/* 0x0464: host_send */ 0x04b017f1, 0xcf0614b6, 0x27f10011, @@ -1176,19 +1182,19 @@ uint32_t nva3_pwr_code[] = { 0x9803eb98, 0xed9802ec, 0x00ee9801, - 0x033221f5, + 0x034221f5, 0xc40110b6, 0x07f10f1e, 0x04b604b0, 0x000ed006, 0x0ef404bd, -/* 0x0495: host_send_done */ -/* 0x0497: host_recv */ +/* 0x04ad: host_send_done */ +/* 0x04af: host_recv */ 0xf100f8ba, 0xf14e4917, 0xb8525413, 0x0bf406e1, -/* 0x04a5: host_recv_wait */ +/* 0x04bd: host_recv_wait */ 0xcc17f1aa, 0x0614b604, 0xf10011cf, @@ -1210,7 +1216,7 @@ uint32_t nva3_pwr_code[] = { 0x0007f040, 0xd00604b6, 0x04bd0002, -/* 0x04fa: host_init */ +/* 0x0512: host_init */ 0x17f100f8, 0x14b60080, 0x7015f110, @@ -1227,29 +1233,29 @@ uint32_t nva3_pwr_code[] = { 0xb604c407, 0x01d00604, 0xf804bd00, -/* 0x0539: memx_func_enter */ +/* 0x0551: memx_func_enter */ 0x0467f000, 0x07e007f1, 0xd00604b6, 0x04bd0006, -/* 0x0548: memx_func_enter_wait */ +/* 0x0560: memx_func_enter_wait */ 0x07c067f1, 0xcf0664b6, 0x64f00066, 0xf30bf404, 0xb6001698, 0x00f80410, -/* 0x0560: memx_func_leave */ +/* 0x0578: memx_func_leave */ 0xf10467f0, 0xb607e407, 0x06d00604, -/* 0x056f: memx_func_leave_wait */ +/* 0x0587: memx_func_leave_wait */ 0xf104bd00, 0xb607c067, 0x66cf0664, 0x0464f000, 0xf8f31bf4, -/* 0x0581: memx_func_wr32 */ +/* 0x0599: memx_func_wr32 */ 0x00169800, 0xb6011598, 0x60f90810, @@ -1257,22 +1263,22 @@ uint32_t nva3_pwr_code[] = { 0x21f4e0fc, 0x0242b63f, 0xf8e91bf4, -/* 0x059d: memx_func_wait */ +/* 0x05b5: memx_func_wait */ 0x2c87f000, 0xcf0684b6, 0x1e980088, 0x011d9800, 0x98021c98, 0x10b6031b, - 0x9c21f410, -/* 0x05ba: memx_func_delay */ + 0xa421f410, +/* 0x05d2: memx_func_delay */ 0x1e9800f8, 0x0410b600, 0xf87f21f4, -/* 0x05c5: memx_exec */ +/* 0x05dd: memx_exec */ 0xf9e0f900, 0x02c1b9d0, -/* 0x05cf: memx_exec_next */ +/* 0x05e7: memx_exec_next */ 0x9802b2b9, 0x10b60013, 0x10349504, @@ -1281,113 +1287,113 @@ uint32_t nva3_pwr_code[] = { 0xf40612b8, 0xd0fcec1e, 0x21f5e0fc, - 0x00f80332, -/* 0x05f0: memx_info */ + 0x00f80342, +/* 0x0608: memx_info */ 0x03acc7f1, 0x0800b7f1, - 0x033221f5, -/* 0x05fe: memx_recv */ + 0x034221f5, +/* 0x0616: memx_recv */ 0xd6b000f8, 0xc40bf401, 0xf400d6b0, 0x00f8e90b, -/* 0x060c: memx_init */ -/* 0x060e: perf_recv */ +/* 0x0624: memx_init */ +/* 0x0626: perf_recv */ 0x00f800f8, -/* 0x0610: perf_init */ -/* 0x0612: i2c_drive_scl */ +/* 0x0628: perf_init */ +/* 0x062a: i2c_drive_scl */ 0x36b000f8, 0x110bf400, 0x07e007f1, 0xd00604b6, 0x04bd0001, -/* 0x0626: i2c_drive_scl_lo */ +/* 0x063e: i2c_drive_scl_lo */ 0x07f100f8, 0x04b607e4, 0x0001d006, 0x00f804bd, -/* 0x0634: i2c_drive_sda */ +/* 0x064c: i2c_drive_sda */ 0xf40036b0, 0x07f1110b, 0x04b607e0, 0x0002d006, 0x00f804bd, -/* 0x0648: i2c_drive_sda_lo */ +/* 0x0660: i2c_drive_sda_lo */ 0x07e407f1, 0xd00604b6, 0x04bd0002, -/* 0x0656: i2c_sense_scl */ +/* 0x066e: i2c_sense_scl */ 0x32f400f8, 0xc437f101, 0x0634b607, 0xfd0033cf, 0x0bf40431, 0x0131f406, -/* 0x066c: i2c_sense_scl_done */ -/* 0x066e: i2c_sense_sda */ +/* 0x0684: i2c_sense_scl_done */ +/* 0x0686: i2c_sense_sda */ 0x32f400f8, 0xc437f101, 0x0634b607, 0xfd0033cf, 0x0bf40432, 0x0131f406, -/* 0x0684: i2c_sense_sda_done */ -/* 0x0686: i2c_raise_scl */ +/* 0x069c: i2c_sense_sda_done */ +/* 0x069e: i2c_raise_scl */ 0x40f900f8, 0x089847f1, 0xf50137f0, -/* 0x0693: i2c_raise_scl_wait */ - 0xf1061221, +/* 0x06ab: i2c_raise_scl_wait */ + 0xf1062a21, 0xf403e8e7, 0x21f57f21, - 0x01f40656, + 0x01f4066e, 0x0142b609, -/* 0x06a7: i2c_raise_scl_done */ +/* 0x06bf: i2c_raise_scl_done */ 0xfcef1bf4, -/* 0x06ab: i2c_start */ +/* 0x06c3: i2c_start */ 0xf500f840, - 0xf4065621, + 0xf4066e21, 0x21f50d11, - 0x11f4066e, + 0x11f40686, 0x300ef406, -/* 0x06bc: i2c_start_rep */ +/* 0x06d4: i2c_start_rep */ 0xf50037f0, - 0xf0061221, + 0xf0062a21, 0x21f50137, - 0x76bb0634, + 0x76bb064c, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6068621, + 0xb6069e21, 0x11f40464, -/* 0x06e9: i2c_start_send */ +/* 0x0701: i2c_start_send */ 0x0037f01f, - 0x063421f5, + 0x064c21f5, 0x1388e7f1, 0xf07f21f4, 0x21f50037, - 0xe7f10612, + 0xe7f1062a, 0x21f41388, -/* 0x0705: i2c_start_out */ -/* 0x0707: i2c_stop */ +/* 0x071d: i2c_start_out */ +/* 0x071f: i2c_stop */ 0xf000f87f, 0x21f50037, - 0x37f00612, - 0x3421f500, + 0x37f0062a, + 0x4c21f500, 0xe8e7f106, 0x7f21f403, 0xf50137f0, - 0xf1061221, + 0xf1062a21, 0xf41388e7, 0x37f07f21, - 0x3421f501, + 0x4c21f501, 0x88e7f106, 0x7f21f413, -/* 0x073a: i2c_bitw */ +/* 0x0752: i2c_bitw */ 0x21f500f8, - 0xe7f10634, + 0xe7f1064c, 0x21f403e8, 0x0076bb7f, 0xf90465b6, @@ -1395,18 +1401,18 @@ uint32_t nva3_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60686, + 0x64b6069e, 0x1811f404, 0x1388e7f1, 0xf07f21f4, 0x21f50037, - 0xe7f10612, + 0xe7f1062a, 0x21f41388, -/* 0x0779: i2c_bitw_out */ -/* 0x077b: i2c_bitr */ +/* 0x0791: i2c_bitw_out */ +/* 0x0793: i2c_bitr */ 0xf000f87f, 0x21f50137, - 0xe7f10634, + 0xe7f1064c, 0x21f403e8, 0x0076bb7f, 0xf90465b6, @@ -1414,26 +1420,26 @@ uint32_t nva3_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60686, + 0x64b6069e, 0x1b11f404, - 0x066e21f5, + 0x068621f5, 0xf50037f0, - 0xf1061221, + 0xf1062a21, 0xf41388e7, 0x3cf07f21, 0x0131f401, -/* 0x07c0: i2c_bitr_done */ -/* 0x07c2: i2c_get_byte */ +/* 0x07d8: i2c_bitr_done */ +/* 0x07da: i2c_get_byte */ 0x57f000f8, 0x0847f000, -/* 0x07c8: i2c_get_byte_next */ +/* 0x07e0: i2c_get_byte_next */ 0xbb0154b6, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x077b21f5, + 0x079321f5, 0xf40464b6, 0x53fd2b11, 0x0142b605, @@ -1444,11 +1450,11 @@ uint32_t nva3_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6073a21, -/* 0x0812: i2c_get_byte_done */ + 0xb6075221, +/* 0x082a: i2c_get_byte_done */ 0x00f80464, -/* 0x0814: i2c_put_byte */ -/* 0x0817: i2c_put_byte_next */ +/* 0x082c: i2c_put_byte */ +/* 0x082f: i2c_put_byte_next */ 0xb60847f0, 0x54ff0142, 0x0076bb38, @@ -1457,7 +1463,7 @@ uint32_t nva3_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b6073a, + 0x64b60752, 0x3411f404, 0xf40046b0, 0x76bbd81b, @@ -1466,20 +1472,20 @@ uint32_t nva3_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6077b21, + 0xb6079321, 0x11f40464, 0x0076bb0f, 0xf40136b0, 0x32f4061b, -/* 0x086d: i2c_put_byte_done */ -/* 0x086f: i2c_addr */ +/* 0x0885: i2c_put_byte_done */ +/* 0x0887: i2c_addr */ 0xbb00f801, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x06ab21f5, + 0x06c321f5, 0xf40464b6, 0xc3e72911, 0x34b6012e, @@ -1489,24 +1495,24 @@ uint32_t nva3_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x1421f550, + 0x2c21f550, 0x0464b608, -/* 0x08b4: i2c_addr_done */ -/* 0x08b6: i2c_acquire_addr */ +/* 0x08cc: i2c_addr_done */ +/* 0x08ce: i2c_acquire_addr */ 0xcec700f8, 0x02e4b6f8, 0x0bfce0b7, 0xf800ee98, -/* 0x08c5: i2c_acquire */ - 0xb621f500, +/* 0x08dd: i2c_acquire */ + 0xce21f500, 0x0421f408, 0xf403d9f0, 0x00f83f21, -/* 0x08d4: i2c_release */ - 0x08b621f5, +/* 0x08ec: i2c_release */ + 0x08ce21f5, 0xf00421f4, 0x21f403da, -/* 0x08e3: i2c_recv */ +/* 0x08fb: i2c_recv */ 0xf400f83f, 0xc1c70132, 0x0214b6f8, @@ -1526,7 +1532,7 @@ uint32_t nva3_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b608c5, + 0x64b608dd, 0xb0d0fc04, 0x1bf500d6, 0x57f000b3, @@ -1536,7 +1542,7 @@ uint32_t nva3_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b6086f, + 0x64b60887, 0xd011f504, 0xe0c5c700, 0xb60076bb, @@ -1544,7 +1550,7 @@ uint32_t nva3_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x1421f550, + 0x2c21f550, 0x0464b608, 0x00ad11f5, 0xbb0157f0, @@ -1553,7 +1559,7 @@ uint32_t nva3_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x086f21f5, + 0x088721f5, 0xf50464b6, 0xbb008a11, 0x65b60076, @@ -1561,7 +1567,7 @@ uint32_t nva3_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x07c221f5, + 0x07da21f5, 0xf40464b6, 0x5bcb6a11, 0x0076bbe0, @@ -1570,37 +1576,37 @@ uint32_t nva3_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60707, + 0x64b6071f, 0x025bb904, 0x0ef474bd, -/* 0x09e9: i2c_recv_not_rd08 */ +/* 0x0a01: i2c_recv_not_rd08 */ 0x01d6b043, 0xf03d1bf4, 0x21f50057, - 0x11f4086f, + 0x11f40887, 0xe0c5c733, - 0x081421f5, + 0x082c21f5, 0xf02911f4, 0x21f50057, - 0x11f4086f, + 0x11f40887, 0xe0b5c71f, - 0x081421f5, + 0x082c21f5, 0xf51511f4, - 0xbd070721, + 0xbd071f21, 0x08c5c774, 0xf4091bf4, 0x0ef40232, -/* 0x0a29: i2c_recv_not_wr08 */ -/* 0x0a29: i2c_recv_done */ +/* 0x0a41: i2c_recv_not_wr08 */ +/* 0x0a41: i2c_recv_done */ 0xf8cec703, - 0x08d421f5, + 0x08ec21f5, 0xd0fce0fc, 0xb90a12f4, 0x21f5027c, -/* 0x0a3e: i2c_recv_exit */ - 0x00f80332, -/* 0x0a40: i2c_init */ -/* 0x0a42: test_recv */ +/* 0x0a56: i2c_recv_exit */ + 0x00f80342, +/* 0x0a58: i2c_init */ +/* 0x0a5a: test_recv */ 0x17f100f8, 0x14b605d8, 0x0011cf06, @@ -1610,13 +1616,13 @@ uint32_t nva3_pwr_code[] = { 0xf104bd00, 0xf1d900e7, 0xf5134fe3, - 0xf8025221, -/* 0x0a69: test_init */ + 0xf8026221, +/* 0x0a81: test_init */ 0x00e7f100, - 0x5221f508, -/* 0x0a73: idle_recv */ + 0x6221f508, +/* 0x0a8b: idle_recv */ 0xf800f802, -/* 0x0a75: idle */ +/* 0x0a8d: idle */ 0x0031f400, 0x05d417f1, 0xcf0614b6, @@ -1624,16 +1630,16 @@ uint32_t nva3_pwr_code[] = { 0xd407f101, 0x0604b605, 0xbd0001d0, -/* 0x0a91: idle_loop */ +/* 0x0aa9: idle_loop */ 0x5817f004, -/* 0x0a97: idle_proc */ -/* 0x0a97: idle_proc_exec */ +/* 0x0aaf: idle_proc */ +/* 0x0aaf: idle_proc_exec */ 0xf90232f4, 0x021eb910, - 0x033b21f5, + 0x034b21f5, 0x11f410fc, 0x0231f409, -/* 0x0aab: idle_proc_next */ +/* 0x0ac3: idle_proc_next */ 0xb6ef0ef4, 0x1fb85810, 0xe61bf406, @@ -1650,10 +1656,4 @@ uint32_t nva3_pwr_code[] = { 0x00000000, 0x00000000, 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 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 a0bd2c1b16b3..df832840600e 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 @@ -24,8 +24,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, /* 0x0058: proc_list_head */ 0x54534f48, - 0x000004fa, - 0x00000497, + 0x00000512, + 0x000004af, 0x00000000, 0x00000000, 0x00000000, @@ -46,8 +46,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x0000060c, - 0x000005fe, + 0x00000624, + 0x00000616, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x00000610, - 0x0000060e, + 0x00000628, + 0x00000626, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x00000a40, - 0x000008e3, + 0x00000a58, + 0x000008fb, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x00000a69, - 0x00000a42, + 0x00000a81, + 0x00000a5a, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x00000a75, - 0x00000a73, + 0x00000a8d, + 0x00000a8b, 0x00000000, 0x00000000, 0x00000000, @@ -229,20 +229,20 @@ uint32_t nvc0_pwr_data[] = { /* 0x0370: memx_func_head */ 0x00010000, 0x00000000, - 0x00000539, + 0x00000551, /* 0x037c: memx_func_next */ 0x00000001, 0x00000000, - 0x00000560, + 0x00000578, 0x00000002, 0x00000002, - 0x00000581, + 0x00000599, 0x00040003, 0x00000000, - 0x0000059d, + 0x000005b5, 0x00010004, 0x00000000, - 0x000005ba, + 0x000005d2, /* 0x03ac: memx_func_tail */ /* 0x03ac: memx_data_head */ 0x00000000, @@ -849,7 +849,7 @@ uint32_t nvc0_pwr_data[] = { }; uint32_t nvc0_pwr_code[] = { - 0x03860ef5, + 0x039e0ef5, /* 0x0004: rd32 */ 0x07a007f1, 0xd00604b6, @@ -885,19 +885,22 @@ uint32_t nvc0_pwr_code[] = { 0xd4f100dd, 0x1bf47000, /* 0x007f: nsec */ - 0xf000f8f2, + 0xf900f8f2, + 0xf080f990, 0x84b62c87, 0x0088cf06, -/* 0x0088: nsec_loop */ +/* 0x008c: nsec_loop */ 0xb62c97f0, 0x99cf0694, 0x0298bb00, 0xf4069eb8, - 0x00f8f11e, -/* 0x009c: wait */ + 0x80fcf11e, + 0x00f890fc, +/* 0x00a4: wait */ + 0x80f990f9, 0xb62c87f0, 0x88cf0684, -/* 0x00a5: wait_loop */ +/* 0x00b1: wait_loop */ 0x02eeb900, 0xb90421f4, 0xadfd02da, @@ -907,28 +910,29 @@ uint32_t nvc0_pwr_code[] = { 0x0099cf06, 0xb80298bb, 0x1ef4069b, -/* 0x00c9: wait_done */ -/* 0x00cb: intr_watchdog */ - 0x9800f8df, +/* 0x00d5: wait_done */ + 0xfc80fcdf, +/* 0x00db: intr_watchdog */ + 0x9800f890, 0x96b003e9, 0x2a0bf400, 0xbb9a0a98, 0x1cf4029a, 0x01d7f00f, - 0x02cd21f5, + 0x02dd21f5, 0x0ef494bd, -/* 0x00e9: intr_watchdog_next_time */ +/* 0x00f9: intr_watchdog_next_time */ 0x9b0a9815, 0xf400a6b0, 0x9ab8090b, 0x061cf406, -/* 0x00f8: intr_watchdog_next_time_set */ -/* 0x00fb: intr_watchdog_next_proc */ +/* 0x0108: intr_watchdog_next_time_set */ +/* 0x010b: intr_watchdog_next_proc */ 0x809b0980, 0xe0b603e9, 0x68e6b158, 0xc61bf402, -/* 0x010a: intr */ +/* 0x011a: intr */ 0x00f900f8, 0x80f904bd, 0xa0f990f9, @@ -948,13 +952,13 @@ uint32_t nvc0_pwr_code[] = { 0xf40289c4, 0x0080230b, 0x58e7f09b, - 0x98cb21f4, + 0x98db21f4, 0x96b09b09, 0x110bf400, 0xb63407f0, 0x09d00604, 0x8004bd00, -/* 0x016e: intr_skip_watchdog */ +/* 0x017e: intr_skip_watchdog */ 0x89e49a09, 0x0bf40800, 0x8897f148, @@ -967,22 +971,22 @@ uint32_t nvc0_pwr_code[] = { 0x48e7f1c0, 0x53e3f14f, 0x00d7f054, - 0x033221f5, + 0x034221f5, 0x07f1c0fc, 0x04b604c0, 0x000cd006, -/* 0x01ae: intr_subintr_skip_fifo */ +/* 0x01be: intr_subintr_skip_fifo */ 0x07f104bd, 0x04b60688, 0x0009d006, -/* 0x01ba: intr_skip_subintr */ +/* 0x01ca: intr_skip_subintr */ 0x89c404bd, 0x070bf420, 0xffbfa4f1, -/* 0x01c4: intr_skip_pause */ +/* 0x01d4: intr_skip_pause */ 0xf44089c4, 0xa4f1070b, -/* 0x01ce: intr_skip_user0 */ +/* 0x01de: intr_skip_user0 */ 0x07f0ffbf, 0x0604b604, 0xbd0008d0, @@ -993,35 +997,35 @@ uint32_t nvc0_pwr_code[] = { 0x90fca0fc, 0x00fc80fc, 0xf80032f4, -/* 0x01f5: ticks_from_ns */ +/* 0x0205: ticks_from_ns */ 0xf9c0f901, 0xcbd7f1b0, 0x00d3f000, - 0x03fb21f5, + 0x041321f5, 0x03e8ccec, 0xf400b4b0, 0xeeec120b, 0xd7f103e8, 0xd3f000cb, - 0xfb21f500, -/* 0x021d: ticks_from_ns_quit */ - 0x02ceb903, + 0x1321f500, +/* 0x022d: ticks_from_ns_quit */ + 0x02ceb904, 0xc0fcb0fc, -/* 0x0226: ticks_from_us */ +/* 0x0236: ticks_from_us */ 0xc0f900f8, 0xd7f1b0f9, 0xd3f000cb, - 0xfb21f500, - 0x02ceb903, + 0x1321f500, + 0x02ceb904, 0xf400b4b0, 0xe4bd050b, -/* 0x0240: ticks_from_us_quit */ +/* 0x0250: ticks_from_us_quit */ 0xc0fcb0fc, -/* 0x0246: ticks_to_us */ +/* 0x0256: ticks_to_us */ 0xd7f100f8, 0xd3f000cb, 0xecedff00, -/* 0x0252: timer */ +/* 0x0262: timer */ 0x90f900f8, 0x32f480f9, 0x03f89810, @@ -1044,19 +1048,19 @@ uint32_t nvc0_pwr_code[] = { 0xf406e0b8, 0xe8b8090b, 0x111cf406, -/* 0x02a8: timer_reset */ +/* 0x02b8: timer_reset */ 0xb63407f0, 0x0ed00604, 0x8004bd00, -/* 0x02b6: timer_enable */ +/* 0x02c6: timer_enable */ 0x87f09a0e, 0x3807f001, 0xd00604b6, 0x04bd0008, -/* 0x02c4: timer_done */ +/* 0x02d4: timer_done */ 0xfc1031f4, 0xf890fc80, -/* 0x02cd: send_proc */ +/* 0x02dd: send_proc */ 0xf980f900, 0x05e89890, 0xf004e998, @@ -1071,26 +1075,27 @@ uint32_t nvc0_pwr_code[] = { 0xb6038b80, 0x94f00190, 0x04e98007, -/* 0x0307: send_done */ +/* 0x0317: send_done */ 0xfc0231f4, 0xf880fc90, -/* 0x030d: find */ +/* 0x031d: find */ 0xf080f900, 0x31f45887, -/* 0x0315: find_loop */ +/* 0x0325: find_loop */ 0x008a9801, 0xf406aeb8, 0x80b6100b, 0x6886b158, 0xf01bf402, -/* 0x032b: find_done */ +/* 0x033b: find_done */ 0xb90132f4, 0x80fc028e, -/* 0x0332: send */ +/* 0x0342: send */ 0x21f500f8, - 0x01f4030d, -/* 0x033b: recv */ - 0x9800f897, + 0x01f4031d, +/* 0x034b: recv */ + 0xf900f897, + 0x9880f990, 0xe99805e8, 0x0132f404, 0xf40689b8, @@ -1109,8 +1114,9 @@ uint32_t nvc0_pwr_code[] = { 0xf0fca5f9, 0xf400f8fe, 0xf0fc0131, -/* 0x0384: recv_done */ -/* 0x0386: init */ +/* 0x0398: recv_done */ + 0x90fc80fc, +/* 0x039e: init */ 0x17f100f8, 0x14b60108, 0x0011cf06, @@ -1129,19 +1135,19 @@ uint32_t nvc0_pwr_code[] = { 0x1007f008, 0xd00604b6, 0x04bd0001, - 0x010a17f1, + 0x011a17f1, 0xfe0013f0, 0x31f40010, 0x0117f010, 0xb63807f0, 0x01d00604, 0xf004bd00, -/* 0x03ea: init_proc */ +/* 0x0402: init_proc */ 0xf19858f7, 0x0016b001, 0xf9fa0bf4, 0x58f0b615, -/* 0x03fb: mulu32_32_64 */ +/* 0x0413: mulu32_32_64 */ 0xf9f20ef4, 0xf920f910, 0x9540f930, @@ -1163,7 +1169,7 @@ uint32_t nvc0_pwr_code[] = { 0x40fc00b3, 0x20fc30fc, 0x00f810fc, -/* 0x044c: host_send */ +/* 0x0464: host_send */ 0x04b017f1, 0xcf0614b6, 0x27f10011, @@ -1176,19 +1182,19 @@ uint32_t nvc0_pwr_code[] = { 0x9803eb98, 0xed9802ec, 0x00ee9801, - 0x033221f5, + 0x034221f5, 0xc40110b6, 0x07f10f1e, 0x04b604b0, 0x000ed006, 0x0ef404bd, -/* 0x0495: host_send_done */ -/* 0x0497: host_recv */ +/* 0x04ad: host_send_done */ +/* 0x04af: host_recv */ 0xf100f8ba, 0xf14e4917, 0xb8525413, 0x0bf406e1, -/* 0x04a5: host_recv_wait */ +/* 0x04bd: host_recv_wait */ 0xcc17f1aa, 0x0614b604, 0xf10011cf, @@ -1210,7 +1216,7 @@ uint32_t nvc0_pwr_code[] = { 0x0007f040, 0xd00604b6, 0x04bd0002, -/* 0x04fa: host_init */ +/* 0x0512: host_init */ 0x17f100f8, 0x14b60080, 0x7015f110, @@ -1227,29 +1233,29 @@ uint32_t nvc0_pwr_code[] = { 0xb604c407, 0x01d00604, 0xf804bd00, -/* 0x0539: memx_func_enter */ +/* 0x0551: memx_func_enter */ 0x0467f000, 0x07e007f1, 0xd00604b6, 0x04bd0006, -/* 0x0548: memx_func_enter_wait */ +/* 0x0560: memx_func_enter_wait */ 0x07c067f1, 0xcf0664b6, 0x64f00066, 0xf30bf404, 0xb6001698, 0x00f80410, -/* 0x0560: memx_func_leave */ +/* 0x0578: memx_func_leave */ 0xf10467f0, 0xb607e407, 0x06d00604, -/* 0x056f: memx_func_leave_wait */ +/* 0x0587: memx_func_leave_wait */ 0xf104bd00, 0xb607c067, 0x66cf0664, 0x0464f000, 0xf8f31bf4, -/* 0x0581: memx_func_wr32 */ +/* 0x0599: memx_func_wr32 */ 0x00169800, 0xb6011598, 0x60f90810, @@ -1257,22 +1263,22 @@ uint32_t nvc0_pwr_code[] = { 0x21f4e0fc, 0x0242b63f, 0xf8e91bf4, -/* 0x059d: memx_func_wait */ +/* 0x05b5: memx_func_wait */ 0x2c87f000, 0xcf0684b6, 0x1e980088, 0x011d9800, 0x98021c98, 0x10b6031b, - 0x9c21f410, -/* 0x05ba: memx_func_delay */ + 0xa421f410, +/* 0x05d2: memx_func_delay */ 0x1e9800f8, 0x0410b600, 0xf87f21f4, -/* 0x05c5: memx_exec */ +/* 0x05dd: memx_exec */ 0xf9e0f900, 0x02c1b9d0, -/* 0x05cf: memx_exec_next */ +/* 0x05e7: memx_exec_next */ 0x9802b2b9, 0x10b60013, 0x10349504, @@ -1281,113 +1287,113 @@ uint32_t nvc0_pwr_code[] = { 0xf40612b8, 0xd0fcec1e, 0x21f5e0fc, - 0x00f80332, -/* 0x05f0: memx_info */ + 0x00f80342, +/* 0x0608: memx_info */ 0x03acc7f1, 0x0800b7f1, - 0x033221f5, -/* 0x05fe: memx_recv */ + 0x034221f5, +/* 0x0616: memx_recv */ 0xd6b000f8, 0xc40bf401, 0xf400d6b0, 0x00f8e90b, -/* 0x060c: memx_init */ -/* 0x060e: perf_recv */ +/* 0x0624: memx_init */ +/* 0x0626: perf_recv */ 0x00f800f8, -/* 0x0610: perf_init */ -/* 0x0612: i2c_drive_scl */ +/* 0x0628: perf_init */ +/* 0x062a: i2c_drive_scl */ 0x36b000f8, 0x110bf400, 0x07e007f1, 0xd00604b6, 0x04bd0001, -/* 0x0626: i2c_drive_scl_lo */ +/* 0x063e: i2c_drive_scl_lo */ 0x07f100f8, 0x04b607e4, 0x0001d006, 0x00f804bd, -/* 0x0634: i2c_drive_sda */ +/* 0x064c: i2c_drive_sda */ 0xf40036b0, 0x07f1110b, 0x04b607e0, 0x0002d006, 0x00f804bd, -/* 0x0648: i2c_drive_sda_lo */ +/* 0x0660: i2c_drive_sda_lo */ 0x07e407f1, 0xd00604b6, 0x04bd0002, -/* 0x0656: i2c_sense_scl */ +/* 0x066e: i2c_sense_scl */ 0x32f400f8, 0xc437f101, 0x0634b607, 0xfd0033cf, 0x0bf40431, 0x0131f406, -/* 0x066c: i2c_sense_scl_done */ -/* 0x066e: i2c_sense_sda */ +/* 0x0684: i2c_sense_scl_done */ +/* 0x0686: i2c_sense_sda */ 0x32f400f8, 0xc437f101, 0x0634b607, 0xfd0033cf, 0x0bf40432, 0x0131f406, -/* 0x0684: i2c_sense_sda_done */ -/* 0x0686: i2c_raise_scl */ +/* 0x069c: i2c_sense_sda_done */ +/* 0x069e: i2c_raise_scl */ 0x40f900f8, 0x089847f1, 0xf50137f0, -/* 0x0693: i2c_raise_scl_wait */ - 0xf1061221, +/* 0x06ab: i2c_raise_scl_wait */ + 0xf1062a21, 0xf403e8e7, 0x21f57f21, - 0x01f40656, + 0x01f4066e, 0x0142b609, -/* 0x06a7: i2c_raise_scl_done */ +/* 0x06bf: i2c_raise_scl_done */ 0xfcef1bf4, -/* 0x06ab: i2c_start */ +/* 0x06c3: i2c_start */ 0xf500f840, - 0xf4065621, + 0xf4066e21, 0x21f50d11, - 0x11f4066e, + 0x11f40686, 0x300ef406, -/* 0x06bc: i2c_start_rep */ +/* 0x06d4: i2c_start_rep */ 0xf50037f0, - 0xf0061221, + 0xf0062a21, 0x21f50137, - 0x76bb0634, + 0x76bb064c, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6068621, + 0xb6069e21, 0x11f40464, -/* 0x06e9: i2c_start_send */ +/* 0x0701: i2c_start_send */ 0x0037f01f, - 0x063421f5, + 0x064c21f5, 0x1388e7f1, 0xf07f21f4, 0x21f50037, - 0xe7f10612, + 0xe7f1062a, 0x21f41388, -/* 0x0705: i2c_start_out */ -/* 0x0707: i2c_stop */ +/* 0x071d: i2c_start_out */ +/* 0x071f: i2c_stop */ 0xf000f87f, 0x21f50037, - 0x37f00612, - 0x3421f500, + 0x37f0062a, + 0x4c21f500, 0xe8e7f106, 0x7f21f403, 0xf50137f0, - 0xf1061221, + 0xf1062a21, 0xf41388e7, 0x37f07f21, - 0x3421f501, + 0x4c21f501, 0x88e7f106, 0x7f21f413, -/* 0x073a: i2c_bitw */ +/* 0x0752: i2c_bitw */ 0x21f500f8, - 0xe7f10634, + 0xe7f1064c, 0x21f403e8, 0x0076bb7f, 0xf90465b6, @@ -1395,18 +1401,18 @@ uint32_t nvc0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60686, + 0x64b6069e, 0x1811f404, 0x1388e7f1, 0xf07f21f4, 0x21f50037, - 0xe7f10612, + 0xe7f1062a, 0x21f41388, -/* 0x0779: i2c_bitw_out */ -/* 0x077b: i2c_bitr */ +/* 0x0791: i2c_bitw_out */ +/* 0x0793: i2c_bitr */ 0xf000f87f, 0x21f50137, - 0xe7f10634, + 0xe7f1064c, 0x21f403e8, 0x0076bb7f, 0xf90465b6, @@ -1414,26 +1420,26 @@ uint32_t nvc0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60686, + 0x64b6069e, 0x1b11f404, - 0x066e21f5, + 0x068621f5, 0xf50037f0, - 0xf1061221, + 0xf1062a21, 0xf41388e7, 0x3cf07f21, 0x0131f401, -/* 0x07c0: i2c_bitr_done */ -/* 0x07c2: i2c_get_byte */ +/* 0x07d8: i2c_bitr_done */ +/* 0x07da: i2c_get_byte */ 0x57f000f8, 0x0847f000, -/* 0x07c8: i2c_get_byte_next */ +/* 0x07e0: i2c_get_byte_next */ 0xbb0154b6, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x077b21f5, + 0x079321f5, 0xf40464b6, 0x53fd2b11, 0x0142b605, @@ -1444,11 +1450,11 @@ uint32_t nvc0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6073a21, -/* 0x0812: i2c_get_byte_done */ + 0xb6075221, +/* 0x082a: i2c_get_byte_done */ 0x00f80464, -/* 0x0814: i2c_put_byte */ -/* 0x0817: i2c_put_byte_next */ +/* 0x082c: i2c_put_byte */ +/* 0x082f: i2c_put_byte_next */ 0xb60847f0, 0x54ff0142, 0x0076bb38, @@ -1457,7 +1463,7 @@ uint32_t nvc0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b6073a, + 0x64b60752, 0x3411f404, 0xf40046b0, 0x76bbd81b, @@ -1466,20 +1472,20 @@ uint32_t nvc0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6077b21, + 0xb6079321, 0x11f40464, 0x0076bb0f, 0xf40136b0, 0x32f4061b, -/* 0x086d: i2c_put_byte_done */ -/* 0x086f: i2c_addr */ +/* 0x0885: i2c_put_byte_done */ +/* 0x0887: i2c_addr */ 0xbb00f801, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x06ab21f5, + 0x06c321f5, 0xf40464b6, 0xc3e72911, 0x34b6012e, @@ -1489,24 +1495,24 @@ uint32_t nvc0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x1421f550, + 0x2c21f550, 0x0464b608, -/* 0x08b4: i2c_addr_done */ -/* 0x08b6: i2c_acquire_addr */ +/* 0x08cc: i2c_addr_done */ +/* 0x08ce: i2c_acquire_addr */ 0xcec700f8, 0x02e4b6f8, 0x0bfce0b7, 0xf800ee98, -/* 0x08c5: i2c_acquire */ - 0xb621f500, +/* 0x08dd: i2c_acquire */ + 0xce21f500, 0x0421f408, 0xf403d9f0, 0x00f83f21, -/* 0x08d4: i2c_release */ - 0x08b621f5, +/* 0x08ec: i2c_release */ + 0x08ce21f5, 0xf00421f4, 0x21f403da, -/* 0x08e3: i2c_recv */ +/* 0x08fb: i2c_recv */ 0xf400f83f, 0xc1c70132, 0x0214b6f8, @@ -1526,7 +1532,7 @@ uint32_t nvc0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b608c5, + 0x64b608dd, 0xb0d0fc04, 0x1bf500d6, 0x57f000b3, @@ -1536,7 +1542,7 @@ uint32_t nvc0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b6086f, + 0x64b60887, 0xd011f504, 0xe0c5c700, 0xb60076bb, @@ -1544,7 +1550,7 @@ uint32_t nvc0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x1421f550, + 0x2c21f550, 0x0464b608, 0x00ad11f5, 0xbb0157f0, @@ -1553,7 +1559,7 @@ uint32_t nvc0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x086f21f5, + 0x088721f5, 0xf50464b6, 0xbb008a11, 0x65b60076, @@ -1561,7 +1567,7 @@ uint32_t nvc0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x07c221f5, + 0x07da21f5, 0xf40464b6, 0x5bcb6a11, 0x0076bbe0, @@ -1570,37 +1576,37 @@ uint32_t nvc0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60707, + 0x64b6071f, 0x025bb904, 0x0ef474bd, -/* 0x09e9: i2c_recv_not_rd08 */ +/* 0x0a01: i2c_recv_not_rd08 */ 0x01d6b043, 0xf03d1bf4, 0x21f50057, - 0x11f4086f, + 0x11f40887, 0xe0c5c733, - 0x081421f5, + 0x082c21f5, 0xf02911f4, 0x21f50057, - 0x11f4086f, + 0x11f40887, 0xe0b5c71f, - 0x081421f5, + 0x082c21f5, 0xf51511f4, - 0xbd070721, + 0xbd071f21, 0x08c5c774, 0xf4091bf4, 0x0ef40232, -/* 0x0a29: i2c_recv_not_wr08 */ -/* 0x0a29: i2c_recv_done */ +/* 0x0a41: i2c_recv_not_wr08 */ +/* 0x0a41: i2c_recv_done */ 0xf8cec703, - 0x08d421f5, + 0x08ec21f5, 0xd0fce0fc, 0xb90a12f4, 0x21f5027c, -/* 0x0a3e: i2c_recv_exit */ - 0x00f80332, -/* 0x0a40: i2c_init */ -/* 0x0a42: test_recv */ +/* 0x0a56: i2c_recv_exit */ + 0x00f80342, +/* 0x0a58: i2c_init */ +/* 0x0a5a: test_recv */ 0x17f100f8, 0x14b605d8, 0x0011cf06, @@ -1610,13 +1616,13 @@ uint32_t nvc0_pwr_code[] = { 0xf104bd00, 0xf1d900e7, 0xf5134fe3, - 0xf8025221, -/* 0x0a69: test_init */ + 0xf8026221, +/* 0x0a81: test_init */ 0x00e7f100, - 0x5221f508, -/* 0x0a73: idle_recv */ + 0x6221f508, +/* 0x0a8b: idle_recv */ 0xf800f802, -/* 0x0a75: idle */ +/* 0x0a8d: idle */ 0x0031f400, 0x05d417f1, 0xcf0614b6, @@ -1624,16 +1630,16 @@ uint32_t nvc0_pwr_code[] = { 0xd407f101, 0x0604b605, 0xbd0001d0, -/* 0x0a91: idle_loop */ +/* 0x0aa9: idle_loop */ 0x5817f004, -/* 0x0a97: idle_proc */ -/* 0x0a97: idle_proc_exec */ +/* 0x0aaf: idle_proc */ +/* 0x0aaf: idle_proc_exec */ 0xf90232f4, 0x021eb910, - 0x033b21f5, + 0x034b21f5, 0x11f410fc, 0x0231f409, -/* 0x0aab: idle_proc_next */ +/* 0x0ac3: idle_proc_next */ 0xb6ef0ef4, 0x1fb85810, 0xe61bf406, @@ -1650,10 +1656,4 @@ uint32_t nvc0_pwr_code[] = { 0x00000000, 0x00000000, 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 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 1cf8473fcb48..a8e65e74823c 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 @@ -24,8 +24,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, /* 0x0058: proc_list_head */ 0x54534f48, - 0x00000485, - 0x0000042e, + 0x0000049d, + 0x00000446, 0x00000000, 0x00000000, 0x00000000, @@ -46,8 +46,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x0000057f, - 0x00000571, + 0x00000597, + 0x00000589, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x00000583, - 0x00000581, + 0x0000059b, + 0x00000599, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x0000099e, - 0x00000841, + 0x000009b6, + 0x00000859, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x000009c1, - 0x000009a0, + 0x000009d9, + 0x000009b8, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x000009cd, - 0x000009cb, + 0x000009e5, + 0x000009e3, 0x00000000, 0x00000000, 0x00000000, @@ -229,20 +229,20 @@ uint32_t nvd0_pwr_data[] = { /* 0x0370: memx_func_head */ 0x00010000, 0x00000000, - 0x000004bb, + 0x000004d3, /* 0x037c: memx_func_next */ 0x00000001, 0x00000000, - 0x000004dc, + 0x000004f4, 0x00000002, 0x00000002, - 0x000004f7, + 0x0000050f, 0x00040003, 0x00000000, - 0x00000513, + 0x0000052b, 0x00010004, 0x00000000, - 0x0000052d, + 0x00000545, /* 0x03ac: memx_func_tail */ /* 0x03ac: memx_data_head */ 0x00000000, @@ -784,7 +784,7 @@ uint32_t nvd0_pwr_data[] = { }; uint32_t nvd0_pwr_code[] = { - 0x03350ef5, + 0x034d0ef5, /* 0x0004: rd32 */ 0x07a007f1, 0xbd000ed0, @@ -814,17 +814,20 @@ uint32_t nvd0_pwr_code[] = { 0xd4f100dd, 0x1bf47000, /* 0x0067: nsec */ - 0xf000f8f5, + 0xf900f8f5, + 0xf080f990, 0x88cf2c87, -/* 0x006d: nsec_loop */ +/* 0x0071: nsec_loop */ 0x2c97f000, 0xbb0099cf, 0x9eb80298, 0xf41ef406, -/* 0x007e: wait */ - 0x87f000f8, + 0x90fc80fc, +/* 0x0086: wait */ + 0x90f900f8, + 0x87f080f9, 0x0088cf2c, -/* 0x0084: wait_loop */ +/* 0x0090: wait_loop */ 0xf402eeb9, 0xdab90421, 0x04adfd02, @@ -833,28 +836,29 @@ uint32_t nvd0_pwr_code[] = { 0x0099cf2c, 0xb80298bb, 0x1ef4069b, -/* 0x00a5: wait_done */ -/* 0x00a7: intr_watchdog */ - 0x9800f8e2, +/* 0x00b1: wait_done */ + 0xfc80fce2, +/* 0x00b7: intr_watchdog */ + 0x9800f890, 0x96b003e9, 0x2a0bf400, 0xbb9a0a98, 0x1cf4029a, 0x01d7f00f, - 0x027c21f5, + 0x028c21f5, 0x0ef494bd, -/* 0x00c5: intr_watchdog_next_time */ +/* 0x00d5: intr_watchdog_next_time */ 0x9b0a9815, 0xf400a6b0, 0x9ab8090b, 0x061cf406, -/* 0x00d4: intr_watchdog_next_time_set */ -/* 0x00d7: intr_watchdog_next_proc */ +/* 0x00e4: intr_watchdog_next_time_set */ +/* 0x00e7: intr_watchdog_next_proc */ 0x809b0980, 0xe0b603e9, 0x68e6b158, 0xc61bf402, -/* 0x00e6: intr */ +/* 0x00f6: intr */ 0x00f900f8, 0x80f904bd, 0xa0f990f9, @@ -872,12 +876,12 @@ uint32_t nvd0_pwr_code[] = { 0x0bf40289, 0x9b008020, 0xf458e7f0, - 0x0998a721, + 0x0998b721, 0x0096b09b, 0xf00e0bf4, 0x09d03407, 0x8004bd00, -/* 0x013e: intr_skip_watchdog */ +/* 0x014e: intr_skip_watchdog */ 0x89e49a09, 0x0bf40800, 0x8897f13c, @@ -889,20 +893,20 @@ uint32_t nvd0_pwr_code[] = { 0xf14f48e7, 0xf05453e3, 0x21f500d7, - 0xc0fc02e1, + 0xc0fc02f1, 0x04c007f1, 0xbd000cd0, -/* 0x0175: intr_subintr_skip_fifo */ +/* 0x0185: intr_subintr_skip_fifo */ 0x8807f104, 0x0009d006, -/* 0x017e: intr_skip_subintr */ +/* 0x018e: intr_skip_subintr */ 0x89c404bd, 0x070bf420, 0xffbfa4f1, -/* 0x0188: intr_skip_pause */ +/* 0x0198: intr_skip_pause */ 0xf44089c4, 0xa4f1070b, -/* 0x0192: intr_skip_user0 */ +/* 0x01a2: intr_skip_user0 */ 0x07f0ffbf, 0x0008d004, 0x80fc04bd, @@ -912,35 +916,35 @@ uint32_t nvd0_pwr_code[] = { 0xfca0fcb0, 0xfc80fc90, 0x0032f400, -/* 0x01b6: ticks_from_ns */ +/* 0x01c6: ticks_from_ns */ 0xc0f901f8, 0xd7f1b0f9, 0xd3f00144, - 0x9b21f500, + 0xb321f500, 0xe8ccec03, 0x00b4b003, 0xec120bf4, 0xf103e8ee, 0xf00144d7, 0x21f500d3, -/* 0x01de: ticks_from_ns_quit */ - 0xceb9039b, +/* 0x01ee: ticks_from_ns_quit */ + 0xceb903b3, 0xfcb0fc02, -/* 0x01e7: ticks_from_us */ +/* 0x01f7: ticks_from_us */ 0xf900f8c0, 0xf1b0f9c0, 0xf00144d7, 0x21f500d3, - 0xceb9039b, + 0xceb903b3, 0x00b4b002, 0xbd050bf4, -/* 0x0201: ticks_from_us_quit */ +/* 0x0211: ticks_from_us_quit */ 0xfcb0fce4, -/* 0x0207: ticks_to_us */ +/* 0x0217: ticks_to_us */ 0xf100f8c0, 0xf00144d7, 0xedff00d3, -/* 0x0213: timer */ +/* 0x0223: timer */ 0xf900f8ec, 0xf480f990, 0xf8981032, @@ -960,18 +964,18 @@ uint32_t nvd0_pwr_code[] = { 0x06e0b800, 0xb8090bf4, 0x1cf406e8, -/* 0x025d: timer_reset */ +/* 0x026d: timer_reset */ 0x3407f00e, 0xbd000ed0, 0x9a0e8004, -/* 0x0268: timer_enable */ +/* 0x0278: timer_enable */ 0xf00187f0, 0x08d03807, -/* 0x0273: timer_done */ +/* 0x0283: timer_done */ 0xf404bd00, 0x80fc1031, 0x00f890fc, -/* 0x027c: send_proc */ +/* 0x028c: send_proc */ 0x90f980f9, 0x9805e898, 0x86f004e9, @@ -986,26 +990,27 @@ uint32_t nvd0_pwr_code[] = { 0x90b6038b, 0x0794f001, 0xf404e980, -/* 0x02b6: send_done */ +/* 0x02c6: send_done */ 0x90fc0231, 0x00f880fc, -/* 0x02bc: find */ +/* 0x02cc: find */ 0x87f080f9, 0x0131f458, -/* 0x02c4: find_loop */ +/* 0x02d4: find_loop */ 0xb8008a98, 0x0bf406ae, 0x5880b610, 0x026886b1, 0xf4f01bf4, -/* 0x02da: find_done */ +/* 0x02ea: find_done */ 0x8eb90132, 0xf880fc02, -/* 0x02e1: send */ - 0xbc21f500, +/* 0x02f1: send */ + 0xcc21f500, 0x9701f402, -/* 0x02ea: recv */ - 0xe89800f8, +/* 0x02fa: recv */ + 0x90f900f8, + 0xe89880f9, 0x04e99805, 0xb80132f4, 0x0bf40689, @@ -1023,9 +1028,10 @@ uint32_t nvd0_pwr_code[] = { 0xf900ee98, 0xfef0fca5, 0x31f400f8, -/* 0x0333: recv_done */ - 0xf8f0fc01, -/* 0x0335: init */ +/* 0x0347: recv_done */ + 0xfcf0fc01, + 0xf890fc80, +/* 0x034d: init */ 0x0817f100, 0x0011cf01, 0x010911e7, @@ -1041,18 +1047,18 @@ uint32_t nvd0_pwr_code[] = { 0xf0080015, 0x01d01007, 0xf104bd00, - 0xf000e617, + 0xf000f617, 0x10fe0013, 0x1031f400, 0xf00117f0, 0x01d03807, 0xf004bd00, -/* 0x038a: init_proc */ +/* 0x03a2: init_proc */ 0xf19858f7, 0x0016b001, 0xf9fa0bf4, 0x58f0b615, -/* 0x039b: mulu32_32_64 */ +/* 0x03b3: mulu32_32_64 */ 0xf9f20ef4, 0xf920f910, 0x9540f930, @@ -1074,7 +1080,7 @@ uint32_t nvd0_pwr_code[] = { 0x40fc00b3, 0x20fc30fc, 0x00f810fc, -/* 0x03ec: host_send */ +/* 0x0404: host_send */ 0x04b017f1, 0xf10011cf, 0xcf04a027, @@ -1086,18 +1092,18 @@ uint32_t nvd0_pwr_code[] = { 0x02ec9803, 0x9801ed98, 0x21f500ee, - 0x10b602e1, + 0x10b602f1, 0x0f1ec401, 0x04b007f1, 0xbd000ed0, 0xc30ef404, -/* 0x042c: host_send_done */ -/* 0x042e: host_recv */ +/* 0x0444: host_send_done */ +/* 0x0446: host_recv */ 0x17f100f8, 0x13f14e49, 0xe1b85254, 0xb30bf406, -/* 0x043c: host_recv_wait */ +/* 0x0454: host_recv_wait */ 0x04cc17f1, 0xf10011cf, 0xcf04c827, @@ -1116,7 +1122,7 @@ uint32_t nvd0_pwr_code[] = { 0xf04027f0, 0x02d00007, 0xf804bd00, -/* 0x0485: host_init */ +/* 0x049d: host_init */ 0x8017f100, 0x1014b600, 0x027015f1, @@ -1130,26 +1136,26 @@ uint32_t nvd0_pwr_code[] = { 0x0117f004, 0x04c407f1, 0xbd0001d0, -/* 0x04bb: memx_func_enter */ +/* 0x04d3: memx_func_enter */ 0xf000f804, 0x07f10467, 0x06d007e0, -/* 0x04c7: memx_func_enter_wait */ +/* 0x04df: memx_func_enter_wait */ 0xf104bd00, 0xcf07c067, 0x64f00066, 0xf60bf404, 0xb6001698, 0x00f80410, -/* 0x04dc: memx_func_leave */ +/* 0x04f4: memx_func_leave */ 0xf10467f0, 0xd007e407, 0x04bd0006, -/* 0x04e8: memx_func_leave_wait */ +/* 0x0500: memx_func_leave_wait */ 0x07c067f1, 0xf00066cf, 0x1bf40464, -/* 0x04f7: memx_func_wr32 */ +/* 0x050f: memx_func_wr32 */ 0x9800f8f6, 0x15980016, 0x0810b601, @@ -1157,22 +1163,22 @@ uint32_t nvd0_pwr_code[] = { 0xe0fcd0fc, 0xb63321f4, 0x1bf40242, -/* 0x0513: memx_func_wait */ +/* 0x052b: memx_func_wait */ 0xf000f8e9, 0x88cf2c87, 0x001e9800, 0x98011d98, 0x1b98021c, 0x1010b603, - 0xf87e21f4, -/* 0x052d: memx_func_delay */ + 0xf88621f4, +/* 0x0545: memx_func_delay */ 0x001e9800, 0xf40410b6, 0x00f86721, -/* 0x0538: memx_exec */ +/* 0x0550: memx_exec */ 0xd0f9e0f9, 0xb902c1b9, -/* 0x0542: memx_exec_next */ +/* 0x055a: memx_exec_next */ 0x139802b2, 0x0410b600, 0xf0103495, @@ -1180,109 +1186,109 @@ uint32_t nvd0_pwr_code[] = { 0xb855f9de, 0x1ef40612, 0xfcd0fcec, - 0xe121f5e0, -/* 0x0563: memx_info */ + 0xf121f5e0, +/* 0x057b: memx_info */ 0xf100f802, 0xf103acc7, 0xf50800b7, - 0xf802e121, -/* 0x0571: memx_recv */ + 0xf802f121, +/* 0x0589: memx_recv */ 0x01d6b000, 0xb0c40bf4, 0x0bf400d6, -/* 0x057f: memx_init */ +/* 0x0597: memx_init */ 0xf800f8e9, -/* 0x0581: perf_recv */ -/* 0x0583: perf_init */ +/* 0x0599: perf_recv */ +/* 0x059b: perf_init */ 0xf800f800, -/* 0x0585: i2c_drive_scl */ +/* 0x059d: i2c_drive_scl */ 0x0036b000, 0xf10e0bf4, 0xd007e007, 0x04bd0001, -/* 0x0596: i2c_drive_scl_lo */ +/* 0x05ae: i2c_drive_scl_lo */ 0x07f100f8, 0x01d007e4, 0xf804bd00, -/* 0x05a1: i2c_drive_sda */ +/* 0x05b9: i2c_drive_sda */ 0x0036b000, 0xf10e0bf4, 0xd007e007, 0x04bd0002, -/* 0x05b2: i2c_drive_sda_lo */ +/* 0x05ca: i2c_drive_sda_lo */ 0x07f100f8, 0x02d007e4, 0xf804bd00, -/* 0x05bd: i2c_sense_scl */ +/* 0x05d5: i2c_sense_scl */ 0x0132f400, 0x07c437f1, 0xfd0033cf, 0x0bf40431, 0x0131f406, -/* 0x05d0: i2c_sense_scl_done */ -/* 0x05d2: i2c_sense_sda */ +/* 0x05e8: i2c_sense_scl_done */ +/* 0x05ea: i2c_sense_sda */ 0x32f400f8, 0xc437f101, 0x0033cf07, 0xf40432fd, 0x31f4060b, -/* 0x05e5: i2c_sense_sda_done */ -/* 0x05e7: i2c_raise_scl */ +/* 0x05fd: i2c_sense_sda_done */ +/* 0x05ff: i2c_raise_scl */ 0xf900f801, 0x9847f140, 0x0137f008, - 0x058521f5, -/* 0x05f4: i2c_raise_scl_wait */ + 0x059d21f5, +/* 0x060c: i2c_raise_scl_wait */ 0x03e8e7f1, 0xf56721f4, - 0xf405bd21, + 0xf405d521, 0x42b60901, 0xef1bf401, -/* 0x0608: i2c_raise_scl_done */ +/* 0x0620: i2c_raise_scl_done */ 0x00f840fc, -/* 0x060c: i2c_start */ - 0x05bd21f5, +/* 0x0624: i2c_start */ + 0x05d521f5, 0xf50d11f4, - 0xf405d221, + 0xf405ea21, 0x0ef40611, -/* 0x061d: i2c_start_rep */ +/* 0x0635: i2c_start_rep */ 0x0037f030, - 0x058521f5, + 0x059d21f5, 0xf50137f0, - 0xbb05a121, + 0xbb05b921, 0x65b60076, 0x9450f904, 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x05e721f5, + 0x05ff21f5, 0xf40464b6, -/* 0x064a: i2c_start_send */ +/* 0x0662: i2c_start_send */ 0x37f01f11, - 0xa121f500, + 0xb921f500, 0x88e7f105, 0x6721f413, 0xf50037f0, - 0xf1058521, + 0xf1059d21, 0xf41388e7, -/* 0x0666: i2c_start_out */ +/* 0x067e: i2c_start_out */ 0x00f86721, -/* 0x0668: i2c_stop */ +/* 0x0680: i2c_stop */ 0xf50037f0, - 0xf0058521, + 0xf0059d21, 0x21f50037, - 0xe7f105a1, + 0xe7f105b9, 0x21f403e8, 0x0137f067, - 0x058521f5, + 0x059d21f5, 0x1388e7f1, 0xf06721f4, 0x21f50137, - 0xe7f105a1, + 0xe7f105b9, 0x21f41388, -/* 0x069b: i2c_bitw */ +/* 0x06b3: i2c_bitw */ 0xf500f867, - 0xf105a121, + 0xf105b921, 0xf403e8e7, 0x76bb6721, 0x0465b600, @@ -1290,18 +1296,18 @@ uint32_t nvd0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb605e721, + 0xb605ff21, 0x11f40464, 0x88e7f118, 0x6721f413, 0xf50037f0, - 0xf1058521, + 0xf1059d21, 0xf41388e7, -/* 0x06da: i2c_bitw_out */ +/* 0x06f2: i2c_bitw_out */ 0x00f86721, -/* 0x06dc: i2c_bitr */ +/* 0x06f4: i2c_bitr */ 0xf50137f0, - 0xf105a121, + 0xf105b921, 0xf403e8e7, 0x76bb6721, 0x0465b600, @@ -1309,26 +1315,26 @@ uint32_t nvd0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb605e721, + 0xb605ff21, 0x11f40464, - 0xd221f51b, + 0xea21f51b, 0x0037f005, - 0x058521f5, + 0x059d21f5, 0x1388e7f1, 0xf06721f4, 0x31f4013c, -/* 0x0721: i2c_bitr_done */ -/* 0x0723: i2c_get_byte */ +/* 0x0739: i2c_bitr_done */ +/* 0x073b: i2c_get_byte */ 0xf000f801, 0x47f00057, -/* 0x0729: i2c_get_byte_next */ +/* 0x0741: i2c_get_byte_next */ 0x0154b608, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0xdc21f550, + 0xf421f550, 0x0464b606, 0xfd2b11f4, 0x42b60553, @@ -1339,12 +1345,12 @@ uint32_t nvd0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x069b21f5, -/* 0x0773: i2c_get_byte_done */ + 0x06b321f5, +/* 0x078b: i2c_get_byte_done */ 0xf80464b6, -/* 0x0775: i2c_put_byte */ +/* 0x078d: i2c_put_byte */ 0x0847f000, -/* 0x0778: i2c_put_byte_next */ +/* 0x0790: i2c_put_byte_next */ 0xff0142b6, 0x76bb3854, 0x0465b600, @@ -1352,7 +1358,7 @@ uint32_t nvd0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6069b21, + 0xb606b321, 0x11f40464, 0x0046b034, 0xbbd81bf4, @@ -1361,20 +1367,20 @@ uint32_t nvd0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x06dc21f5, + 0x06f421f5, 0xf40464b6, 0x76bb0f11, 0x0136b000, 0xf4061bf4, -/* 0x07ce: i2c_put_byte_done */ +/* 0x07e6: i2c_put_byte_done */ 0x00f80132, -/* 0x07d0: i2c_addr */ +/* 0x07e8: i2c_addr */ 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x0c21f550, + 0x2421f550, 0x0464b606, 0xe72911f4, 0xb6012ec3, @@ -1385,23 +1391,23 @@ uint32_t nvd0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60775, -/* 0x0815: i2c_addr_done */ -/* 0x0817: i2c_acquire_addr */ + 0x64b6078d, +/* 0x082d: i2c_addr_done */ +/* 0x082f: i2c_acquire_addr */ 0xc700f804, 0xe4b6f8ce, 0x14e0b705, -/* 0x0823: i2c_acquire */ +/* 0x083b: i2c_acquire */ 0xf500f8d0, - 0xf4081721, + 0xf4082f21, 0xd9f00421, 0x3321f403, -/* 0x0832: i2c_release */ +/* 0x084a: i2c_release */ 0x21f500f8, - 0x21f40817, + 0x21f4082f, 0x03daf004, 0xf83321f4, -/* 0x0841: i2c_recv */ +/* 0x0859: i2c_recv */ 0x0132f400, 0xb6f8c1c7, 0x16b00214, @@ -1420,7 +1426,7 @@ uint32_t nvd0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x082321f5, + 0x083b21f5, 0xfc0464b6, 0x00d6b0d0, 0x00b31bf5, @@ -1430,7 +1436,7 @@ uint32_t nvd0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x07d021f5, + 0x07e821f5, 0xf50464b6, 0xc700d011, 0x76bbe0c5, @@ -1439,7 +1445,7 @@ uint32_t nvd0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6077521, + 0xb6078d21, 0x11f50464, 0x57f000ad, 0x0076bb01, @@ -1448,7 +1454,7 @@ uint32_t nvd0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b607d0, + 0x64b607e8, 0x8a11f504, 0x0076bb00, 0xf90465b6, @@ -1456,7 +1462,7 @@ uint32_t nvd0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60723, + 0x64b6073b, 0x6a11f404, 0xbbe05bcb, 0x65b60076, @@ -1464,38 +1470,38 @@ uint32_t nvd0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x066821f5, + 0x068021f5, 0xb90464b6, 0x74bd025b, -/* 0x0947: i2c_recv_not_rd08 */ +/* 0x095f: i2c_recv_not_rd08 */ 0xb0430ef4, 0x1bf401d6, 0x0057f03d, - 0x07d021f5, + 0x07e821f5, 0xc73311f4, 0x21f5e0c5, - 0x11f40775, + 0x11f4078d, 0x0057f029, - 0x07d021f5, + 0x07e821f5, 0xc71f11f4, 0x21f5e0b5, - 0x11f40775, - 0x6821f515, + 0x11f4078d, + 0x8021f515, 0xc774bd06, 0x1bf408c5, 0x0232f409, -/* 0x0987: i2c_recv_not_wr08 */ -/* 0x0987: i2c_recv_done */ +/* 0x099f: i2c_recv_not_wr08 */ +/* 0x099f: i2c_recv_done */ 0xc7030ef4, 0x21f5f8ce, - 0xe0fc0832, + 0xe0fc084a, 0x12f4d0fc, 0x027cb90a, - 0x02e121f5, -/* 0x099c: i2c_recv_exit */ -/* 0x099e: i2c_init */ + 0x02f121f5, +/* 0x09b4: i2c_recv_exit */ +/* 0x09b6: i2c_init */ 0x00f800f8, -/* 0x09a0: test_recv */ +/* 0x09b8: test_recv */ 0x05d817f1, 0xb60011cf, 0x07f10110, @@ -1503,29 +1509,29 @@ uint32_t nvd0_pwr_code[] = { 0xf104bd00, 0xf1d900e7, 0xf5134fe3, - 0xf8021321, -/* 0x09c1: test_init */ + 0xf8022321, +/* 0x09d9: test_init */ 0x00e7f100, - 0x1321f508, -/* 0x09cb: idle_recv */ + 0x2321f508, +/* 0x09e3: idle_recv */ 0xf800f802, -/* 0x09cd: idle */ +/* 0x09e5: idle */ 0x0031f400, 0x05d417f1, 0xb60011cf, 0x07f10110, 0x01d005d4, -/* 0x09e3: idle_loop */ +/* 0x09fb: idle_loop */ 0xf004bd00, 0x32f45817, -/* 0x09e9: idle_proc */ -/* 0x09e9: idle_proc_exec */ +/* 0x0a01: idle_proc */ +/* 0x0a01: idle_proc_exec */ 0xb910f902, 0x21f5021e, - 0x10fc02ea, + 0x10fc02fa, 0xf40911f4, 0x0ef40231, -/* 0x09fd: idle_proc_next */ +/* 0x0a15: idle_proc_next */ 0x5810b6ef, 0xf4061fb8, 0x02f4e61b, @@ -1585,10 +1591,4 @@ uint32_t nvd0_pwr_code[] = { 0x00000000, 0x00000000, 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, };