From 7a2f9743eab19b67688ff8cd491cf531e7516b8d Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Thu, 11 Sep 2014 23:32:20 +1000 Subject: [PATCH] drm/gf100-/pwr/memx: block host and fifo around reclock Signed-off-by: Ben Skeggs --- .../drm/nouveau/core/subdev/pwr/fuc/memx.fuc | 34 +- .../nouveau/core/subdev/pwr/fuc/nv108.fuc.h | 340 +++++++++------ .../nouveau/core/subdev/pwr/fuc/nvc0.fuc.h | 394 +++++++++--------- .../nouveau/core/subdev/pwr/fuc/nvd0.fuc.h | 338 +++++++++------ 4 files changed, 632 insertions(+), 474 deletions(-) diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc index bd639fbaadfa..e89789a53b80 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc +++ b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc @@ -84,6 +84,22 @@ memx_func_enter: movw $r6 0x2 or $r7 $r6 nv_wr32($r8, $r7) +#else + movw $r6 0x001620 + imm32($r7, ~0x00000aa2); + nv_rd32($r8, $r6) + and $r8 $r7 + nv_wr32($r6, $r8) + + imm32($r7, ~0x00000001) + nv_rd32($r8, $r6) + and $r8 $r7 + nv_wr32($r6, $r8) + + movw $r6 0x0026f0 + nv_rd32($r8, $r6) + and $r8 $r7 + nv_wr32($r6, $r8) #endif mov $r6 NV_PPWR_OUTPUT_SET_FB_PAUSE @@ -95,7 +111,6 @@ memx_func_enter: nv_iord($r6, NV_PPWR_TIMER_LOW) st b32 D[$r0 + #memx_ts_start] $r6 - ret // description @@ -121,8 +136,23 @@ memx_func_leave: imm32($r6, 0xffffffcc) and $r7 $r6 nv_wr32($r8, $r7) +#else + movw $r6 0x0026f0 + imm32($r7, 0x00000001) + nv_rd32($r8, $r6) + or $r8 $r7 + nv_wr32($r6, $r8) + + movw $r6 0x001620 + nv_rd32($r8, $r6) + or $r8 $r7 + nv_wr32($r6, $r8) + + imm32($r7, 0x00000aa2); + nv_rd32($r8, $r6) + or $r8 $r7 + nv_wr32($r6, $r8) #endif - ret #if NVKM_PPWR_CHIPSET < GF119 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 62ca2e1a9b96..4d278a96b2bb 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h +++ b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h @@ -46,8 +46,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x00000564, - 0x00000556, + 0x0000061c, + 0x0000060e, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x00000568, - 0x00000566, + 0x00000620, + 0x0000061e, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x0000096c, - 0x00000813, + 0x00000a24, + 0x000008cb, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x0000098d, - 0x0000096e, + 0x00000a45, + 0x00000a26, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nv108_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x00000998, - 0x00000996, + 0x00000a50, + 0x00000a4e, 0x00000000, 0x00000000, 0x00000000, @@ -233,19 +233,19 @@ uint32_t nv108_pwr_data[] = { /* 0x037c: memx_func_next */ 0x00000002, 0x00000000, - 0x000004a3, + 0x00000500, 0x00000003, 0x00000002, - 0x000004c8, + 0x00000580, 0x00040004, 0x00000000, - 0x000004e5, + 0x0000059d, 0x00010005, 0x00000000, - 0x000004ff, + 0x000005b7, 0x00010006, 0x00000000, - 0x000004c3, + 0x0000057b, /* 0x03b8: memx_func_tail */ /* 0x03b8: memx_ts_start */ 0x00000000, @@ -1183,29 +1183,75 @@ uint32_t nv108_pwr_code[] = { 0x04c44001, 0xbd0001f6, /* 0x0483: memx_func_enter */ - 0x0600f804, - 0x07e04004, - 0xbd0006f6, -/* 0x048d: memx_func_enter_wait */ - 0x07c04604, - 0xf00066cf, - 0x0bf40464, - 0xcf2c06f7, - 0x06b50066, -/* 0x04a3: memx_func_leave */ - 0x0600f8ee, - 0x0066cf2c, - 0x06ef06b5, - 0x07e44004, - 0xbd0006f6, -/* 0x04b5: memx_func_leave_wait */ - 0x07c04604, - 0xf00066cf, - 0x1bf40464, -/* 0x04c3: memx_func_wait_vblank */ - 0xb600f8f7, + 0xf100f804, + 0xf1162067, + 0xf1f55d77, + 0xb2ffff73, + 0x00047e6e, + 0xfdd8b200, + 0x60f90487, + 0xd0fc80f9, + 0x2e7ee0fc, + 0x77f10000, + 0x73f1fffe, + 0x6eb2ffff, + 0x0000047e, + 0x87fdd8b2, + 0xf960f904, + 0xfcd0fc80, + 0x002e7ee0, + 0xf067f100, + 0x7e6eb226, + 0xb2000004, + 0x0487fdd8, + 0x80f960f9, + 0xe0fcd0fc, + 0x00002e7e, + 0xe0400406, + 0x0006f607, +/* 0x04ea: memx_func_enter_wait */ + 0xc04604bd, + 0x0066cf07, + 0xf40464f0, + 0x2c06f70b, + 0xb50066cf, + 0x00f8ee06, +/* 0x0500: memx_func_leave */ + 0x66cf2c06, + 0xef06b500, + 0xe4400406, + 0x0006f607, +/* 0x0512: memx_func_leave_wait */ + 0xc04604bd, + 0x0066cf07, + 0xf40464f0, + 0x67f1f71b, + 0x77f126f0, + 0x73f00001, + 0x7e6eb200, + 0xb2000004, + 0x0587fdd8, + 0x80f960f9, + 0xe0fcd0fc, + 0x00002e7e, + 0x162067f1, + 0x047e6eb2, + 0xd8b20000, + 0xf90587fd, + 0xfc80f960, + 0x7ee0fcd0, + 0xf100002e, + 0xf00aa277, + 0x6eb20073, + 0x0000047e, + 0x87fdd8b2, + 0xf960f905, + 0xfcd0fc80, + 0x002e7ee0, +/* 0x057b: memx_func_wait_vblank */ + 0xb600f800, 0x00f80410, -/* 0x04c8: memx_func_wr32 */ +/* 0x0580: memx_func_wr32 */ 0x98001698, 0x10b60115, 0xf960f908, @@ -1213,21 +1259,21 @@ uint32_t nv108_pwr_code[] = { 0x002e7ee0, 0x0242b600, 0xf8e81bf4, -/* 0x04e5: memx_func_wait */ +/* 0x059d: memx_func_wait */ 0xcf2c0800, 0x1e980088, 0x011d9800, 0x98021c98, 0x10b6031b, 0x00797e10, -/* 0x04ff: memx_func_delay */ +/* 0x05b7: memx_func_delay */ 0x9800f800, 0x10b6001e, 0x005d7e04, -/* 0x050b: memx_exec */ +/* 0x05c3: memx_exec */ 0xf900f800, 0xb2d0f9e0, -/* 0x0513: memx_exec_next */ +/* 0x05cb: memx_exec_next */ 0x98b2b2c1, 0x10b60013, 0xf034e704, @@ -1242,103 +1288,103 @@ uint32_t nv108_pwr_code[] = { 0x00bbcf07, 0xe0fcd0fc, 0x0002c27e, -/* 0x054a: memx_info */ +/* 0x0602: memx_info */ 0xc04c00f8, 0x08004b03, 0x0002c27e, -/* 0x0556: memx_recv */ +/* 0x060e: memx_recv */ 0xd6b000f8, 0xb20bf401, 0xf400d6b0, 0x00f8eb0b, -/* 0x0564: memx_init */ -/* 0x0566: perf_recv */ +/* 0x061c: memx_init */ +/* 0x061e: perf_recv */ 0x00f800f8, -/* 0x0568: perf_init */ -/* 0x056a: i2c_drive_scl */ +/* 0x0620: perf_init */ +/* 0x0622: i2c_drive_scl */ 0x36b000f8, 0x0d0bf400, 0xf607e040, 0x04bd0001, -/* 0x057a: i2c_drive_scl_lo */ +/* 0x0632: i2c_drive_scl_lo */ 0xe44000f8, 0x0001f607, 0x00f804bd, -/* 0x0584: i2c_drive_sda */ +/* 0x063c: i2c_drive_sda */ 0xf40036b0, 0xe0400d0b, 0x0002f607, 0x00f804bd, -/* 0x0594: i2c_drive_sda_lo */ +/* 0x064c: i2c_drive_sda_lo */ 0xf607e440, 0x04bd0002, -/* 0x059e: i2c_sense_scl */ +/* 0x0656: i2c_sense_scl */ 0x32f400f8, 0x07c44301, 0xfd0033cf, 0x0bf40431, 0x0131f406, -/* 0x05b0: i2c_sense_scl_done */ -/* 0x05b2: i2c_sense_sda */ +/* 0x0668: i2c_sense_scl_done */ +/* 0x066a: i2c_sense_sda */ 0x32f400f8, 0x07c44301, 0xfd0033cf, 0x0bf40432, 0x0131f406, -/* 0x05c4: i2c_sense_sda_done */ -/* 0x05c6: i2c_raise_scl */ +/* 0x067c: i2c_sense_sda_done */ +/* 0x067e: i2c_raise_scl */ 0x40f900f8, 0x03089844, - 0x056a7e01, -/* 0x05d1: i2c_raise_scl_wait */ + 0x06227e01, +/* 0x0689: i2c_raise_scl_wait */ 0x03e84e00, 0x00005d7e, - 0x00059e7e, + 0x0006567e, 0xb60901f4, 0x1bf40142, -/* 0x05e5: i2c_raise_scl_done */ +/* 0x069d: i2c_raise_scl_done */ 0xf840fcef, -/* 0x05e9: i2c_start */ - 0x059e7e00, +/* 0x06a1: i2c_start */ + 0x06567e00, 0x0d11f400, - 0x0005b27e, + 0x00066a7e, 0xf40611f4, -/* 0x05fa: i2c_start_rep */ +/* 0x06b2: i2c_start_rep */ 0x00032e0e, - 0x00056a7e, - 0x847e0103, - 0x76bb0005, + 0x0006227e, + 0x3c7e0103, + 0x76bb0006, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb60005c6, + 0xb600067e, 0x11f40464, -/* 0x0625: i2c_start_send */ +/* 0x06dd: i2c_start_send */ 0x7e00031d, - 0x4e000584, + 0x4e00063c, 0x5d7e1388, 0x00030000, - 0x00056a7e, + 0x0006227e, 0x7e13884e, -/* 0x063f: i2c_start_out */ +/* 0x06f7: i2c_start_out */ 0xf800005d, -/* 0x0641: i2c_stop */ +/* 0x06f9: i2c_stop */ 0x7e000300, - 0x0300056a, - 0x05847e00, + 0x03000622, + 0x063c7e00, 0x03e84e00, 0x00005d7e, - 0x6a7e0103, - 0x884e0005, + 0x227e0103, + 0x884e0006, 0x005d7e13, 0x7e010300, - 0x4e000584, + 0x4e00063c, 0x5d7e1388, 0x00f80000, -/* 0x0670: i2c_bitw */ - 0x0005847e, +/* 0x0728: i2c_bitw */ + 0x00063c7e, 0x7e03e84e, 0xbb00005d, 0x65b60076, @@ -1346,44 +1392,44 @@ uint32_t nv108_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x0005c67e, + 0x00067e7e, 0xf40464b6, 0x884e1711, 0x005d7e13, 0x7e000300, - 0x4e00056a, + 0x4e000622, 0x5d7e1388, -/* 0x06ae: i2c_bitw_out */ +/* 0x0766: i2c_bitw_out */ 0x00f80000, -/* 0x06b0: i2c_bitr */ - 0x847e0103, - 0xe84e0005, +/* 0x0768: i2c_bitr */ + 0x3c7e0103, + 0xe84e0006, 0x005d7e03, 0x0076bb00, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, - 0xc67e50fc, - 0x64b60005, + 0x7e7e50fc, + 0x64b60006, 0x1a11f404, - 0x0005b27e, - 0x6a7e0003, - 0x884e0005, + 0x00066a7e, + 0x227e0003, + 0x884e0006, 0x005d7e13, 0x013cf000, -/* 0x06f3: i2c_bitr_done */ +/* 0x07ab: i2c_bitr_done */ 0xf80131f4, -/* 0x06f5: i2c_get_byte */ +/* 0x07ad: i2c_get_byte */ 0x04000500, -/* 0x06f9: i2c_get_byte_next */ +/* 0x07b1: i2c_get_byte_next */ 0x0154b608, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x06b07e50, + 0x07687e50, 0x0464b600, 0xfd2a11f4, 0x42b60553, @@ -1394,11 +1440,11 @@ uint32_t nv108_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb6000670, -/* 0x0742: i2c_get_byte_done */ + 0xb6000728, +/* 0x07fa: i2c_get_byte_done */ 0x00f80464, -/* 0x0744: i2c_put_byte */ -/* 0x0746: i2c_put_byte_next */ +/* 0x07fc: i2c_put_byte */ +/* 0x07fe: i2c_put_byte_next */ 0x42b60804, 0x3854ff01, 0xb60076bb, @@ -1406,7 +1452,7 @@ uint32_t nv108_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x06707e50, + 0x07287e50, 0x0464b600, 0xb03411f4, 0x1bf40046, @@ -1415,21 +1461,21 @@ uint32_t nv108_pwr_code[] = { 0x04659450, 0xbd0256bb, 0x0475fd50, - 0xb07e50fc, - 0x64b60006, + 0x687e50fc, + 0x64b60007, 0x0f11f404, 0xb00076bb, 0x1bf40136, 0x0132f406, -/* 0x079c: i2c_put_byte_done */ -/* 0x079e: i2c_addr */ +/* 0x0854: i2c_put_byte_done */ +/* 0x0856: i2c_addr */ 0x76bb00f8, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb60005e9, + 0xb60006a1, 0x11f40464, 0x2ec3e729, 0x0134b601, @@ -1439,24 +1485,24 @@ uint32_t nv108_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x0007447e, -/* 0x07e3: i2c_addr_done */ + 0x0007fc7e, +/* 0x089b: i2c_addr_done */ 0xf80464b6, -/* 0x07e5: i2c_acquire_addr */ +/* 0x089d: i2c_acquire_addr */ 0xf8cec700, 0xb705e4b6, 0xf8d014e0, -/* 0x07f1: i2c_acquire */ - 0x07e57e00, +/* 0x08a9: i2c_acquire */ + 0x089d7e00, 0x00047e00, 0x03d9f000, 0x00002e7e, -/* 0x0802: i2c_release */ - 0xe57e00f8, - 0x047e0007, +/* 0x08ba: i2c_release */ + 0x9d7e00f8, + 0x047e0008, 0xdaf00000, 0x002e7e03, -/* 0x0813: i2c_recv */ +/* 0x08cb: i2c_recv */ 0xf400f800, 0xc1c70132, 0x0214b6f8, @@ -1476,7 +1522,7 @@ uint32_t nv108_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x0007f17e, + 0x0008a97e, 0xfc0464b6, 0x00d6b0d0, 0x00b01bf5, @@ -1486,7 +1532,7 @@ uint32_t nv108_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0x7e50fc04, - 0xb600079e, + 0xb6000856, 0x11f50464, 0xc5c700cc, 0x0076bbe0, @@ -1494,7 +1540,7 @@ uint32_t nv108_pwr_code[] = { 0x04659450, 0xbd0256bb, 0x0475fd50, - 0x447e50fc, + 0xfc7e50fc, 0x64b60007, 0xa911f504, 0xbb010500, @@ -1503,7 +1549,7 @@ uint32_t nv108_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x00079e7e, + 0x0008567e, 0xf50464b6, 0xbb008711, 0x65b60076, @@ -1511,7 +1557,7 @@ uint32_t nv108_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x0006f57e, + 0x0007ad7e, 0xf40464b6, 0x5bcb6711, 0x0076bbe0, @@ -1519,37 +1565,37 @@ uint32_t nv108_pwr_code[] = { 0x04659450, 0xbd0256bb, 0x0475fd50, - 0x417e50fc, + 0xf97e50fc, 0x64b60006, 0xbd5bb204, 0x410ef474, -/* 0x0918: i2c_recv_not_rd08 */ +/* 0x09d0: i2c_recv_not_rd08 */ 0xf401d6b0, 0x00053b1b, - 0x00079e7e, + 0x0008567e, 0xc73211f4, - 0x447ee0c5, + 0xfc7ee0c5, 0x11f40007, 0x7e000528, - 0xf400079e, + 0xf4000856, 0xb5c71f11, - 0x07447ee0, + 0x07fc7ee0, 0x1511f400, - 0x0006417e, + 0x0006f97e, 0xc5c774bd, 0x091bf408, 0xf40232f4, -/* 0x0956: i2c_recv_not_wr08 */ -/* 0x0956: i2c_recv_done */ +/* 0x0a0e: i2c_recv_not_wr08 */ +/* 0x0a0e: i2c_recv_done */ 0xcec7030e, - 0x08027ef8, + 0x08ba7ef8, 0xfce0fc00, 0x0912f4d0, 0xc27e7cb2, -/* 0x096a: i2c_recv_exit */ +/* 0x0a22: i2c_recv_exit */ 0x00f80002, -/* 0x096c: i2c_init */ -/* 0x096e: test_recv */ +/* 0x0a24: i2c_init */ +/* 0x0a26: test_recv */ 0x584100f8, 0x0011cf04, 0x400110b6, @@ -1558,27 +1604,27 @@ uint32_t nv108_pwr_code[] = { 0xf1d900e7, 0x7e134fe3, 0xf8000201, -/* 0x098d: test_init */ +/* 0x0a45: test_init */ 0x08004e00, 0x0002017e, -/* 0x0996: idle_recv */ +/* 0x0a4e: idle_recv */ 0x00f800f8, -/* 0x0998: idle */ +/* 0x0a50: idle */ 0x410031f4, 0x11cf0454, 0x0110b600, 0xf6045440, 0x04bd0001, -/* 0x09ac: idle_loop */ +/* 0x0a64: idle_loop */ 0x32f45801, -/* 0x09b1: idle_proc */ -/* 0x09b1: idle_proc_exec */ +/* 0x0a69: idle_proc */ +/* 0x0a69: idle_proc_exec */ 0xb210f902, 0x02cb7e1e, 0xf410fc00, 0x31f40911, 0xf00ef402, -/* 0x09c4: idle_proc_next */ +/* 0x0a7c: idle_proc_next */ 0xa65810b6, 0xe81bf41f, 0xf4e002f4, @@ -1594,4 +1640,22 @@ uint32_t nv108_pwr_code[] = { 0x00000000, 0x00000000, 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, }; diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h index c3b288a4ed6a..ca30fa4011b5 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h +++ b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h @@ -46,8 +46,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x00000693, - 0x00000685, + 0x0000074b, + 0x0000073d, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x00000697, - 0x00000695, + 0x0000074f, + 0x0000074d, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x00000ac7, - 0x0000096a, + 0x00000b7f, + 0x00000a22, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x00000af0, - 0x00000ac9, + 0x00000ba8, + 0x00000b81, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nvc0_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x00000afc, - 0x00000afa, + 0x00000bb4, + 0x00000bb2, 0x00000000, 0x00000000, 0x00000000, @@ -233,19 +233,19 @@ uint32_t nvc0_pwr_data[] = { /* 0x037c: memx_func_next */ 0x00000002, 0x00000000, - 0x0000057e, + 0x000005db, 0x00000003, 0x00000002, - 0x000005ed, + 0x000006a5, 0x00040004, 0x00000000, - 0x00000609, + 0x000006c1, 0x00010005, 0x00000000, - 0x00000626, + 0x000006de, 0x00010006, 0x00000000, - 0x000005ab, + 0x00000663, /* 0x03b8: memx_func_tail */ /* 0x03b8: memx_ts_start */ 0x00000000, @@ -1236,55 +1236,101 @@ uint32_t nvc0_pwr_code[] = { 0x01d00604, 0xf804bd00, /* 0x0551: memx_func_enter */ - 0x0467f000, - 0x07e007f1, - 0xd00604b6, - 0x04bd0006, -/* 0x0560: memx_func_enter_wait */ - 0x07c067f1, - 0xcf0664b6, - 0x64f00066, - 0xf30bf404, - 0xb62c67f0, - 0x66cf0664, - 0xee068000, -/* 0x057e: memx_func_leave */ - 0x67f000f8, - 0x0664b62c, - 0x800066cf, - 0x67f0ef06, - 0xe407f104, + 0x2067f100, + 0x5d77f116, + 0xff73f1f5, + 0x026eb9ff, + 0xb90421f4, + 0x87fd02d8, + 0xf960f904, + 0xfcd0fc80, + 0x3f21f4e0, + 0xfffe77f1, + 0xffff73f1, + 0xf4026eb9, + 0xd8b90421, + 0x0487fd02, + 0x80f960f9, + 0xe0fcd0fc, + 0xf13f21f4, + 0xb926f067, + 0x21f4026e, + 0x02d8b904, + 0xf90487fd, + 0xfc80f960, + 0xf4e0fcd0, + 0x67f03f21, + 0xe007f104, 0x0604b607, 0xbd0006d0, -/* 0x0599: memx_func_leave_wait */ +/* 0x05bd: memx_func_enter_wait */ 0xc067f104, 0x0664b607, 0xf00066cf, - 0x1bf40464, -/* 0x05ab: memx_func_wait_vblank */ - 0x9800f8f3, + 0x0bf40464, + 0x2c67f0f3, + 0xcf0664b6, + 0x06800066, +/* 0x05db: memx_func_leave */ + 0xf000f8ee, + 0x64b62c67, + 0x0066cf06, + 0xf0ef0680, + 0x07f10467, + 0x04b607e4, + 0x0006d006, +/* 0x05f6: memx_func_leave_wait */ + 0x67f104bd, + 0x64b607c0, + 0x0066cf06, + 0xf40464f0, + 0x67f1f31b, + 0x77f126f0, + 0x73f00001, + 0x026eb900, + 0xb90421f4, + 0x87fd02d8, + 0xf960f905, + 0xfcd0fc80, + 0x3f21f4e0, + 0x162067f1, + 0xf4026eb9, + 0xd8b90421, + 0x0587fd02, + 0x80f960f9, + 0xe0fcd0fc, + 0xf13f21f4, + 0xf00aa277, + 0x6eb90073, + 0x0421f402, + 0xfd02d8b9, + 0x60f90587, + 0xd0fc80f9, + 0x21f4e0fc, +/* 0x0663: memx_func_wait_vblank */ + 0x9800f83f, 0x66b00016, 0x130bf400, 0xf40166b0, 0x0ef4060b, -/* 0x05bd: memx_func_wait_vblank_head1 */ +/* 0x0675: memx_func_wait_vblank_head1 */ 0x2077f12e, 0x070ef400, -/* 0x05c4: memx_func_wait_vblank_head0 */ +/* 0x067c: memx_func_wait_vblank_head0 */ 0x000877f1, -/* 0x05c8: memx_func_wait_vblank_0 */ +/* 0x0680: memx_func_wait_vblank_0 */ 0x07c467f1, 0xcf0664b6, 0x67fd0066, 0xf31bf404, -/* 0x05d8: memx_func_wait_vblank_1 */ +/* 0x0690: memx_func_wait_vblank_1 */ 0x07c467f1, 0xcf0664b6, 0x67fd0066, 0xf30bf404, -/* 0x05e8: memx_func_wait_vblank_fini */ +/* 0x06a0: memx_func_wait_vblank_fini */ 0xf80410b6, -/* 0x05ed: memx_func_wr32 */ +/* 0x06a5: memx_func_wr32 */ 0x00169800, 0xb6011598, 0x60f90810, @@ -1292,7 +1338,7 @@ uint32_t nvc0_pwr_code[] = { 0x21f4e0fc, 0x0242b63f, 0xf8e91bf4, -/* 0x0609: memx_func_wait */ +/* 0x06c1: memx_func_wait */ 0x2c87f000, 0xcf0684b6, 0x1e980088, @@ -1300,14 +1346,14 @@ uint32_t nvc0_pwr_code[] = { 0x98021c98, 0x10b6031b, 0xa421f410, -/* 0x0626: memx_func_delay */ +/* 0x06de: memx_func_delay */ 0x1e9800f8, 0x0410b600, 0xf87f21f4, -/* 0x0631: memx_exec */ +/* 0x06e9: memx_exec */ 0xf9e0f900, 0x02c1b9d0, -/* 0x063b: memx_exec_next */ +/* 0x06f3: memx_exec_next */ 0x9802b2b9, 0x10b60013, 0xf034e704, @@ -1323,151 +1369,151 @@ uint32_t nvc0_pwr_code[] = { 0xbbcf06b4, 0xfcd0fc00, 0x4221f5e0, -/* 0x0677: memx_info */ +/* 0x072f: memx_info */ 0xf100f803, 0xf103c0c7, 0xf50800b7, 0xf8034221, -/* 0x0685: memx_recv */ +/* 0x073d: memx_recv */ 0x01d6b000, 0xb0a90bf4, 0x0bf400d6, -/* 0x0693: memx_init */ +/* 0x074b: memx_init */ 0xf800f8e9, -/* 0x0695: perf_recv */ -/* 0x0697: perf_init */ +/* 0x074d: perf_recv */ +/* 0x074f: perf_init */ 0xf800f800, -/* 0x0699: i2c_drive_scl */ +/* 0x0751: i2c_drive_scl */ 0x0036b000, 0xf1110bf4, 0xb607e007, 0x01d00604, 0xf804bd00, -/* 0x06ad: i2c_drive_scl_lo */ +/* 0x0765: i2c_drive_scl_lo */ 0xe407f100, 0x0604b607, 0xbd0001d0, -/* 0x06bb: i2c_drive_sda */ +/* 0x0773: i2c_drive_sda */ 0xb000f804, 0x0bf40036, 0xe007f111, 0x0604b607, 0xbd0002d0, -/* 0x06cf: i2c_drive_sda_lo */ +/* 0x0787: i2c_drive_sda_lo */ 0xf100f804, 0xb607e407, 0x02d00604, 0xf804bd00, -/* 0x06dd: i2c_sense_scl */ +/* 0x0795: i2c_sense_scl */ 0x0132f400, 0x07c437f1, 0xcf0634b6, 0x31fd0033, 0x060bf404, -/* 0x06f3: i2c_sense_scl_done */ +/* 0x07ab: i2c_sense_scl_done */ 0xf80131f4, -/* 0x06f5: i2c_sense_sda */ +/* 0x07ad: i2c_sense_sda */ 0x0132f400, 0x07c437f1, 0xcf0634b6, 0x32fd0033, 0x060bf404, -/* 0x070b: i2c_sense_sda_done */ +/* 0x07c3: i2c_sense_sda_done */ 0xf80131f4, -/* 0x070d: i2c_raise_scl */ +/* 0x07c5: i2c_raise_scl */ 0xf140f900, 0xf0089847, 0x21f50137, -/* 0x071a: i2c_raise_scl_wait */ - 0xe7f10699, +/* 0x07d2: i2c_raise_scl_wait */ + 0xe7f10751, 0x21f403e8, - 0xdd21f57f, - 0x0901f406, + 0x9521f57f, + 0x0901f407, 0xf40142b6, -/* 0x072e: i2c_raise_scl_done */ +/* 0x07e6: i2c_raise_scl_done */ 0x40fcef1b, -/* 0x0732: i2c_start */ +/* 0x07ea: i2c_start */ 0x21f500f8, - 0x11f406dd, - 0xf521f50d, - 0x0611f406, -/* 0x0743: i2c_start_rep */ + 0x11f40795, + 0xad21f50d, + 0x0611f407, +/* 0x07fb: i2c_start_rep */ 0xf0300ef4, 0x21f50037, - 0x37f00699, - 0xbb21f501, - 0x0076bb06, + 0x37f00751, + 0x7321f501, + 0x0076bb07, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b6070d, + 0x64b607c5, 0x1f11f404, -/* 0x0770: i2c_start_send */ +/* 0x0828: i2c_start_send */ 0xf50037f0, - 0xf106bb21, + 0xf1077321, 0xf41388e7, 0x37f07f21, - 0x9921f500, - 0x88e7f106, + 0x5121f500, + 0x88e7f107, 0x7f21f413, -/* 0x078c: i2c_start_out */ -/* 0x078e: i2c_stop */ +/* 0x0844: i2c_start_out */ +/* 0x0846: i2c_stop */ 0x37f000f8, - 0x9921f500, - 0x0037f006, - 0x06bb21f5, + 0x5121f500, + 0x0037f007, + 0x077321f5, 0x03e8e7f1, 0xf07f21f4, 0x21f50137, - 0xe7f10699, + 0xe7f10751, 0x21f41388, 0x0137f07f, - 0x06bb21f5, + 0x077321f5, 0x1388e7f1, 0xf87f21f4, -/* 0x07c1: i2c_bitw */ - 0xbb21f500, - 0xe8e7f106, +/* 0x0879: i2c_bitw */ + 0x7321f500, + 0xe8e7f107, 0x7f21f403, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x0d21f550, + 0xc521f550, 0x0464b607, 0xf11811f4, 0xf41388e7, 0x37f07f21, - 0x9921f500, - 0x88e7f106, + 0x5121f500, + 0x88e7f107, 0x7f21f413, -/* 0x0800: i2c_bitw_out */ -/* 0x0802: i2c_bitr */ +/* 0x08b8: i2c_bitw_out */ +/* 0x08ba: i2c_bitr */ 0x37f000f8, - 0xbb21f501, - 0xe8e7f106, + 0x7321f501, + 0xe8e7f107, 0x7f21f403, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x0d21f550, + 0xc521f550, 0x0464b607, 0xf51b11f4, - 0xf006f521, + 0xf007ad21, 0x21f50037, - 0xe7f10699, + 0xe7f10751, 0x21f41388, 0x013cf07f, -/* 0x0847: i2c_bitr_done */ +/* 0x08ff: i2c_bitr_done */ 0xf80131f4, -/* 0x0849: i2c_get_byte */ +/* 0x0901: i2c_get_byte */ 0x0057f000, -/* 0x084f: i2c_get_byte_next */ +/* 0x0907: i2c_get_byte_next */ 0xb60847f0, 0x76bb0154, 0x0465b600, @@ -1475,7 +1521,7 @@ uint32_t nvc0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6080221, + 0xb608ba21, 0x11f40464, 0x0553fd2b, 0xf40142b6, @@ -1486,11 +1532,11 @@ uint32_t nvc0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b607c1, -/* 0x0899: i2c_get_byte_done */ -/* 0x089b: i2c_put_byte */ + 0x64b60879, +/* 0x0951: i2c_get_byte_done */ +/* 0x0953: i2c_put_byte */ 0xf000f804, -/* 0x089e: i2c_put_byte_next */ +/* 0x0956: i2c_put_byte_next */ 0x42b60847, 0x3854ff01, 0xb60076bb, @@ -1498,8 +1544,8 @@ uint32_t nvc0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0xc121f550, - 0x0464b607, + 0x7921f550, + 0x0464b608, 0xb03411f4, 0x1bf40046, 0x0076bbd8, @@ -1508,20 +1554,20 @@ uint32_t nvc0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b60802, + 0x64b608ba, 0x0f11f404, 0xb00076bb, 0x1bf40136, 0x0132f406, -/* 0x08f4: i2c_put_byte_done */ -/* 0x08f6: i2c_addr */ +/* 0x09ac: i2c_put_byte_done */ +/* 0x09ae: i2c_addr */ 0x76bb00f8, 0x0465b600, 0x659450f9, 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6073221, + 0xb607ea21, 0x11f40464, 0x2ec3e729, 0x0134b601, @@ -1531,24 +1577,24 @@ uint32_t nvc0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x089b21f5, -/* 0x093b: i2c_addr_done */ + 0x095321f5, +/* 0x09f3: i2c_addr_done */ 0xf80464b6, -/* 0x093d: i2c_acquire_addr */ +/* 0x09f5: i2c_acquire_addr */ 0xf8cec700, 0xb702e4b6, 0x980c10e0, 0x00f800ee, -/* 0x094c: i2c_acquire */ - 0x093d21f5, +/* 0x0a04: i2c_acquire */ + 0x09f521f5, 0xf00421f4, 0x21f403d9, -/* 0x095b: i2c_release */ +/* 0x0a13: i2c_release */ 0xf500f83f, - 0xf4093d21, + 0xf409f521, 0xdaf00421, 0x3f21f403, -/* 0x096a: i2c_recv */ +/* 0x0a22: i2c_recv */ 0x32f400f8, 0xf8c1c701, 0xb00214b6, @@ -1567,8 +1613,8 @@ uint32_t nvc0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x4c21f550, - 0x0464b609, + 0x0421f550, + 0x0464b60a, 0xd6b0d0fc, 0xb31bf500, 0x0057f000, @@ -1577,8 +1623,8 @@ uint32_t nvc0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0xf621f550, - 0x0464b608, + 0xae21f550, + 0x0464b609, 0x00d011f5, 0xbbe0c5c7, 0x65b60076, @@ -1586,7 +1632,7 @@ uint32_t nvc0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x089b21f5, + 0x095321f5, 0xf50464b6, 0xf000ad11, 0x76bb0157, @@ -1595,7 +1641,7 @@ uint32_t nvc0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb608f621, + 0xb609ae21, 0x11f50464, 0x76bb008a, 0x0465b600, @@ -1603,7 +1649,7 @@ uint32_t nvc0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6084921, + 0xb6090121, 0x11f40464, 0xe05bcb6a, 0xb60076bb, @@ -1611,38 +1657,38 @@ uint32_t nvc0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x8e21f550, - 0x0464b607, + 0x4621f550, + 0x0464b608, 0xbd025bb9, 0x430ef474, -/* 0x0a70: i2c_recv_not_rd08 */ +/* 0x0b28: i2c_recv_not_rd08 */ 0xf401d6b0, 0x57f03d1b, - 0xf621f500, - 0x3311f408, + 0xae21f500, + 0x3311f409, 0xf5e0c5c7, - 0xf4089b21, + 0xf4095321, 0x57f02911, - 0xf621f500, - 0x1f11f408, + 0xae21f500, + 0x1f11f409, 0xf5e0b5c7, - 0xf4089b21, + 0xf4095321, 0x21f51511, - 0x74bd078e, + 0x74bd0846, 0xf408c5c7, 0x32f4091b, 0x030ef402, -/* 0x0ab0: i2c_recv_not_wr08 */ -/* 0x0ab0: i2c_recv_done */ +/* 0x0b68: i2c_recv_not_wr08 */ +/* 0x0b68: i2c_recv_done */ 0xf5f8cec7, - 0xfc095b21, + 0xfc0a1321, 0xf4d0fce0, 0x7cb90a12, 0x4221f502, -/* 0x0ac5: i2c_recv_exit */ -/* 0x0ac7: i2c_init */ +/* 0x0b7d: i2c_recv_exit */ +/* 0x0b7f: i2c_init */ 0xf800f803, -/* 0x0ac9: test_recv */ +/* 0x0b81: test_recv */ 0xd817f100, 0x0614b605, 0xb60011cf, @@ -1653,12 +1699,12 @@ uint32_t nvc0_pwr_code[] = { 0xe3f1d900, 0x21f5134f, 0x00f80262, -/* 0x0af0: test_init */ +/* 0x0ba8: test_init */ 0x0800e7f1, 0x026221f5, -/* 0x0afa: idle_recv */ +/* 0x0bb2: idle_recv */ 0x00f800f8, -/* 0x0afc: idle */ +/* 0x0bb4: idle */ 0xf10031f4, 0xb605d417, 0x11cf0614, @@ -1666,66 +1712,20 @@ uint32_t nvc0_pwr_code[] = { 0x05d407f1, 0xd00604b6, 0x04bd0001, -/* 0x0b18: idle_loop */ +/* 0x0bd0: idle_loop */ 0xf45817f0, -/* 0x0b1e: idle_proc */ -/* 0x0b1e: idle_proc_exec */ +/* 0x0bd6: idle_proc */ +/* 0x0bd6: idle_proc_exec */ 0x10f90232, 0xf5021eb9, 0xfc034b21, 0x0911f410, 0xf40231f4, -/* 0x0b32: idle_proc_next */ +/* 0x0bea: idle_proc_next */ 0x10b6ef0e, 0x061fb858, 0xf4e61bf4, 0x28f4dd02, 0xbb0ef400, 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, }; diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h index d4810fc3e90f..12d86f72ad10 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h +++ b/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h @@ -46,8 +46,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x584d454d, - 0x000005c0, - 0x000005b2, + 0x00000678, + 0x0000066a, 0x00000000, 0x00000000, 0x00000000, @@ -68,8 +68,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x46524550, - 0x000005c4, - 0x000005c2, + 0x0000067c, + 0x0000067a, 0x00000000, 0x00000000, 0x00000000, @@ -90,8 +90,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x5f433249, - 0x000009df, - 0x00000882, + 0x00000a97, + 0x0000093a, 0x00000000, 0x00000000, 0x00000000, @@ -112,8 +112,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x54534554, - 0x00000a02, - 0x000009e1, + 0x00000aba, + 0x00000a99, 0x00000000, 0x00000000, 0x00000000, @@ -134,8 +134,8 @@ uint32_t nvd0_pwr_data[] = { 0x00000000, 0x00000000, 0x454c4449, - 0x00000a0e, - 0x00000a0c, + 0x00000ac6, + 0x00000ac4, 0x00000000, 0x00000000, 0x00000000, @@ -233,19 +233,19 @@ uint32_t nvd0_pwr_data[] = { /* 0x037c: memx_func_next */ 0x00000002, 0x00000000, - 0x000004f7, + 0x00000554, 0x00000003, 0x00000002, - 0x00000520, + 0x000005d8, 0x00040004, 0x00000000, - 0x0000053c, + 0x000005f4, 0x00010005, 0x00000000, - 0x00000556, + 0x0000060e, 0x00010006, 0x00000000, - 0x0000051b, + 0x000005d3, /* 0x03b8: memx_func_tail */ /* 0x03b8: memx_ts_start */ 0x00000000, @@ -1203,31 +1203,77 @@ uint32_t nvd0_pwr_code[] = { 0x04c407f1, 0xbd0001d0, /* 0x04d3: memx_func_enter */ - 0xf000f804, - 0x07f10467, - 0x06d007e0, -/* 0x04df: memx_func_enter_wait */ - 0xf104bd00, - 0xcf07c067, - 0x64f00066, - 0xf60bf404, - 0xcf2c67f0, - 0x06800066, -/* 0x04f7: memx_func_leave */ - 0xf000f8ee, - 0x66cf2c67, - 0xef068000, + 0xf100f804, + 0xf1162067, + 0xf1f55d77, + 0xb9ffff73, + 0x21f4026e, + 0x02d8b904, + 0xf90487fd, + 0xfc80f960, + 0xf4e0fcd0, + 0x77f13321, + 0x73f1fffe, + 0x6eb9ffff, + 0x0421f402, + 0xfd02d8b9, + 0x60f90487, + 0xd0fc80f9, + 0x21f4e0fc, + 0xf067f133, + 0x026eb926, + 0xb90421f4, + 0x87fd02d8, + 0xf960f904, + 0xfcd0fc80, + 0x3321f4e0, 0xf10467f0, - 0xd007e407, + 0xd007e007, 0x04bd0006, -/* 0x050c: memx_func_leave_wait */ +/* 0x053c: memx_func_enter_wait */ 0x07c067f1, 0xf00066cf, - 0x1bf40464, -/* 0x051b: memx_func_wait_vblank */ - 0xb600f8f6, + 0x0bf40464, + 0x2c67f0f6, + 0x800066cf, + 0x00f8ee06, +/* 0x0554: memx_func_leave */ + 0xcf2c67f0, + 0x06800066, + 0x0467f0ef, + 0x07e407f1, + 0xbd0006d0, +/* 0x0569: memx_func_leave_wait */ + 0xc067f104, + 0x0066cf07, + 0xf40464f0, + 0x67f1f61b, + 0x77f126f0, + 0x73f00001, + 0x026eb900, + 0xb90421f4, + 0x87fd02d8, + 0xf960f905, + 0xfcd0fc80, + 0x3321f4e0, + 0x162067f1, + 0xf4026eb9, + 0xd8b90421, + 0x0587fd02, + 0x80f960f9, + 0xe0fcd0fc, + 0xf13321f4, + 0xf00aa277, + 0x6eb90073, + 0x0421f402, + 0xfd02d8b9, + 0x60f90587, + 0xd0fc80f9, + 0x21f4e0fc, +/* 0x05d3: memx_func_wait_vblank */ + 0xb600f833, 0x00f80410, -/* 0x0520: memx_func_wr32 */ +/* 0x05d8: memx_func_wr32 */ 0x98001698, 0x10b60115, 0xf960f908, @@ -1235,21 +1281,21 @@ uint32_t nvd0_pwr_code[] = { 0x3321f4e0, 0xf40242b6, 0x00f8e91b, -/* 0x053c: memx_func_wait */ +/* 0x05f4: memx_func_wait */ 0xcf2c87f0, 0x1e980088, 0x011d9800, 0x98021c98, 0x10b6031b, 0x8621f410, -/* 0x0556: memx_func_delay */ +/* 0x060e: memx_func_delay */ 0x1e9800f8, 0x0410b600, 0xf86721f4, -/* 0x0561: memx_exec */ +/* 0x0619: memx_exec */ 0xf9e0f900, 0x02c1b9d0, -/* 0x056b: memx_exec_next */ +/* 0x0623: memx_exec_next */ 0x9802b2b9, 0x10b60013, 0xf034e704, @@ -1265,107 +1311,107 @@ uint32_t nvd0_pwr_code[] = { 0xd0fc00bb, 0x21f5e0fc, 0x00f802f1, -/* 0x05a4: memx_info */ +/* 0x065c: memx_info */ 0x03c0c7f1, 0x0800b7f1, 0x02f121f5, -/* 0x05b2: memx_recv */ +/* 0x066a: memx_recv */ 0xd6b000f8, 0xac0bf401, 0xf400d6b0, 0x00f8e90b, -/* 0x05c0: memx_init */ -/* 0x05c2: perf_recv */ +/* 0x0678: memx_init */ +/* 0x067a: perf_recv */ 0x00f800f8, -/* 0x05c4: perf_init */ -/* 0x05c6: i2c_drive_scl */ +/* 0x067c: perf_init */ +/* 0x067e: i2c_drive_scl */ 0x36b000f8, 0x0e0bf400, 0x07e007f1, 0xbd0001d0, -/* 0x05d7: i2c_drive_scl_lo */ +/* 0x068f: i2c_drive_scl_lo */ 0xf100f804, 0xd007e407, 0x04bd0001, -/* 0x05e2: i2c_drive_sda */ +/* 0x069a: i2c_drive_sda */ 0x36b000f8, 0x0e0bf400, 0x07e007f1, 0xbd0002d0, -/* 0x05f3: i2c_drive_sda_lo */ +/* 0x06ab: i2c_drive_sda_lo */ 0xf100f804, 0xd007e407, 0x04bd0002, -/* 0x05fe: i2c_sense_scl */ +/* 0x06b6: i2c_sense_scl */ 0x32f400f8, 0xc437f101, 0x0033cf07, 0xf40431fd, 0x31f4060b, -/* 0x0611: i2c_sense_scl_done */ -/* 0x0613: i2c_sense_sda */ +/* 0x06c9: i2c_sense_scl_done */ +/* 0x06cb: i2c_sense_sda */ 0xf400f801, 0x37f10132, 0x33cf07c4, 0x0432fd00, 0xf4060bf4, -/* 0x0626: i2c_sense_sda_done */ +/* 0x06de: i2c_sense_sda_done */ 0x00f80131, -/* 0x0628: i2c_raise_scl */ +/* 0x06e0: i2c_raise_scl */ 0x47f140f9, 0x37f00898, - 0xc621f501, -/* 0x0635: i2c_raise_scl_wait */ - 0xe8e7f105, + 0x7e21f501, +/* 0x06ed: i2c_raise_scl_wait */ + 0xe8e7f106, 0x6721f403, - 0x05fe21f5, + 0x06b621f5, 0xb60901f4, 0x1bf40142, -/* 0x0649: i2c_raise_scl_done */ +/* 0x0701: i2c_raise_scl_done */ 0xf840fcef, -/* 0x064d: i2c_start */ - 0xfe21f500, - 0x0d11f405, - 0x061321f5, +/* 0x0705: i2c_start */ + 0xb621f500, + 0x0d11f406, + 0x06cb21f5, 0xf40611f4, -/* 0x065e: i2c_start_rep */ +/* 0x0716: i2c_start_rep */ 0x37f0300e, - 0xc621f500, - 0x0137f005, - 0x05e221f5, + 0x7e21f500, + 0x0137f006, + 0x069a21f5, 0xb60076bb, 0x50f90465, 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x2821f550, + 0xe021f550, 0x0464b606, -/* 0x068b: i2c_start_send */ +/* 0x0743: i2c_start_send */ 0xf01f11f4, 0x21f50037, - 0xe7f105e2, + 0xe7f1069a, 0x21f41388, 0x0037f067, - 0x05c621f5, + 0x067e21f5, 0x1388e7f1, -/* 0x06a7: i2c_start_out */ +/* 0x075f: i2c_start_out */ 0xf86721f4, -/* 0x06a9: i2c_stop */ +/* 0x0761: i2c_stop */ 0x0037f000, - 0x05c621f5, + 0x067e21f5, 0xf50037f0, - 0xf105e221, + 0xf1069a21, 0xf403e8e7, 0x37f06721, - 0xc621f501, - 0x88e7f105, + 0x7e21f501, + 0x88e7f106, 0x6721f413, 0xf50137f0, - 0xf105e221, + 0xf1069a21, 0xf41388e7, 0x00f86721, -/* 0x06dc: i2c_bitw */ - 0x05e221f5, +/* 0x0794: i2c_bitw */ + 0x069a21f5, 0x03e8e7f1, 0xbb6721f4, 0x65b60076, @@ -1373,18 +1419,18 @@ uint32_t nvd0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x062821f5, + 0x06e021f5, 0xf40464b6, 0xe7f11811, 0x21f41388, 0x0037f067, - 0x05c621f5, + 0x067e21f5, 0x1388e7f1, -/* 0x071b: i2c_bitw_out */ +/* 0x07d3: i2c_bitw_out */ 0xf86721f4, -/* 0x071d: i2c_bitr */ +/* 0x07d5: i2c_bitr */ 0x0137f000, - 0x05e221f5, + 0x069a21f5, 0x03e8e7f1, 0xbb6721f4, 0x65b60076, @@ -1392,19 +1438,19 @@ uint32_t nvd0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x062821f5, + 0x06e021f5, 0xf40464b6, 0x21f51b11, - 0x37f00613, - 0xc621f500, - 0x88e7f105, + 0x37f006cb, + 0x7e21f500, + 0x88e7f106, 0x6721f413, 0xf4013cf0, -/* 0x0762: i2c_bitr_done */ +/* 0x081a: i2c_bitr_done */ 0x00f80131, -/* 0x0764: i2c_get_byte */ +/* 0x081c: i2c_get_byte */ 0xf00057f0, -/* 0x076a: i2c_get_byte_next */ +/* 0x0822: i2c_get_byte_next */ 0x54b60847, 0x0076bb01, 0xf90465b6, @@ -1412,7 +1458,7 @@ uint32_t nvd0_pwr_code[] = { 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b6071d, + 0x64b607d5, 0x2b11f404, 0xb60553fd, 0x1bf40142, @@ -1422,12 +1468,12 @@ uint32_t nvd0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0xdc21f550, - 0x0464b606, -/* 0x07b4: i2c_get_byte_done */ -/* 0x07b6: i2c_put_byte */ + 0x9421f550, + 0x0464b607, +/* 0x086c: i2c_get_byte_done */ +/* 0x086e: i2c_put_byte */ 0x47f000f8, -/* 0x07b9: i2c_put_byte_next */ +/* 0x0871: i2c_put_byte_next */ 0x0142b608, 0xbb3854ff, 0x65b60076, @@ -1435,7 +1481,7 @@ uint32_t nvd0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x06dc21f5, + 0x079421f5, 0xf40464b6, 0x46b03411, 0xd81bf400, @@ -1444,21 +1490,21 @@ uint32_t nvd0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x1d21f550, + 0xd521f550, 0x0464b607, 0xbb0f11f4, 0x36b00076, 0x061bf401, -/* 0x080f: i2c_put_byte_done */ +/* 0x08c7: i2c_put_byte_done */ 0xf80132f4, -/* 0x0811: i2c_addr */ +/* 0x08c9: i2c_addr */ 0x0076bb00, 0xf90465b6, 0x04659450, 0xbd0256bb, 0x0475fd50, 0x21f550fc, - 0x64b6064d, + 0x64b60705, 0x2911f404, 0x012ec3e7, 0xfd0134b6, @@ -1468,23 +1514,23 @@ uint32_t nvd0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb607b621, -/* 0x0856: i2c_addr_done */ + 0xb6086e21, +/* 0x090e: i2c_addr_done */ 0x00f80464, -/* 0x0858: i2c_acquire_addr */ +/* 0x0910: i2c_acquire_addr */ 0xb6f8cec7, 0xe0b705e4, 0x00f8d014, -/* 0x0864: i2c_acquire */ - 0x085821f5, +/* 0x091c: i2c_acquire */ + 0x091021f5, 0xf00421f4, 0x21f403d9, -/* 0x0873: i2c_release */ +/* 0x092b: i2c_release */ 0xf500f833, - 0xf4085821, + 0xf4091021, 0xdaf00421, 0x3321f403, -/* 0x0882: i2c_recv */ +/* 0x093a: i2c_recv */ 0x32f400f8, 0xf8c1c701, 0xb00214b6, @@ -1503,8 +1549,8 @@ uint32_t nvd0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x6421f550, - 0x0464b608, + 0x1c21f550, + 0x0464b609, 0xd6b0d0fc, 0xb31bf500, 0x0057f000, @@ -1513,7 +1559,7 @@ uint32_t nvd0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0x1121f550, + 0xc921f550, 0x0464b608, 0x00d011f5, 0xbbe0c5c7, @@ -1522,7 +1568,7 @@ uint32_t nvd0_pwr_code[] = { 0x56bb0465, 0xfd50bd02, 0x50fc0475, - 0x07b621f5, + 0x086e21f5, 0xf50464b6, 0xf000ad11, 0x76bb0157, @@ -1531,7 +1577,7 @@ uint32_t nvd0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6081121, + 0xb608c921, 0x11f50464, 0x76bb008a, 0x0465b600, @@ -1539,7 +1585,7 @@ uint32_t nvd0_pwr_code[] = { 0x0256bb04, 0x75fd50bd, 0xf550fc04, - 0xb6076421, + 0xb6081c21, 0x11f40464, 0xe05bcb6a, 0xb60076bb, @@ -1547,38 +1593,38 @@ uint32_t nvd0_pwr_code[] = { 0xbb046594, 0x50bd0256, 0xfc0475fd, - 0xa921f550, - 0x0464b606, + 0x6121f550, + 0x0464b607, 0xbd025bb9, 0x430ef474, -/* 0x0988: i2c_recv_not_rd08 */ +/* 0x0a40: i2c_recv_not_rd08 */ 0xf401d6b0, 0x57f03d1b, - 0x1121f500, + 0xc921f500, 0x3311f408, 0xf5e0c5c7, - 0xf407b621, + 0xf4086e21, 0x57f02911, - 0x1121f500, + 0xc921f500, 0x1f11f408, 0xf5e0b5c7, - 0xf407b621, + 0xf4086e21, 0x21f51511, - 0x74bd06a9, + 0x74bd0761, 0xf408c5c7, 0x32f4091b, 0x030ef402, -/* 0x09c8: i2c_recv_not_wr08 */ -/* 0x09c8: i2c_recv_done */ +/* 0x0a80: i2c_recv_not_wr08 */ +/* 0x0a80: i2c_recv_done */ 0xf5f8cec7, - 0xfc087321, + 0xfc092b21, 0xf4d0fce0, 0x7cb90a12, 0xf121f502, -/* 0x09dd: i2c_recv_exit */ -/* 0x09df: i2c_init */ +/* 0x0a95: i2c_recv_exit */ +/* 0x0a97: i2c_init */ 0xf800f802, -/* 0x09e1: test_recv */ +/* 0x0a99: test_recv */ 0xd817f100, 0x0011cf05, 0xf10110b6, @@ -1587,28 +1633,28 @@ uint32_t nvd0_pwr_code[] = { 0xd900e7f1, 0x134fe3f1, 0x022321f5, -/* 0x0a02: test_init */ +/* 0x0aba: test_init */ 0xe7f100f8, 0x21f50800, 0x00f80223, -/* 0x0a0c: idle_recv */ -/* 0x0a0e: idle */ +/* 0x0ac4: idle_recv */ +/* 0x0ac6: idle */ 0x31f400f8, 0xd417f100, 0x0011cf05, 0xf10110b6, 0xd005d407, 0x04bd0001, -/* 0x0a24: idle_loop */ +/* 0x0adc: idle_loop */ 0xf45817f0, -/* 0x0a2a: idle_proc */ -/* 0x0a2a: idle_proc_exec */ +/* 0x0ae2: idle_proc */ +/* 0x0ae2: idle_proc_exec */ 0x10f90232, 0xf5021eb9, 0xfc02fa21, 0x0911f410, 0xf40231f4, -/* 0x0a3e: idle_proc_next */ +/* 0x0af6: idle_proc_next */ 0x10b6ef0e, 0x061fb858, 0xf4e61bf4, @@ -1658,4 +1704,22 @@ uint32_t nvd0_pwr_code[] = { 0x00000000, 0x00000000, 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, }; -- 2.39.5