summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Peres <martin.peres@labri.fr>2014-08-17 17:33:14 +0200
committerBen Skeggs <bskeggs@redhat.com>2014-09-15 22:24:57 +1000
commit4417be553c348540ec2c8acd423af2ec8e87cde5 (patch)
treef2f0fc8bcac7b75d9c04046f211b2c2a2fdd732d
parentb9fcf971bfd28bbc257794f5387c922efc12f7f4 (diff)
downloadlinux-4417be553c348540ec2c8acd423af2ec8e87cde5.tar.bz2
drm/nouveau/pwr/fuc: make $r1-$r10 registers callee-saved in kernel.fuc
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/kernel.fuc13
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h370
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h368
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h368
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h366
5 files changed, 749 insertions, 736 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,
+ 0x000004a1,
0x00000002,
0x00000002,
- 0x000004a1,
+ 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,
};