Fixes failure to compile with recent envyas as a result of the 'movw'
alias being removed for v5.

A bit of history:

v3 only has a 16-bit sign-extended immediate mov op. In order to set
the high bits, there's a separate 'sethi' op. envyas validates that
the value passed to mov(imm) is between -0x8000 and 0x7fff. In order
to simplify macros that load both the low and high word, a 'movw'
alias was added which takes an unsigned 16-bit immediate. However the
actual hardware op still sign extends.

v5 has a full 32-bit immediate mov op. The v3 16-bit immediate mov op
is gone (loads 0 into the dst reg). However due to a bug in envyas,
the movw alias still existed, and selected the no-longer-present v3
16-bit immediate mov op. As a result usage of movw on v5 is the same
as mov with a 0x0 argument.

The proper fix throughout is to only ever use the 'movw' alias in
combination with 'sethi'. Anything else should get the sign-extended
validation to ensure that the intended value ends up in the
destination register.

Changes in fuc3 binaries is the result of a different encoding being
selected for a mov with an 8-bit value.

v2: added commit message written by Ilia, thanks for that!

Signed-off-by: Karol Herbst <kher...@redhat.com>
---
 drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h | 1072 +++++++++++------------
 drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h |  978 ++++++++++-----------
 drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h | 1194 +++++++++++++-------------
 drm/nouveau/nvkm/subdev/pmu/fuc/memx.fuc     |   30 +-
 4 files changed, 1637 insertions(+), 1637 deletions(-)

diff --git a/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h 
b/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h
index 0838d503..9da36e86 100644
--- a/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h
+++ b/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h
@@ -46,8 +46,8 @@ uint32_t gf100_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x584d454d,
-       0x00000756,
-       0x00000748,
+       0x00000754,
+       0x00000746,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -68,8 +68,8 @@ uint32_t gf100_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x46524550,
-       0x00000965,
-       0x00000758,
+       0x00000963,
+       0x00000756,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -90,8 +90,8 @@ uint32_t gf100_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x5f433249,
-       0x00000e1b,
-       0x00000cbe,
+       0x00000e19,
+       0x00000cbc,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -112,8 +112,8 @@ uint32_t gf100_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x54534554,
-       0x00000e44,
-       0x00000e1d,
+       0x00000e42,
+       0x00000e1b,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -134,8 +134,8 @@ uint32_t gf100_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x454c4449,
-       0x00000e50,
        0x00000e4e,
+       0x00000e4c,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -236,19 +236,19 @@ uint32_t gf100_pmu_data[] = {
        0x000005d3,
        0x00000003,
        0x00000002,
-       0x0000069d,
+       0x0000069b,
        0x00040004,
        0x00000000,
-       0x000006b9,
+       0x000006b7,
        0x00010005,
        0x00000000,
-       0x000006d6,
+       0x000006d4,
        0x00010006,
        0x00000000,
        0x0000065b,
        0x00000007,
        0x00000000,
-       0x000006e1,
+       0x000006df,
 /* 0x03c4: memx_func_tail */
 /* 0x03c4: memx_ts_start */
        0x00000000,
@@ -1380,602 +1380,602 @@ uint32_t gf100_pmu_code[] = {
 /* 0x065b: memx_func_wait_vblank */
        0x9800f840,
        0x66b00016,
-       0x130bf400,
+       0x120bf400,
        0xf40166b0,
        0x0ef4060b,
 /* 0x066d: memx_func_wait_vblank_head1 */
-       0x2077f12e,
-       0x070ef400,
-/* 0x0674: memx_func_wait_vblank_head0 */
-       0x000877f1,
-/* 0x0678: memx_func_wait_vblank_0 */
-       0x07c467f1,
-       0xcf0664b6,
-       0x67fd0066,
-       0xf31bf404,
-/* 0x0688: memx_func_wait_vblank_1 */
-       0x07c467f1,
-       0xcf0664b6,
-       0x67fd0066,
-       0xf30bf404,
-/* 0x0698: memx_func_wait_vblank_fini */
-       0xf80410b6,
-/* 0x069d: memx_func_wr32 */
-       0x00169800,
-       0xb6011598,
-       0x60f90810,
-       0xd0fc50f9,
-       0x21f4e0fc,
-       0x0242b640,
-       0xf8e91bf4,
-/* 0x06b9: memx_func_wait */
-       0x2c87f000,
-       0xcf0684b6,
-       0x1e980088,
-       0x011d9800,
-       0x98021c98,
-       0x10b6031b,
-       0xa321f410,
-/* 0x06d6: memx_func_delay */
-       0x1e9800f8,
-       0x0410b600,
-       0xf87e21f4,
-/* 0x06e1: memx_func_train */
-/* 0x06e3: memx_exec */
-       0xf900f800,
-       0xb9d0f9e0,
-       0xb2b902c1,
-/* 0x06ed: memx_exec_next */
-       0x00139802,
-       0xe70410b6,
-       0xe701f034,
-       0xb601e033,
-       0x30f00132,
-       0xde35980c,
-       0x12b855f9,
-       0xe41ef406,
-       0x98f10b98,
-       0xcbbbf20c,
-       0xc4b7f102,
-       0x06b4b607,
-       0xfc00bbcf,
-       0xf5e0fcd0,
-       0xf8033621,
-/* 0x0729: memx_info */
-       0x01c67000,
-/* 0x072f: memx_info_data */
-       0xf10e0bf4,
-       0xf103ccc7,
-       0xf40800b7,
-/* 0x073a: memx_info_train */
-       0xc7f10b0e,
-       0xb7f10bcc,
-/* 0x0742: memx_info_send */
-       0x21f50100,
-       0x00f80336,
-/* 0x0748: memx_recv */
-       0xf401d6b0,
-       0xd6b0980b,
-       0xd80bf400,
-/* 0x0756: memx_init */
-       0x00f800f8,
-/* 0x0758: perf_recv */
-       0x4f48a7f1,
-       0x5453a3f1,
-       0xf506eab8,
-       0xf1009b1b,
-       0xf00001a7,
-       0xdab800a3,
-       0x140bf406,
-       0x0002a7f1,
-       0xb800a3f0,
-       0x0bf406da,
-       0x980ef573,
-/* 0x0785: perf_recv_get_slots */
-       0xd207f100,
+       0x2077f02c,
+/* 0x0673: memx_func_wait_vblank_head0 */
+       0xf0060ef4,
+/* 0x0676: memx_func_wait_vblank_0 */
+       0x67f10877,
+       0x64b607c4,
+       0x0066cf06,
+       0xf40467fd,
+/* 0x0686: memx_func_wait_vblank_1 */
+       0x67f1f31b,
+       0x64b607c4,
+       0x0066cf06,
+       0xf40467fd,
+/* 0x0696: memx_func_wait_vblank_fini */
+       0x10b6f30b,
+/* 0x069b: memx_func_wr32 */
+       0x9800f804,
+       0x15980016,
+       0x0810b601,
+       0x50f960f9,
+       0xe0fcd0fc,
+       0xb64021f4,
+       0x1bf40242,
+/* 0x06b7: memx_func_wait */
+       0xf000f8e9,
+       0x84b62c87,
+       0x0088cf06,
+       0x98001e98,
+       0x1c98011d,
+       0x031b9802,
+       0xf41010b6,
+       0x00f8a321,
+/* 0x06d4: memx_func_delay */
+       0xb6001e98,
+       0x21f40410,
+/* 0x06df: memx_func_train */
+       0xf800f87e,
+/* 0x06e1: memx_exec */
+       0xf9e0f900,
+       0x02c1b9d0,
+/* 0x06eb: memx_exec_next */
+       0x9802b2b9,
+       0x10b60013,
+       0xf034e704,
+       0xe033e701,
+       0x0132b601,
+       0x980c30f0,
+       0x55f9de35,
+       0xf40612b8,
+       0x0b98e41e,
+       0xf20c98f1,
+       0xf102cbbb,
+       0xb607c4b7,
+       0xbbcf06b4,
+       0xfcd0fc00,
+       0x3621f5e0,
+/* 0x0727: memx_info */
+       0x7000f803,
+       0x0bf401c6,
+/* 0x072d: memx_info_data */
+       0xccc7f10e,
+       0x00b7f103,
+       0x0b0ef408,
+/* 0x0738: memx_info_train */
+       0x0bccc7f1,
+       0x0100b7f1,
+/* 0x0740: memx_info_send */
+       0x033621f5,
+/* 0x0746: memx_recv */
+       0xd6b000f8,
+       0x980bf401,
+       0xf400d6b0,
+       0x00f8d80b,
+/* 0x0754: memx_init */
+/* 0x0756: perf_recv */
+       0xa7f100f8,
+       0xa3f14f48,
+       0xeab85453,
+       0x9b1bf506,
+       0x01a7f100,
+       0x00a3f000,
+       0xf406dab8,
+       0xa7f1140b,
+       0xa3f00002,
+       0x06dab800,
+       0xf5730bf4,
+/* 0x0783: perf_recv_get_slots */
+       0xf100980e,
+       0xf00cd207,
+       0x0c180003,
+       0xb604bd00,
+       0x07f108c4,
+       0x03f00cd1,
+       0x000c1800,
+       0xc4b604bd,
+       0xd007f108,
        0x0003f00c,
        0xbd000c18,
        0x08c4b604,
-       0x0cd107f1,
-       0x180003f0,
-       0x04bd000c,
-       0xf108c4b6,
-       0xf00cd007,
-       0x0c180003,
+       0xf1ffc5f0,
+       0xf00cd607,
+       0x0b180003,
        0xb604bd00,
-       0xc5f008c4,
-       0xd607f1ff,
+       0x07f108b4,
+       0x03f00cd5,
+       0x000b1800,
+       0xb4b604bd,
+       0xd407f108,
        0x0003f00c,
        0xbd000b18,
        0x08b4b604,
-       0x0cd507f1,
+       0x0cd307f1,
        0x180003f0,
        0x04bd000b,
-       0xf108b4b6,
-       0xf00cd407,
-       0x0b180003,
-       0xb604bd00,
-       0x07f108b4,
-       0x03f00cd3,
-       0x000b1800,
-       0x0ef404bd,
-/* 0x07f1: perf_recv_set_slot */
-       0x10c0f02b,
-       0x0504c0b7,
-       0xf400cbd0,
-/* 0x07fe: perf_recv_not_host */
-       0x21f5220e,
-       0x07f1081f,
-       0x03f00ccc,
-       0x000e9800,
-       0x21f504bd,
-       0x21f5022a,
-       0x0ef40256,
-/* 0x0819: perf_recv_host */
-       0x3621f507,
-/* 0x081d: perf_recv_exit */
-/* 0x081f: perf_counter_readout */
-       0xf900f803,
-       0xf920f910,
-       0xf940f930,
-       0xf960f950,
-       0xf180f970,
-       0xb6050817,
-       0x11cf0614,
-       0x1827f100,
-       0x0624b605,
-       0xf10022cf,
-       0xb6052837,
-       0x33cf0634,
-       0x3847f100,
-       0x0644b605,
-       0xf10044cf,
-       0xb6054857,
-       0x55cf0654,
-       0x5867f100,
-       0x0664b605,
-       0xf10066cf,
-       0xb6056877,
-       0x77cf0674,
-       0x7887f100,
-       0x0684b605,
-       0xf10088cf,
-       0xf10000e7,
-       0xf18000e3,
-       0xb6050807,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6051807,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6052807,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6053807,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6054807,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6055807,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6056807,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6057807,
-       0x0ed00604,
-       0xcc04bd00,
-       0x21ffff11,
-       0x3c31ff2c,
-       0xff4c41ff,
-       0x61ff5c51,
-       0x7c71ff6c,
-       0xf18c81ff,
-       0xf00cd007,
-       0x02000003,
-       0xf104bd00,
-       0xf00cd107,
-       0x03000003,
-       0xf104bd00,
-       0xf00cd207,
-       0x04000003,
-       0xf104bd00,
-       0xf00cd307,
-       0x05000003,
-       0xf104bd00,
-       0xf00cd407,
-       0x06000003,
-       0xf104bd00,
-       0xf00cd507,
-       0x07000003,
-       0xf104bd00,
-       0xf00cd607,
-       0x08000003,
-       0xfc04bd00,
-       0xfc70fc80,
-       0xfc50fc60,
-       0xfc30fc40,
-       0xf810fc20,
-/* 0x0965: perf_init */
-       0x03e7f100,
-       0x00e3f000,
-       0x050c07f1,
-       0xd00604b6,
+/* 0x07ef: perf_recv_set_slot */
+       0xf02b0ef4,
+       0xc0b710c0,
+       0xcbd00504,
+       0x220ef400,
+/* 0x07fc: perf_recv_not_host */
+       0x081d21f5,
+       0x0ccc07f1,
+       0x980003f0,
        0x04bd000e,
-       0x0002e7f1,
-       0xf100e3f0,
-       0xb6051c07,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6052c07,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6053c07,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6054c07,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6055c07,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6056c07,
-       0x0ed00604,
-       0xf104bd00,
-       0xb6057c07,
-       0x0ed00604,
-       0xf504bd00,
-       0xf1081f21,
-       0xf00ccc07,
-       0x0e980003,
-       0xf504bd00,
-       0xf5022a21,
-       0xf8025621,
-/* 0x09ed: i2c_drive_scl */
-       0x0036b000,
-       0xf1110bf4,
-       0xb607e007,
-       0x01d00604,
-       0xf804bd00,
-/* 0x0a01: i2c_drive_scl_lo */
-       0xe407f100,
-       0x0604b607,
-       0xbd0001d0,
-/* 0x0a0f: i2c_drive_sda */
-       0xb000f804,
+       0x022a21f5,
+       0x025621f5,
+/* 0x0817: perf_recv_host */
+       0xf5070ef4,
+/* 0x081b: perf_recv_exit */
+       0xf8033621,
+/* 0x081d: perf_counter_readout */
+       0xf910f900,
+       0xf930f920,
+       0xf950f940,
+       0xf970f960,
+       0x0817f180,
+       0x0614b605,
+       0xf10011cf,
+       0xb6051827,
+       0x22cf0624,
+       0x2837f100,
+       0x0634b605,
+       0xf10033cf,
+       0xb6053847,
+       0x44cf0644,
+       0x4857f100,
+       0x0654b605,
+       0xf10055cf,
+       0xb6055867,
+       0x66cf0664,
+       0x6877f100,
+       0x0674b605,
+       0xf10077cf,
+       0xb6057887,
+       0x88cf0684,
+       0x00e7f100,
+       0x00e3f100,
+       0x0807f180,
+       0x0604b605,
+       0xbd000ed0,
+       0x1807f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x2807f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x3807f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x4807f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x5807f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x6807f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x7807f104,
+       0x0604b605,
+       0xbd000ed0,
+       0xff11cc04,
+       0xff2c21ff,
+       0x41ff3c31,
+       0x5c51ff4c,
+       0xff6c61ff,
+       0x81ff7c71,
+       0xd007f18c,
+       0x0003f00c,
+       0xbd000200,
+       0xd107f104,
+       0x0003f00c,
+       0xbd000300,
+       0xd207f104,
+       0x0003f00c,
+       0xbd000400,
+       0xd307f104,
+       0x0003f00c,
+       0xbd000500,
+       0xd407f104,
+       0x0003f00c,
+       0xbd000600,
+       0xd507f104,
+       0x0003f00c,
+       0xbd000700,
+       0xd607f104,
+       0x0003f00c,
+       0xbd000800,
+       0xfc80fc04,
+       0xfc60fc70,
+       0xfc40fc50,
+       0xfc20fc30,
+/* 0x0963: perf_init */
+       0xf100f810,
+       0xf00003e7,
+       0x07f100e3,
+       0x04b6050c,
+       0x000ed006,
+       0xe7f104bd,
+       0xe3f00002,
+       0x1c07f100,
+       0x0604b605,
+       0xbd000ed0,
+       0x2c07f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x3c07f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x4c07f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x5c07f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x6c07f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x7c07f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x1d21f504,
+       0xcc07f108,
+       0x0003f00c,
+       0xbd000e98,
+       0x2a21f504,
+       0x5621f502,
+/* 0x09eb: i2c_drive_scl */
+       0xb000f802,
        0x0bf40036,
        0xe007f111,
        0x0604b607,
-       0xbd0002d0,
-/* 0x0a23: i2c_drive_sda_lo */
+       0xbd0001d0,
+/* 0x09ff: i2c_drive_scl_lo */
        0xf100f804,
        0xb607e407,
+       0x01d00604,
+       0xf804bd00,
+/* 0x0a0d: i2c_drive_sda */
+       0x0036b000,
+       0xf1110bf4,
+       0xb607e007,
        0x02d00604,
        0xf804bd00,
-/* 0x0a31: i2c_sense_scl */
-       0x0132f400,
-       0x07c437f1,
-       0xcf0634b6,
-       0x31fd0033,
-       0x060bf404,
-/* 0x0a47: i2c_sense_scl_done */
-       0xf80131f4,
-/* 0x0a49: i2c_sense_sda */
-       0x0132f400,
-       0x07c437f1,
-       0xcf0634b6,
-       0x32fd0033,
-       0x060bf404,
-/* 0x0a5f: i2c_sense_sda_done */
-       0xf80131f4,
-/* 0x0a61: i2c_raise_scl */
-       0xf140f900,
-       0xf0089847,
-       0x21f50137,
-/* 0x0a6e: i2c_raise_scl_wait */
-       0xe7f109ed,
-       0x21f403e8,
-       0x3121f57e,
-       0x0901f40a,
-       0xf40142b6,
-/* 0x0a82: i2c_raise_scl_done */
-       0x40fcef1b,
-/* 0x0a86: i2c_start */
-       0x21f500f8,
-       0x11f40a31,
-       0x4921f50d,
-       0x0611f40a,
-/* 0x0a97: i2c_start_rep */
-       0xf0300ef4,
-       0x21f50037,
-       0x37f009ed,
-       0x0f21f501,
-       0x0076bb0a,
-       0xf90465b6,
-       0x04659450,
-       0xbd0256bb,
-       0x0475fd50,
-       0x21f550fc,
-       0x64b60a61,
-       0x1f11f404,
-/* 0x0ac4: i2c_start_send */
+/* 0x0a21: i2c_drive_sda_lo */
+       0xe407f100,
+       0x0604b607,
+       0xbd0002d0,
+/* 0x0a2f: i2c_sense_scl */
+       0xf400f804,
+       0x37f10132,
+       0x34b607c4,
+       0x0033cf06,
+       0xf40431fd,
+       0x31f4060b,
+/* 0x0a45: i2c_sense_scl_done */
+/* 0x0a47: i2c_sense_sda */
+       0xf400f801,
+       0x37f10132,
+       0x34b607c4,
+       0x0033cf06,
+       0xf40432fd,
+       0x31f4060b,
+/* 0x0a5d: i2c_sense_sda_done */
+/* 0x0a5f: i2c_raise_scl */
+       0xf900f801,
+       0x9847f140,
+       0x0137f008,
+       0x09eb21f5,
+/* 0x0a6c: i2c_raise_scl_wait */
+       0x03e8e7f1,
+       0xf57e21f4,
+       0xf40a2f21,
+       0x42b60901,
+       0xef1bf401,
+/* 0x0a80: i2c_raise_scl_done */
+       0x00f840fc,
+/* 0x0a84: i2c_start */
+       0x0a2f21f5,
+       0xf50d11f4,
+       0xf40a4721,
+       0x0ef40611,
+/* 0x0a95: i2c_start_rep */
+       0x0037f030,
+       0x09eb21f5,
+       0xf50137f0,
+       0xbb0a0d21,
+       0x65b60076,
+       0x9450f904,
+       0x56bb0465,
+       0xfd50bd02,
+       0x50fc0475,
+       0x0a5f21f5,
+       0xf40464b6,
+/* 0x0ac2: i2c_start_send */
+       0x37f01f11,
+       0x0d21f500,
+       0x88e7f10a,
+       0x7e21f413,
        0xf50037f0,
-       0xf10a0f21,
+       0xf109eb21,
        0xf41388e7,
-       0x37f07e21,
-       0xed21f500,
-       0x88e7f109,
-       0x7e21f413,
-/* 0x0ae0: i2c_start_out */
-/* 0x0ae2: i2c_stop */
-       0x37f000f8,
-       0xed21f500,
-       0x0037f009,
-       0x0a0f21f5,
-       0x03e8e7f1,
+/* 0x0ade: i2c_start_out */
+       0x00f87e21,
+/* 0x0ae0: i2c_stop */
+       0xf50037f0,
+       0xf009eb21,
+       0x21f50037,
+       0xe7f10a0d,
+       0x21f403e8,
+       0x0137f07e,
+       0x09eb21f5,
+       0x1388e7f1,
        0xf07e21f4,
        0x21f50137,
-       0xe7f109ed,
+       0xe7f10a0d,
        0x21f41388,
-       0x0137f07e,
-       0x0a0f21f5,
-       0x1388e7f1,
-       0xf87e21f4,
-/* 0x0b15: i2c_bitw */
-       0x0f21f500,
-       0xe8e7f10a,
-       0x7e21f403,
-       0xb60076bb,
-       0x50f90465,
-       0xbb046594,
-       0x50bd0256,
-       0xfc0475fd,
-       0x6121f550,
-       0x0464b60a,
-       0xf11811f4,
-       0xf41388e7,
-       0x37f07e21,
-       0xed21f500,
-       0x88e7f109,
+/* 0x0b13: i2c_bitw */
+       0xf500f87e,
+       0xf10a0d21,
+       0xf403e8e7,
+       0x76bb7e21,
+       0x0465b600,
+       0x659450f9,
+       0x0256bb04,
+       0x75fd50bd,
+       0xf550fc04,
+       0xb60a5f21,
+       0x11f40464,
+       0x88e7f118,
        0x7e21f413,
-/* 0x0b54: i2c_bitw_out */
-/* 0x0b56: i2c_bitr */
-       0x37f000f8,
-       0x0f21f501,
-       0xe8e7f10a,
-       0x7e21f403,
-       0xb60076bb,
-       0x50f90465,
-       0xbb046594,
-       0x50bd0256,
-       0xfc0475fd,
-       0x6121f550,
-       0x0464b60a,
-       0xf51b11f4,
-       0xf00a4921,
-       0x21f50037,
-       0xe7f109ed,
-       0x21f41388,
-       0x013cf07e,
-/* 0x0b9b: i2c_bitr_done */
-       0xf80131f4,
-/* 0x0b9d: i2c_get_byte */
-       0x0057f000,
-/* 0x0ba3: i2c_get_byte_next */
-       0xb60847f0,
-       0x76bb0154,
+       0xf50037f0,
+       0xf109eb21,
+       0xf41388e7,
+/* 0x0b52: i2c_bitw_out */
+       0x00f87e21,
+/* 0x0b54: i2c_bitr */
+       0xf50137f0,
+       0xf10a0d21,
+       0xf403e8e7,
+       0x76bb7e21,
        0x0465b600,
        0x659450f9,
        0x0256bb04,
        0x75fd50bd,
        0xf550fc04,
-       0xb60b5621,
+       0xb60a5f21,
        0x11f40464,
-       0x0553fd2b,
-       0xf40142b6,
-       0x37f0d81b,
-       0x0076bb01,
-       0xf90465b6,
-       0x04659450,
-       0xbd0256bb,
-       0x0475fd50,
-       0x21f550fc,
-       0x64b60b15,
-/* 0x0bed: i2c_get_byte_done */
-/* 0x0bef: i2c_put_byte */
-       0xf000f804,
-/* 0x0bf2: i2c_put_byte_next */
-       0x42b60847,
-       0x3854ff01,
+       0x4721f51b,
+       0x0037f00a,
+       0x09eb21f5,
+       0x1388e7f1,
+       0xf07e21f4,
+       0x31f4013c,
+/* 0x0b99: i2c_bitr_done */
+/* 0x0b9b: i2c_get_byte */
+       0xf000f801,
+       0x47f00057,
+/* 0x0ba1: i2c_get_byte_next */
+       0x0154b608,
        0xb60076bb,
        0x50f90465,
        0xbb046594,
        0x50bd0256,
        0xfc0475fd,
-       0x1521f550,
+       0x5421f550,
        0x0464b60b,
-       0xb03411f4,
-       0x1bf40046,
-       0x0076bbd8,
-       0xf90465b6,
-       0x04659450,
-       0xbd0256bb,
-       0x0475fd50,
-       0x21f550fc,
-       0x64b60b56,
-       0x0f11f404,
-       0xb00076bb,
-       0x1bf40136,
-       0x0132f406,
-/* 0x0c48: i2c_put_byte_done */
-/* 0x0c4a: i2c_addr */
-       0x76bb00f8,
+       0xfd2b11f4,
+       0x42b60553,
+       0xd81bf401,
+       0xbb0137f0,
+       0x65b60076,
+       0x9450f904,
+       0x56bb0465,
+       0xfd50bd02,
+       0x50fc0475,
+       0x0b1321f5,
+/* 0x0beb: i2c_get_byte_done */
+       0xf80464b6,
+/* 0x0bed: i2c_put_byte */
+       0x0847f000,
+/* 0x0bf0: i2c_put_byte_next */
+       0xff0142b6,
+       0x76bb3854,
        0x0465b600,
        0x659450f9,
        0x0256bb04,
        0x75fd50bd,
        0xf550fc04,
-       0xb60a8621,
+       0xb60b1321,
        0x11f40464,
-       0x2ec3e729,
-       0x0134b601,
-       0xbb0553fd,
+       0x0046b034,
+       0xbbd81bf4,
        0x65b60076,
        0x9450f904,
        0x56bb0465,
        0xfd50bd02,
        0x50fc0475,
-       0x0bef21f5,
-/* 0x0c8f: i2c_addr_done */
-       0xf80464b6,
-/* 0x0c91: i2c_acquire_addr */
-       0xf8cec700,
-       0xb702e4b6,
-       0x980d28e0,
-       0x00f800ee,
-/* 0x0ca0: i2c_acquire */
-       0x0c9121f5,
-       0xf00421f4,
-       0x21f403d9,
-/* 0x0caf: i2c_release */
-       0xf500f840,
-       0xf40c9121,
-       0xdaf00421,
-       0x4021f403,
-/* 0x0cbe: i2c_recv */
-       0x32f400f8,
-       0xf8c1c701,
-       0xb00214b6,
-       0x1ff52816,
-       0x13a0013a,
-       0x32980d00,
-       0xd813a000,
-       0x0031980c,
-       0xf90231f4,
-       0xf9e0f9d0,
-       0x0067f1d0,
-       0x0063f100,
-       0x01679210,
-       0xb60076bb,
-       0x50f90465,
-       0xbb046594,
-       0x50bd0256,
-       0xfc0475fd,
-       0xa021f550,
-       0x0464b60c,
-       0xd6b0d0fc,
-       0xb31bf500,
-       0x0057f000,
+       0x0b5421f5,
+       0xf40464b6,
+       0x76bb0f11,
+       0x0136b000,
+       0xf4061bf4,
+/* 0x0c46: i2c_put_byte_done */
+       0x00f80132,
+/* 0x0c48: i2c_addr */
        0xb60076bb,
        0x50f90465,
        0xbb046594,
        0x50bd0256,
        0xfc0475fd,
-       0x4a21f550,
-       0x0464b60c,
-       0x00d011f5,
-       0xbbe0c5c7,
-       0x65b60076,
-       0x9450f904,
-       0x56bb0465,
-       0xfd50bd02,
-       0x50fc0475,
-       0x0bef21f5,
-       0xf50464b6,
-       0xf000ad11,
-       0x76bb0157,
+       0x8421f550,
+       0x0464b60a,
+       0xe72911f4,
+       0xb6012ec3,
+       0x53fd0134,
+       0x0076bb05,
+       0xf90465b6,
+       0x04659450,
+       0xbd0256bb,
+       0x0475fd50,
+       0x21f550fc,
+       0x64b60bed,
+/* 0x0c8d: i2c_addr_done */
+/* 0x0c8f: i2c_acquire_addr */
+       0xc700f804,
+       0xe4b6f8ce,
+       0x28e0b702,
+       0x00ee980d,
+/* 0x0c9e: i2c_acquire */
+       0x21f500f8,
+       0x21f40c8f,
+       0x03d9f004,
+       0xf84021f4,
+/* 0x0cad: i2c_release */
+       0x8f21f500,
+       0x0421f40c,
+       0xf403daf0,
+       0x00f84021,
+/* 0x0cbc: i2c_recv */
+       0xc70132f4,
+       0x14b6f8c1,
+       0x2816b002,
+       0x013a1ff5,
+       0x0d0013a0,
+       0xa0003298,
+       0x980cd813,
+       0x31f40031,
+       0xf9d0f902,
+       0xf1d0f9e0,
+       0xf1000067,
+       0x92100063,
+       0x76bb0167,
        0x0465b600,
        0x659450f9,
        0x0256bb04,
        0x75fd50bd,
        0xf550fc04,
-       0xb60c4a21,
-       0x11f50464,
-       0x76bb008a,
+       0xb60c9e21,
+       0xd0fc0464,
+       0xf500d6b0,
+       0xf000b31b,
+       0x76bb0057,
        0x0465b600,
        0x659450f9,
        0x0256bb04,
        0x75fd50bd,
        0xf550fc04,
-       0xb60b9d21,
-       0x11f40464,
-       0xe05bcb6a,
+       0xb60c4821,
+       0x11f50464,
+       0xc5c700d0,
+       0x0076bbe0,
+       0xf90465b6,
+       0x04659450,
+       0xbd0256bb,
+       0x0475fd50,
+       0x21f550fc,
+       0x64b60bed,
+       0xad11f504,
+       0x0157f000,
        0xb60076bb,
        0x50f90465,
        0xbb046594,
        0x50bd0256,
        0xfc0475fd,
-       0xe221f550,
-       0x0464b60a,
-       0xbd025bb9,
-       0x430ef474,
-/* 0x0dc4: i2c_recv_not_rd08 */
-       0xf401d6b0,
-       0x57f03d1b,
-       0x4a21f500,
-       0x3311f40c,
-       0xf5e0c5c7,
-       0xf40bef21,
-       0x57f02911,
-       0x4a21f500,
-       0x1f11f40c,
-       0xf5e0b5c7,
-       0xf40bef21,
-       0x21f51511,
-       0x74bd0ae2,
-       0xf408c5c7,
-       0x32f4091b,
-       0x030ef402,
-/* 0x0e04: i2c_recv_not_wr08 */
-/* 0x0e04: i2c_recv_done */
-       0xf5f8cec7,
-       0xfc0caf21,
-       0xf4d0fce0,
-       0x7cb90a12,
-       0x3621f502,
-/* 0x0e19: i2c_recv_exit */
-/* 0x0e1b: i2c_init */
-       0xf800f803,
-/* 0x0e1d: test_recv */
-       0xd817f100,
-       0x0614b605,
-       0xb60011cf,
-       0x07f10110,
-       0x04b605d8,
-       0x0001d006,
-       0xe7f104bd,
-       0xe3f1d900,
-       0x21f5134f,
-       0x00f80256,
-/* 0x0e44: test_init */
-       0x0800e7f1,
-       0x025621f5,
-/* 0x0e4e: idle_recv */
-       0x00f800f8,
-/* 0x0e50: idle */
-       0xf10031f4,
-       0xb605d417,
+       0x4821f550,
+       0x0464b60c,
+       0x008a11f5,
+       0xb60076bb,
+       0x50f90465,
+       0xbb046594,
+       0x50bd0256,
+       0xfc0475fd,
+       0x9b21f550,
+       0x0464b60b,
+       0xcb6a11f4,
+       0x76bbe05b,
+       0x0465b600,
+       0x659450f9,
+       0x0256bb04,
+       0x75fd50bd,
+       0xf550fc04,
+       0xb60ae021,
+       0x5bb90464,
+       0xf474bd02,
+/* 0x0dc2: i2c_recv_not_rd08 */
+       0xd6b0430e,
+       0x3d1bf401,
+       0xf50057f0,
+       0xf40c4821,
+       0xc5c73311,
+       0xed21f5e0,
+       0x2911f40b,
+       0xf50057f0,
+       0xf40c4821,
+       0xb5c71f11,
+       0xed21f5e0,
+       0x1511f40b,
+       0x0ae021f5,
+       0xc5c774bd,
+       0x091bf408,
+       0xf40232f4,
+/* 0x0e02: i2c_recv_not_wr08 */
+/* 0x0e02: i2c_recv_done */
+       0xcec7030e,
+       0xad21f5f8,
+       0xfce0fc0c,
+       0x0a12f4d0,
+       0xf5027cb9,
+/* 0x0e17: i2c_recv_exit */
+       0xf8033621,
+/* 0x0e19: i2c_init */
+/* 0x0e1b: test_recv */
+       0xf100f800,
+       0xb605d817,
        0x11cf0614,
        0x0110b600,
-       0x05d407f1,
+       0x05d807f1,
        0xd00604b6,
        0x04bd0001,
-/* 0x0e6c: idle_loop */
-       0xf45817f0,
-/* 0x0e72: idle_proc */
-/* 0x0e72: idle_proc_exec */
-       0x10f90232,
-       0xf5021eb9,
-       0xfc033f21,
-       0x0911f410,
-       0xf40231f4,
-/* 0x0e86: idle_proc_next */
-       0x10b6ef0e,
-       0x061fb858,
-       0xf4e61bf4,
-       0x28f4dd02,
-       0xbb0ef400,
+       0xd900e7f1,
+       0x134fe3f1,
+       0x025621f5,
+/* 0x0e42: test_init */
+       0xe7f100f8,
+       0x21f50800,
+       0x00f80256,
+/* 0x0e4c: idle_recv */
+/* 0x0e4e: idle */
+       0x31f400f8,
+       0xd417f100,
+       0x0614b605,
+       0xb60011cf,
+       0x07f10110,
+       0x04b605d4,
+       0x0001d006,
+/* 0x0e6a: idle_loop */
+       0x17f004bd,
+       0x0232f458,
+/* 0x0e70: idle_proc */
+/* 0x0e70: idle_proc_exec */
+       0x1eb910f9,
+       0x3f21f502,
+       0xf410fc03,
+       0x31f40911,
+       0xef0ef402,
+/* 0x0e84: idle_proc_next */
+       0xb85810b6,
+       0x1bf4061f,
+       0xdd02f4e6,
+       0xf40028f4,
+       0x0000bb0e,
        0x00000000,
        0x00000000,
        0x00000000,
diff --git a/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h 
b/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h
index a5f43b5d..2c36b01b 100644
--- a/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h
+++ b/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h
@@ -46,8 +46,8 @@ uint32_t gk208_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x584d454d,
-       0x000005f3,
-       0x000005e5,
+       0x000005ee,
+       0x000005e0,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -68,8 +68,8 @@ uint32_t gk208_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x46524550,
-       0x0000076a,
-       0x000005f5,
+       0x00000765,
+       0x000005f0,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -90,8 +90,8 @@ uint32_t gk208_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x5f433249,
-       0x00000bc3,
-       0x00000a6d,
+       0x00000bbd,
+       0x00000a67,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -112,8 +112,8 @@ uint32_t gk208_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x54534554,
-       0x00000be1,
-       0x00000bc5,
+       0x00000bdb,
+       0x00000bbf,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -134,8 +134,8 @@ uint32_t gk208_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x454c4449,
-       0x00000bec,
-       0x00000bea,
+       0x00000be6,
+       0x00000be4,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -233,22 +233,22 @@ uint32_t gk208_pmu_data[] = {
 /* 0x037c: memx_func_next */
        0x00000002,
        0x00000000,
-       0x000004cf,
+       0x000004cc,
        0x00000003,
        0x00000002,
-       0x00000546,
+       0x00000541,
        0x00040004,
        0x00000000,
-       0x00000563,
+       0x0000055e,
        0x00010005,
        0x00000000,
-       0x0000057d,
+       0x00000578,
        0x00010006,
        0x00000000,
-       0x00000541,
+       0x0000053c,
        0x00000007,
        0x00000000,
-       0x00000589,
+       0x00000584,
 /* 0x03c4: memx_func_tail */
 /* 0x03c4: memx_ts_start */
        0x00000000,
@@ -1246,331 +1246,348 @@ uint32_t gk208_pmu_code[] = {
        0x0001f604,
        0x00f804bd,
 /* 0x045c: memx_func_enter */
-       0x162067f1,
-       0xf55d77f1,
-       0x047e6eb2,
-       0xd8b20000,
-       0xf90487fd,
-       0xfc80f960,
-       0x7ee0fcd0,
-       0x0700002d,
-       0x7e6eb2fe,
+       0x47162046,
+       0x6eb2f55d,
+       0x0000047e,
+       0x87fdd8b2,
+       0xf960f904,
+       0xfcd0fc80,
+       0x002d7ee0,
+       0xb2fe0700,
+       0x00047e6e,
+       0xfdd8b200,
+       0x60f90487,
+       0xd0fc80f9,
+       0x2d7ee0fc,
+       0xf0460000,
+       0x7e6eb226,
        0xb2000004,
        0x0487fdd8,
        0x80f960f9,
        0xe0fcd0fc,
        0x00002d7e,
-       0x26f067f1,
-       0x047e6eb2,
-       0xd8b20000,
-       0xf90487fd,
-       0xfc80f960,
-       0x7ee0fcd0,
-       0x0600002d,
-       0x07e04004,
-       0xbd0006f6,
-/* 0x04b9: memx_func_enter_wait */
-       0x07c04604,
-       0xf00066cf,
-       0x0bf40464,
-       0xcf2c06f7,
-       0x06b50066,
-/* 0x04cf: memx_func_leave */
-       0x0600f8f1,
-       0x0066cf2c,
-       0x06f206b5,
-       0x07e44004,
-       0xbd0006f6,
-/* 0x04e1: memx_func_leave_wait */
-       0x07c04604,
-       0xf00066cf,
-       0x1bf40464,
-       0xf067f1f7,
+       0xe0400406,
+       0x0006f607,
+/* 0x04b6: memx_func_enter_wait */
+       0xc04604bd,
+       0x0066cf07,
+       0xf40464f0,
+       0x2c06f70b,
+       0xb50066cf,
+       0x00f8f106,
+/* 0x04cc: memx_func_leave */
+       0x66cf2c06,
+       0xf206b500,
+       0xe4400406,
+       0x0006f607,
+/* 0x04de: memx_func_leave_wait */
+       0xc04604bd,
+       0x0066cf07,
+       0xf40464f0,
+       0xf046f71b,
        0xb2010726,
        0x00047e6e,
        0xfdd8b200,
        0x60f90587,
        0xd0fc80f9,
        0x2d7ee0fc,
-       0x67f10000,
-       0x6eb21620,
-       0x0000047e,
-       0x87fdd8b2,
-       0xf960f905,
-       0xfcd0fc80,
-       0x002d7ee0,
-       0x0aa24700,
-       0x047e6eb2,
-       0xd8b20000,
-       0xf90587fd,
-       0xfc80f960,
-       0x7ee0fcd0,
-       0xf800002d,
-/* 0x0541: memx_func_wait_vblank */
+       0x20460000,
+       0x7e6eb216,
+       0xb2000004,
+       0x0587fdd8,
+       0x80f960f9,
+       0xe0fcd0fc,
+       0x00002d7e,
+       0xb20aa247,
+       0x00047e6e,
+       0xfdd8b200,
+       0x60f90587,
+       0xd0fc80f9,
+       0x2d7ee0fc,
+       0x00f80000,
+/* 0x053c: memx_func_wait_vblank */
+       0xf80410b6,
+/* 0x0541: memx_func_wr32 */
+       0x00169800,
+       0xb6011598,
+       0x60f90810,
+       0xd0fc50f9,
+       0x2d7ee0fc,
+       0x42b60000,
+       0xe81bf402,
+/* 0x055e: memx_func_wait */
+       0x2c0800f8,
+       0x980088cf,
+       0x1d98001e,
+       0x021c9801,
+       0xb6031b98,
+       0x747e1010,
+       0x00f80000,
+/* 0x0578: memx_func_delay */
+       0xb6001e98,
+       0x587e0410,
+       0x00f80000,
+/* 0x0584: memx_func_train */
+/* 0x0586: memx_exec */
+       0xe0f900f8,
+       0xc1b2d0f9,
+/* 0x058e: memx_exec_next */
+       0x1398b2b2,
        0x0410b600,
-/* 0x0546: memx_func_wr32 */
-       0x169800f8,
-       0x01159800,
-       0xf90810b6,
-       0xfc50f960,
+       0x01f034e7,
+       0x01e033e7,
+       0xf00132b6,
+       0x35980c30,
+       0xa655f9de,
+       0xe51ef412,
+       0x98f10b98,
+       0xcbbbf20c,
+       0x07c44b02,
+       0xfc00bbcf,
        0x7ee0fcd0,
-       0xb600002d,
-       0x1bf40242,
-/* 0x0563: memx_func_wait */
-       0x0800f8e8,
-       0x0088cf2c,
-       0x98001e98,
-       0x1c98011d,
-       0x031b9802,
-       0x7e1010b6,
-       0xf8000074,
-/* 0x057d: memx_func_delay */
-       0x001e9800,
-       0x7e0410b6,
-       0xf8000058,
-/* 0x0589: memx_func_train */
-/* 0x058b: memx_exec */
-       0xf900f800,
-       0xb2d0f9e0,
-/* 0x0593: memx_exec_next */
-       0x98b2b2c1,
-       0x10b60013,
-       0xf034e704,
-       0xe033e701,
-       0x0132b601,
-       0x980c30f0,
-       0x55f9de35,
-       0x1ef412a6,
-       0xf10b98e5,
-       0xbbf20c98,
-       0xc44b02cb,
-       0x00bbcf07,
-       0xe0fcd0fc,
-       0x00029f7e,
-/* 0x05ca: memx_info */
-       0xc67000f8,
-       0x0c0bf401,
-/* 0x05d0: memx_info_data */
-       0x4b03cc4c,
-       0x0ef40800,
-/* 0x05d9: memx_info_train */
-       0x0bcc4c09,
-/* 0x05df: memx_info_send */
-       0x7e01004b,
        0xf800029f,
-/* 0x05e5: memx_recv */
-       0x01d6b000,
-       0xb0a30bf4,
-       0x0bf400d6,
-/* 0x05f3: memx_init */
-       0xf800f8dc,
-/* 0x05f5: perf_recv */
-       0x4f48da00,
-       0xeaa65453,
-       0x0a711bf4,
-       0xf4daa601,
-       0x020a0d0b,
+/* 0x05c5: memx_info */
+       0x01c67000,
+/* 0x05cb: memx_info_data */
+       0x4c0c0bf4,
+       0x004b03cc,
+       0x090ef408,
+/* 0x05d4: memx_info_train */
+       0x4b0bcc4c,
+/* 0x05da: memx_info_send */
+       0x9f7e0100,
+       0x00f80002,
+/* 0x05e0: memx_recv */
+       0xf401d6b0,
+       0xd6b0a30b,
+       0xdc0bf400,
+/* 0x05ee: memx_init */
+       0x00f800f8,
+/* 0x05f0: perf_recv */
+       0x534f48da,
+       0xf4eaa654,
+       0x010a711b,
        0x0bf4daa6,
-       0x770ef456,
-/* 0x0610: perf_recv_get_slots */
-       0x180cd240,
-       0x04bd000c,
-       0x4008c4b6,
-       0x0c180cd1,
+       0xa6020a0d,
+       0x560bf4da,
+/* 0x060b: perf_recv_get_slots */
+       0x40770ef4,
+       0x0c180cd2,
        0xb604bd00,
-       0xd04008c4,
+       0xd14008c4,
        0x000c180c,
        0xc4b604bd,
-       0xffc5f008,
-       0x180cd640,
-       0x04bd000b,
-       0x4008b4b6,
-       0x0b180cd5,
+       0x0cd04008,
+       0xbd000c18,
+       0x08c4b604,
+       0x40ffc5f0,
+       0x0b180cd6,
        0xb604bd00,
-       0xd44008b4,
+       0xd54008b4,
        0x000b180c,
        0xb4b604bd,
-       0x0cd34008,
+       0x0cd44008,
        0xbd000b18,
-       0x270ef404,
-/* 0x0660: perf_recv_set_slot */
-       0xb710c0f0,
-       0xf60504c0,
-       0x0ef400cb,
-/* 0x066d: perf_recv_not_host */
-       0x068a7e1e,
-       0x0ccc4000,
-       0xbd000e98,
-       0x01bb7e04,
-       0x01de7e00,
-       0x070ef400,
-/* 0x0684: perf_recv_host */
-       0x00029f7e,
-/* 0x0688: perf_recv_exit */
-/* 0x068a: perf_counter_readout */
-       0x10f900f8,
-       0x30f920f9,
-       0x50f940f9,
-       0x70f960f9,
-       0x084180f9,
-       0x0011cf05,
-       0xcf051842,
-       0x28430022,
-       0x0033cf05,
-       0xcf053844,
-       0x48450044,
-       0x0055cf05,
-       0xcf055846,
-       0x68470066,
-       0x0077cf05,
-       0xcf057848,
-       0x00de0088,
-       0x40800000,
-       0x0ef60508,
-       0x4004bd00,
-       0x0ef60518,
-       0x4004bd00,
-       0x0ef60528,
-       0x4004bd00,
-       0x0ef60538,
-       0x4004bd00,
-       0x0ef60548,
-       0x4004bd00,
-       0x0ef60558,
-       0x4004bd00,
-       0x0ef60568,
-       0x4004bd00,
-       0x0ef60578,
-       0xcc04bd00,
-       0x21ffff11,
-       0x3c31ff2c,
-       0xff4c41ff,
-       0x61ff5c51,
-       0x7c71ff6c,
-       0x408c81ff,
-       0x02200cd0,
-       0xd14004bd,
-       0xbd03200c,
-       0x0cd24004,
-       0x04bd0420,
-       0x200cd340,
-       0x4004bd05,
-       0x06200cd4,
-       0xd54004bd,
-       0xbd07200c,
-       0x0cd64004,
-       0x04bd0820,
-       0x70fc80fc,
-       0x50fc60fc,
-       0x30fc40fc,
-       0x10fc20fc,
-/* 0x076a: perf_init */
-       0x030e00f8,
-       0xf6050c40,
+       0x08b4b604,
+       0x180cd340,
+       0x04bd000b,
+/* 0x065b: perf_recv_set_slot */
+       0xf0270ef4,
+       0xc0b710c0,
+       0xcbf60504,
+       0x1e0ef400,
+/* 0x0668: perf_recv_not_host */
+       0x0006857e,
+       0x980ccc40,
        0x04bd000e,
-       0x1c40020e,
+       0x0001bb7e,
+       0x0001de7e,
+/* 0x067f: perf_recv_host */
+       0x7e070ef4,
+/* 0x0683: perf_recv_exit */
+       0xf800029f,
+/* 0x0685: perf_counter_readout */
+       0xf910f900,
+       0xf930f920,
+       0xf950f940,
+       0xf970f960,
+       0x05084180,
+       0x420011cf,
+       0x22cf0518,
+       0x05284300,
+       0x440033cf,
+       0x44cf0538,
+       0x05484500,
+       0x460055cf,
+       0x66cf0558,
+       0x05684700,
+       0x480077cf,
+       0x88cf0578,
+       0x0000de00,
+       0x08408000,
        0x000ef605,
-       0x2c4004bd,
+       0x184004bd,
        0x000ef605,
-       0x3c4004bd,
+       0x284004bd,
        0x000ef605,
-       0x4c4004bd,
+       0x384004bd,
        0x000ef605,
-       0x5c4004bd,
+       0x484004bd,
        0x000ef605,
-       0x6c4004bd,
+       0x584004bd,
        0x000ef605,
-       0x7c4004bd,
+       0x684004bd,
        0x000ef605,
-       0x8a7e04bd,
-       0xcc400006,
-       0x000e980c,
-       0x21f504bd,
-       0xde7e01bb,
-       0x00f80001,
-/* 0x07c4: i2c_drive_scl */
-       0xf40036b0,
-       0xe0400d0b,
-       0x0001f607,
-       0x00f804bd,
-/* 0x07d4: i2c_drive_scl_lo */
-       0xf607e440,
-       0x04bd0001,
-/* 0x07de: i2c_drive_sda */
+       0x784004bd,
+       0x000ef605,
+       0x11cc04bd,
+       0x2c21ffff,
+       0xff3c31ff,
+       0x51ff4c41,
+       0x6c61ff5c,
+       0xff7c71ff,
+       0xd0408c81,
+       0xbd02200c,
+       0x0cd14004,
+       0x04bd0320,
+       0x200cd240,
+       0x4004bd04,
+       0x05200cd3,
+       0xd44004bd,
+       0xbd06200c,
+       0x0cd54004,
+       0x04bd0720,
+       0x200cd640,
+       0xfc04bd08,
+       0xfc70fc80,
+       0xfc50fc60,
+       0xfc30fc40,
+       0xf810fc20,
+/* 0x0765: perf_init */
+       0x40030e00,
+       0x0ef6050c,
+       0x0e04bd00,
+       0x051c4002,
+       0xbd000ef6,
+       0x052c4004,
+       0xbd000ef6,
+       0x053c4004,
+       0xbd000ef6,
+       0x054c4004,
+       0xbd000ef6,
+       0x055c4004,
+       0xbd000ef6,
+       0x056c4004,
+       0xbd000ef6,
+       0x057c4004,
+       0xbd000ef6,
+       0x06857e04,
+       0x0ccc4000,
+       0xbd000e98,
+       0x01bbf304,
+       0x0001de7e,
+/* 0x07be: i2c_drive_scl */
        0x36b000f8,
        0x0d0bf400,
        0xf607e040,
-       0x04bd0002,
-/* 0x07ee: i2c_drive_sda_lo */
+       0x04bd0001,
+/* 0x07ce: i2c_drive_scl_lo */
        0xe44000f8,
+       0x0001f607,
+       0x00f804bd,
+/* 0x07d8: i2c_drive_sda */
+       0xf40036b0,
+       0xe0400d0b,
        0x0002f607,
        0x00f804bd,
-/* 0x07f8: i2c_sense_scl */
-       0x430132f4,
-       0x33cf07c4,
-       0x0431fd00,
-       0xf4060bf4,
-/* 0x080a: i2c_sense_scl_done */
-       0x00f80131,
-/* 0x080c: i2c_sense_sda */
-       0x430132f4,
-       0x33cf07c4,
-       0x0432fd00,
-       0xf4060bf4,
-/* 0x081e: i2c_sense_sda_done */
-       0x00f80131,
-/* 0x0820: i2c_raise_scl */
-       0x984440f9,
-       0x7e010308,
-/* 0x082b: i2c_raise_scl_wait */
-       0x4e0007c4,
-       0x587e03e8,
-       0xf87e0000,
-       0x01f40007,
-       0x0142b609,
-/* 0x083f: i2c_raise_scl_done */
-       0xfcef1bf4,
-/* 0x0843: i2c_start */
-       0x7e00f840,
-       0xf40007f8,
-       0x0c7e0d11,
-       0x11f40008,
-       0x2e0ef406,
-/* 0x0854: i2c_start_rep */
-       0xc47e0003,
-       0x01030007,
-       0x0007de7e,
-       0xb60076bb,
-       0x50f90465,
-       0xbb046594,
-       0x50bd0256,
-       0xfc0475fd,
-       0x08207e50,
-       0x0464b600,
-/* 0x087f: i2c_start_send */
-       0x031d11f4,
-       0x07de7e00,
-       0x13884e00,
+/* 0x07e8: i2c_drive_sda_lo */
+       0xf607e440,
+       0x04bd0002,
+/* 0x07f2: i2c_sense_scl */
+       0x32f400f8,
+       0x07c44301,
+       0xfd0033cf,
+       0x0bf40431,
+       0x0131f406,
+/* 0x0804: i2c_sense_scl_done */
+/* 0x0806: i2c_sense_sda */
+       0x32f400f8,
+       0x07c44301,
+       0xfd0033cf,
+       0x0bf40432,
+       0x0131f406,
+/* 0x0818: i2c_sense_sda_done */
+/* 0x081a: i2c_raise_scl */
+       0x40f900f8,
+       0x03089844,
+       0x07be7e01,
+/* 0x0825: i2c_raise_scl_wait */
+       0x03e84e00,
+       0x0000587e,
+       0x0007f27e,
+       0xb60901f4,
+       0x1bf40142,
+/* 0x0839: i2c_raise_scl_done */
+       0xf840fcef,
+/* 0x083d: i2c_start */
+       0x07f27e00,
+       0x0d11f400,
+       0x0008067e,
+       0xf40611f4,
+/* 0x084e: i2c_start_rep */
+       0x00032e0e,
+       0x0007be7e,
+       0xd87e0103,
+       0x76bb0007,
+       0x0465b600,
+       0x659450f9,
+       0x0256bb04,
+       0x75fd50bd,
+       0x7e50fc04,
+       0xb600081a,
+       0x11f40464,
+/* 0x0879: i2c_start_send */
+       0x7e00031d,
+       0x4e0007d8,
+       0x587e1388,
+       0x00030000,
+       0x0007be7e,
+       0x7e13884e,
+/* 0x0893: i2c_start_out */
+       0xf8000058,
+/* 0x0895: i2c_stop */
+       0x7e000300,
+       0x030007be,
+       0x07d87e00,
+       0x03e84e00,
        0x0000587e,
-       0xc47e0003,
+       0xbe7e0103,
        0x884e0007,
        0x00587e13,
-/* 0x0899: i2c_start_out */
-/* 0x089b: i2c_stop */
-       0x0300f800,
-       0x07c47e00,
+       0x7e010300,
+       0x4e0007d8,
+       0x587e1388,
+       0x00f80000,
+/* 0x08c4: i2c_bitw */
+       0x0007d87e,
+       0x7e03e84e,
+       0xbb000058,
+       0x65b60076,
+       0x9450f904,
+       0x56bb0465,
+       0xfd50bd02,
+       0x50fc0475,
+       0x00081a7e,
+       0xf40464b6,
+       0x884e1711,
+       0x00587e13,
        0x7e000300,
-       0x4e0007de,
-       0x587e03e8,
-       0x01030000,
-       0x0007c47e,
-       0x7e13884e,
-       0x03000058,
-       0x07de7e01,
-       0x13884e00,
-       0x0000587e,
-/* 0x08ca: i2c_bitw */
-       0xde7e00f8,
+       0x4e0007be,
+       0x587e1388,
+/* 0x0902: i2c_bitw_out */
+       0x00f80000,
+/* 0x0904: i2c_bitr */
+       0xd87e0103,
        0xe84e0007,
        0x00587e03,
        0x0076bb00,
@@ -1578,243 +1595,226 @@ uint32_t gk208_pmu_code[] = {
        0x04659450,
        0xbd0256bb,
        0x0475fd50,
-       0x207e50fc,
+       0x1a7e50fc,
        0x64b60008,
-       0x1711f404,
-       0x7e13884e,
-       0x03000058,
-       0x07c47e00,
-       0x13884e00,
-       0x0000587e,
-/* 0x0908: i2c_bitw_out */
-/* 0x090a: i2c_bitr */
-       0x010300f8,
-       0x0007de7e,
-       0x7e03e84e,
-       0xbb000058,
-       0x65b60076,
-       0x9450f904,
-       0x56bb0465,
-       0xfd50bd02,
-       0x50fc0475,
-       0x0008207e,
-       0xf40464b6,
-       0x0c7e1a11,
-       0x00030008,
-       0x0007c47e,
-       0x7e13884e,
-       0xf0000058,
-       0x31f4013c,
-/* 0x094d: i2c_bitr_done */
-/* 0x094f: i2c_get_byte */
-       0x0500f801,
-/* 0x0953: i2c_get_byte_next */
-       0xb6080400,
-       0x76bb0154,
-       0x0465b600,
-       0x659450f9,
-       0x0256bb04,
-       0x75fd50bd,
-       0x7e50fc04,
-       0xb600090a,
-       0x11f40464,
-       0x0553fd2a,
-       0xf40142b6,
-       0x0103d81b,
+       0x1a11f404,
+       0x0008067e,
+       0xbe7e0003,
+       0x884e0007,
+       0x00587e13,
+       0x013cf000,
+/* 0x0947: i2c_bitr_done */
+       0xf80131f4,
+/* 0x0949: i2c_get_byte */
+       0x04000500,
+/* 0x094d: i2c_get_byte_next */
+       0x0154b608,
        0xb60076bb,
        0x50f90465,
        0xbb046594,
        0x50bd0256,
        0xfc0475fd,
-       0x08ca7e50,
+       0x09047e50,
        0x0464b600,
-/* 0x099c: i2c_get_byte_done */
-/* 0x099e: i2c_put_byte */
-       0x080400f8,
-/* 0x09a0: i2c_put_byte_next */
-       0xff0142b6,
-       0x76bb3854,
+       0xfd2a11f4,
+       0x42b60553,
+       0xd81bf401,
+       0x76bb0103,
        0x0465b600,
        0x659450f9,
        0x0256bb04,
        0x75fd50bd,
        0x7e50fc04,
-       0xb60008ca,
-       0x11f40464,
-       0x0046b034,
-       0xbbd81bf4,
-       0x65b60076,
-       0x9450f904,
-       0x56bb0465,
-       0xfd50bd02,
-       0x50fc0475,
-       0x00090a7e,
-       0xf40464b6,
-       0x76bb0f11,
-       0x0136b000,
-       0xf4061bf4,
-/* 0x09f6: i2c_put_byte_done */
-       0x00f80132,
-/* 0x09f8: i2c_addr */
+       0xb60008c4,
+/* 0x0996: i2c_get_byte_done */
+       0x00f80464,
+/* 0x0998: i2c_put_byte */
+/* 0x099a: i2c_put_byte_next */
+       0x42b60804,
+       0x3854ff01,
        0xb60076bb,
        0x50f90465,
        0xbb046594,
        0x50bd0256,
        0xfc0475fd,
-       0x08437e50,
+       0x08c47e50,
        0x0464b600,
-       0xe72911f4,
-       0xb6012ec3,
-       0x53fd0134,
-       0x0076bb05,
+       0xb03411f4,
+       0x1bf40046,
+       0x0076bbd8,
        0xf90465b6,
        0x04659450,
        0xbd0256bb,
        0x0475fd50,
-       0x9e7e50fc,
+       0x047e50fc,
        0x64b60009,
-/* 0x0a3d: i2c_addr_done */
-/* 0x0a3f: i2c_acquire_addr */
-       0xc700f804,
-       0xe4b6f8ce,
-       0x14e0b705,
-/* 0x0a4b: i2c_acquire */
-       0x7e00f8d0,
-       0x7e000a3f,
-       0xf0000004,
-       0x2d7e03d9,
-       0x00f80000,
-/* 0x0a5c: i2c_release */
-       0x000a3f7e,
-       0x0000047e,
-       0x7e03daf0,
-       0xf800002d,
-/* 0x0a6d: i2c_recv */
-       0x0132f400,
-       0xb6f8c1c7,
-       0x16b00214,
-       0x341ff528,
-       0x0013b801,
-       0x3298000d,
-       0xd813b800,
-       0x3198000c,
-       0x0231f400,
-       0xe0f9d0f9,
-       0x00d6d0f9,
-       0x92100000,
-       0x76bb0167,
+       0x0f11f404,
+       0xb00076bb,
+       0x1bf40136,
+       0x0132f406,
+/* 0x09f0: i2c_put_byte_done */
+/* 0x09f2: i2c_addr */
+       0x76bb00f8,
        0x0465b600,
        0x659450f9,
        0x0256bb04,
        0x75fd50bd,
        0x7e50fc04,
-       0xb6000a4b,
-       0xd0fc0464,
-       0xf500d6b0,
-       0x0500b01b,
-       0x0076bb00,
-       0xf90465b6,
-       0x04659450,
-       0xbd0256bb,
-       0x0475fd50,
-       0xf87e50fc,
-       0x64b60009,
-       0xcc11f504,
-       0xe0c5c700,
+       0xb600083d,
+       0x11f40464,
+       0x2ec3e729,
+       0x0134b601,
+       0xbb0553fd,
+       0x65b60076,
+       0x9450f904,
+       0x56bb0465,
+       0xfd50bd02,
+       0x50fc0475,
+       0x0009987e,
+/* 0x0a37: i2c_addr_done */
+       0xf80464b6,
+/* 0x0a39: i2c_acquire_addr */
+       0xf8cec700,
+       0xb705e4b6,
+       0xf8d014e0,
+/* 0x0a45: i2c_acquire */
+       0x0a397e00,
+       0x00047e00,
+       0x03d9f000,
+       0x00002d7e,
+/* 0x0a56: i2c_release */
+       0x397e00f8,
+       0x047e000a,
+       0xdaf00000,
+       0x002d7e03,
+/* 0x0a67: i2c_recv */
+       0xf400f800,
+       0xc1c70132,
+       0x0214b6f8,
+       0xf52816b0,
+       0xb801341f,
+       0x000d0013,
+       0xb8003298,
+       0x000cd813,
+       0xf4003198,
+       0xd0f90231,
+       0xd0f9e0f9,
+       0x000000d6,
+       0x01679210,
        0xb60076bb,
        0x50f90465,
        0xbb046594,
        0x50bd0256,
        0xfc0475fd,
-       0x099e7e50,
+       0x0a457e50,
        0x0464b600,
-       0x00a911f5,
-       0x76bb0105,
+       0xd6b0d0fc,
+       0xb01bf500,
+       0xbb000500,
+       0x65b60076,
+       0x9450f904,
+       0x56bb0465,
+       0xfd50bd02,
+       0x50fc0475,
+       0x0009f27e,
+       0xf50464b6,
+       0xc700cc11,
+       0x76bbe0c5,
        0x0465b600,
        0x659450f9,
        0x0256bb04,
        0x75fd50bd,
        0x7e50fc04,
-       0xb60009f8,
+       0xb6000998,
        0x11f50464,
-       0x76bb0087,
-       0x0465b600,
-       0x659450f9,
-       0x0256bb04,
-       0x75fd50bd,
-       0x7e50fc04,
-       0xb600094f,
-       0x11f40464,
-       0xe05bcb67,
+       0x010500a9,
        0xb60076bb,
        0x50f90465,
        0xbb046594,
        0x50bd0256,
        0xfc0475fd,
-       0x089b7e50,
+       0x09f27e50,
        0x0464b600,
-       0x74bd5bb2,
-/* 0x0b6f: i2c_recv_not_rd08 */
-       0xb0410ef4,
-       0x1bf401d6,
-       0x7e00053b,
-       0xf40009f8,
-       0xc5c73211,
-       0x099e7ee0,
-       0x2811f400,
-       0xf87e0005,
+       0x008711f5,
+       0xb60076bb,
+       0x50f90465,
+       0xbb046594,
+       0x50bd0256,
+       0xfc0475fd,
+       0x09497e50,
+       0x0464b600,
+       0xcb6711f4,
+       0x76bbe05b,
+       0x0465b600,
+       0x659450f9,
+       0x0256bb04,
+       0x75fd50bd,
+       0x7e50fc04,
+       0xb6000895,
+       0x5bb20464,
+       0x0ef474bd,
+/* 0x0b69: i2c_recv_not_rd08 */
+       0x01d6b041,
+       0x053b1bf4,
+       0x09f27e00,
+       0x3211f400,
+       0x7ee0c5c7,
+       0xf4000998,
+       0x00052811,
+       0x0009f27e,
+       0xc71f11f4,
+       0x987ee0b5,
        0x11f40009,
-       0xe0b5c71f,
-       0x00099e7e,
-       0x7e1511f4,
-       0xbd00089b,
-       0x08c5c774,
-       0xf4091bf4,
-       0x0ef40232,
-/* 0x0bad: i2c_recv_not_wr08 */
-/* 0x0bad: i2c_recv_done */
-       0xf8cec703,
-       0x000a5c7e,
-       0xd0fce0fc,
-       0xb20912f4,
-       0x029f7e7c,
-/* 0x0bc1: i2c_recv_exit */
-/* 0x0bc3: i2c_init */
-       0xf800f800,
-/* 0x0bc5: test_recv */
-       0x04584100,
-       0xb60011cf,
-       0x58400110,
-       0x0001f604,
-       0x00de04bd,
-       0x7e134fd9,
-       0xf80001de,
-/* 0x0be1: test_init */
-       0x08004e00,
-       0x0001de7e,
-/* 0x0bea: idle_recv */
-       0x00f800f8,
-/* 0x0bec: idle */
-       0x410031f4,
-       0x11cf0454,
+       0x08957e15,
+       0xc774bd00,
+       0x1bf408c5,
+       0x0232f409,
+/* 0x0ba7: i2c_recv_not_wr08 */
+/* 0x0ba7: i2c_recv_done */
+       0xc7030ef4,
+       0x567ef8ce,
+       0xe0fc000a,
+       0x12f4d0fc,
+       0x7e7cb209,
+/* 0x0bbb: i2c_recv_exit */
+       0xf800029f,
+/* 0x0bbd: i2c_init */
+/* 0x0bbf: test_recv */
+       0x4100f800,
+       0x11cf0458,
        0x0110b600,
-       0xf6045440,
+       0xf6045840,
        0x04bd0001,
-/* 0x0c00: idle_loop */
-       0x32f45801,
-/* 0x0c05: idle_proc */
-/* 0x0c05: idle_proc_exec */
-       0xb210f902,
-       0x02a87e1e,
-       0xf410fc00,
-       0x31f40911,
-       0xf00ef402,
-/* 0x0c18: idle_proc_next */
-       0xa65810b6,
-       0xe81bf41f,
-       0xf4e002f4,
-       0x0ef40028,
-       0x000000c6,
+       0x4fd900de,
+       0x01de7e13,
+/* 0x0bdb: test_init */
+       0x4e00f800,
+       0xde7e0800,
+       0x00f80001,
+/* 0x0be4: idle_recv */
+/* 0x0be6: idle */
+       0x31f400f8,
+       0x04544100,
+       0xb60011cf,
+       0x54400110,
+       0x0001f604,
+/* 0x0bfa: idle_loop */
+       0x580104bd,
+/* 0x0bff: idle_proc */
+/* 0x0bff: idle_proc_exec */
+       0xf90232f4,
+       0x7e1eb210,
+       0xfc0002a8,
+       0x0911f410,
+       0xf40231f4,
+/* 0x0c12: idle_proc_next */
+       0x10b6f00e,
+       0xf41fa658,
+       0x02f4e81b,
+       0x0028f4e0,
+       0x00c60ef4,
+       0x00000000,
+       0x00000000,
        0x00000000,
        0x00000000,
        0x00000000,
diff --git a/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h 
b/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h
index 17be7cb9..e00da62d 100644
--- a/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h
+++ b/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h
@@ -46,8 +46,8 @@ uint32_t gt215_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x584d454d,
-       0x0000083a,
-       0x0000082c,
+       0x00000833,
+       0x00000825,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -68,8 +68,8 @@ uint32_t gt215_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x46524550,
-       0x0000096a,
-       0x0000083c,
+       0x00000963,
+       0x00000835,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -90,8 +90,8 @@ uint32_t gt215_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x5f433249,
-       0x00000df0,
-       0x00000c93,
+       0x00000de9,
+       0x00000c8c,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -112,8 +112,8 @@ uint32_t gt215_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x54534554,
-       0x00000e19,
-       0x00000df2,
+       0x00000e12,
+       0x00000deb,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -134,8 +134,8 @@ uint32_t gt215_pmu_data[] = {
        0x00000000,
        0x00000000,
        0x454c4449,
-       0x00000e25,
-       0x00000e23,
+       0x00000e1e,
+       0x00000e1c,
        0x00000000,
        0x00000000,
        0x00000000,
@@ -233,22 +233,22 @@ uint32_t gt215_pmu_data[] = {
 /* 0x037c: memx_func_next */
        0x00000002,
        0x00000000,
-       0x000005a0,
+       0x0000059f,
        0x00000003,
        0x00000002,
-       0x00000632,
+       0x0000062f,
        0x00040004,
        0x00000000,
-       0x0000064e,
+       0x0000064b,
        0x00010005,
        0x00000000,
-       0x0000066b,
+       0x00000668,
        0x00010006,
        0x00000000,
-       0x000005f0,
+       0x000005ef,
        0x00000007,
        0x00000000,
-       0x00000676,
+       0x00000673,
 /* 0x03c4: memx_func_tail */
 /* 0x03c4: memx_ts_start */
        0x00000000,
@@ -1308,663 +1308,663 @@ uint32_t gt215_pmu_code[] = {
        0x67f102d7,
        0x63f1fffc,
        0x76fdffff,
-       0x0267f104,
-       0x0576fd00,
-       0x70f980f9,
-       0xe0fcd0fc,
-       0xf04021f4,
+       0x0267f004,
+       0xf90576fd,
+       0xfc70f980,
+       0xf4e0fcd0,
+       0x67f04021,
+       0xe007f104,
+       0x0604b607,
+       0xbd0006d0,
+/* 0x0581: memx_func_enter_wait */
+       0xc067f104,
+       0x0664b607,
+       0xf00066cf,
+       0x0bf40464,
+       0x2c67f0f3,
+       0xcf0664b6,
+       0x06800066,
+/* 0x059f: memx_func_leave */
+       0xf000f8f1,
+       0x64b62c67,
+       0x0066cf06,
+       0xf0f20680,
        0x07f10467,
-       0x04b607e0,
+       0x04b607e4,
        0x0006d006,
-/* 0x0582: memx_func_enter_wait */
+/* 0x05ba: memx_func_leave_wait */
        0x67f104bd,
        0x64b607c0,
        0x0066cf06,
        0xf40464f0,
-       0x67f0f30b,
-       0x0664b62c,
-       0x800066cf,
-       0x00f8f106,
-/* 0x05a0: memx_func_leave */
-       0xb62c67f0,
-       0x66cf0664,
-       0xf2068000,
-       0xf10467f0,
-       0xb607e407,
-       0x06d00604,
-/* 0x05bb: memx_func_leave_wait */
-       0xf104bd00,
-       0xb607c067,
-       0x66cf0664,
-       0x0464f000,
-       0xf1f31bf4,
-       0xb9161087,
-       0x21f4028e,
-       0x02d7b904,
-       0xffcc67f1,
-       0xffff63f1,
-       0xf90476fd,
-       0xfc70f980,
-       0xf4e0fcd0,
-       0x00f84021,
-/* 0x05f0: memx_func_wait_vblank */
-       0xb0001698,
-       0x0bf40066,
-       0x0166b013,
-       0xf4060bf4,
-/* 0x0602: memx_func_wait_vblank_head1 */
-       0x77f12e0e,
-       0x0ef40020,
-/* 0x0609: memx_func_wait_vblank_head0 */
-       0x0877f107,
-/* 0x060d: memx_func_wait_vblank_0 */
-       0xc467f100,
-       0x0664b607,
-       0xfd0066cf,
-       0x1bf40467,
-/* 0x061d: memx_func_wait_vblank_1 */
-       0xc467f1f3,
-       0x0664b607,
-       0xfd0066cf,
-       0x0bf40467,
-/* 0x062d: memx_func_wait_vblank_fini */
-       0x0410b6f3,
-/* 0x0632: memx_func_wr32 */
-       0x169800f8,
-       0x01159800,
-       0xf90810b6,
-       0xfc50f960,
-       0xf4e0fcd0,
-       0x42b64021,
-       0xe91bf402,
-/* 0x064e: memx_func_wait */
-       0x87f000f8,
-       0x0684b62c,
-       0x980088cf,
-       0x1d98001e,
-       0x021c9801,
-       0xb6031b98,
-       0x21f41010,
-/* 0x066b: memx_func_delay */
-       0x9800f8a3,
-       0x10b6001e,
-       0x7e21f404,
-/* 0x0676: memx_func_train */
-       0x57f100f8,
-       0x77f10003,
-       0x97f10000,
-       0x93f00000,
-       0x029eb970,
-       0xb90421f4,
-       0xe7f102d8,
-       0x21f42710,
-/* 0x0695: memx_func_train_loop_outer */
-       0x0158e07e,
-       0x0083f101,
-       0xe097f102,
-       0x1193f011,
-       0x80f990f9,
+       0x87f1f31b,
+       0x8eb91610,
+       0x0421f402,
+       0xf102d7b9,
+       0xf1ffcc67,
+       0xfdffff63,
+       0x80f90476,
+       0xd0fc70f9,
+       0x21f4e0fc,
+/* 0x05ef: memx_func_wait_vblank */
+       0x9800f840,
+       0x66b00016,
+       0x120bf400,
+       0xf40166b0,
+       0x0ef4060b,
+/* 0x0601: memx_func_wait_vblank_head1 */
+       0x2077f02c,
+/* 0x0607: memx_func_wait_vblank_head0 */
+       0xf0060ef4,
+/* 0x060a: memx_func_wait_vblank_0 */
+       0x67f10877,
+       0x64b607c4,
+       0x0066cf06,
+       0xf40467fd,
+/* 0x061a: memx_func_wait_vblank_1 */
+       0x67f1f31b,
+       0x64b607c4,
+       0x0066cf06,
+       0xf40467fd,
+/* 0x062a: memx_func_wait_vblank_fini */
+       0x10b6f30b,
+/* 0x062f: memx_func_wr32 */
+       0x9800f804,
+       0x15980016,
+       0x0810b601,
+       0x50f960f9,
        0xe0fcd0fc,
-       0xf94021f4,
-       0x0067f150,
-/* 0x06b5: memx_func_train_loop_inner */
-       0x1187f100,
-       0x9068ff11,
-       0xfd109894,
-       0x97f10589,
-       0x93f00720,
-       0xf990f910,
-       0xfcd0fc80,
-       0x4021f4e0,
-       0x008097f1,
-       0xb91093f0,
-       0x21f4029e,
-       0x02d8b904,
-       0xf92088c5,
+       0xb64021f4,
+       0x1bf40242,
+/* 0x064b: memx_func_wait */
+       0xf000f8e9,
+       0x84b62c87,
+       0x0088cf06,
+       0x98001e98,
+       0x1c98011d,
+       0x031b9802,
+       0xf41010b6,
+       0x00f8a321,
+/* 0x0668: memx_func_delay */
+       0xb6001e98,
+       0x21f40410,
+/* 0x0673: memx_func_train */
+       0xf000f87e,
+       0x77f00357,
+       0x0097f100,
+       0x7093f000,
+       0xf4029eb9,
+       0xd8b90421,
+       0x10e7f102,
+       0x7e21f427,
+/* 0x0690: memx_func_train_loop_outer */
+       0x010158e0,
+       0x020083f1,
+       0x11e097f1,
+       0xf91193f0,
+       0xfc80f990,
+       0xf4e0fcd0,
+       0x50f94021,
+/* 0x06af: memx_func_train_loop_inner */
+       0xf10067f0,
+       0xff111187,
+       0x98949068,
+       0x0589fd10,
+       0x072097f1,
+       0xf91093f0,
        0xfc80f990,
        0xf4e0fcd0,
        0x97f14021,
-       0x93f0053c,
-       0x0287f110,
-       0x0083f130,
-       0xf990f980,
+       0x93f00080,
+       0x029eb910,
+       0xb90421f4,
+       0x88c502d8,
+       0xf990f920,
        0xfcd0fc80,
        0x4021f4e0,
-       0x0560e7f1,
-       0xf110e3f0,
-       0xf10000d7,
-       0x908000d3,
-       0xb7f100dc,
-       0xb3f08480,
-       0xa321f41e,
-       0x000057f1,
-       0xffff97f1,
-       0x830093f1,
-/* 0x0734: memx_func_train_loop_4x */
-       0x0080a7f1,
-       0xb910a3f0,
-       0x21f402ae,
-       0x02d8b904,
-       0xffdfb7f1,
-       0xffffb3f1,
-       0xf9048bfd,
-       0xfc80f9a0,
+       0x053c97f1,
+       0xf11093f0,
+       0xf1300287,
+       0xf9800083,
+       0xfc80f990,
        0xf4e0fcd0,
-       0xa7f14021,
-       0xa3f0053c,
-       0x0287f110,
-       0x0083f130,
-       0xf9a0f980,
-       0xfcd0fc80,
-       0x4021f4e0,
-       0x0560e7f1,
-       0xf110e3f0,
-       0xf10000d7,
-       0xb98000d3,
-       0xb7f102dc,
-       0xb3f02710,
-       0xa321f400,
-       0xf402eeb9,
-       0xddb90421,
-       0x949dff02,
+       0xe7f14021,
+       0xe3f00560,
+       0x00d7f110,
+       0x00d3f100,
+       0x00dc9080,
+       0x8480b7f1,
+       0xf41eb3f0,
+       0x57f0a321,
+       0xff97f100,
+       0x0093f1ff,
+/* 0x072d: memx_func_train_loop_4x */
+       0x80a7f183,
+       0x10a3f000,
+       0xf402aeb9,
+       0xd8b90421,
+       0xdfb7f102,
+       0xffb3f1ff,
+       0x048bfdff,
+       0x80f9a0f9,
+       0xe0fcd0fc,
+       0xf14021f4,
+       0xf0053ca7,
+       0x87f110a3,
+       0x83f13002,
+       0xa0f98000,
+       0xd0fc80f9,
+       0x21f4e0fc,
+       0x60e7f140,
+       0x10e3f005,
+       0x0000d7f1,
+       0x8000d3f1,
+       0xf102dcb9,
+       0xf02710b7,
+       0x21f400b3,
+       0x02eeb9a3,
+       0xb90421f4,
+       0x9dff02dd,
+       0x0150b694,
+       0xf4045670,
+       0x7aa0921e,
+       0xa9800bcc,
+       0x0160b600,
+       0x700470b6,
+       0x1ef51066,
+       0x50fcff01,
        0x700150b6,
-       0x1ef40456,
-       0xcc7aa092,
-       0x00a9800b,
-       0xb60160b6,
-       0x66700470,
-       0x001ef510,
-       0xb650fcff,
-       0x56700150,
-       0xd41ef507,
-/* 0x07c7: memx_exec */
-       0xf900f8fe,
-       0xb9d0f9e0,
-       0xb2b902c1,
-/* 0x07d1: memx_exec_next */
-       0x00139802,
-       0xe70410b6,
-       0xe701f034,
-       0xb601e033,
-       0x30f00132,
-       0xde35980c,
-       0x12b855f9,
-       0xe41ef406,
-       0x98f10b98,
-       0xcbbbf20c,
-       0xc4b7f102,
-       0x06b4b607,
-       0xfc00bbcf,
-       0xf5e0fcd0,
+       0x1ef50756,
+       0x00f8fed6,
+/* 0x07c0: memx_exec */
+       0xd0f9e0f9,
+       0xb902c1b9,
+/* 0x07ca: memx_exec_next */
+       0x139802b2,
+       0x0410b600,
+       0x01f034e7,
+       0x01e033e7,
+       0xf00132b6,
+       0x35980c30,
+       0xb855f9de,
+       0x1ef40612,
+       0xf10b98e4,
+       0xbbf20c98,
+       0xb7f102cb,
+       0xb4b607c4,
+       0x00bbcf06,
+       0xe0fcd0fc,
+       0x033621f5,
+/* 0x0806: memx_info */
+       0xc67000f8,
+       0x0e0bf401,
+/* 0x080c: memx_info_data */
+       0x03ccc7f1,
+       0x0800b7f1,
+/* 0x0817: memx_info_train */
+       0xf10b0ef4,
+       0xf10bccc7,
+/* 0x081f: memx_info_send */
+       0xf50100b7,
        0xf8033621,
-/* 0x080d: memx_info */
-       0x01c67000,
-/* 0x0813: memx_info_data */
-       0xf10e0bf4,
-       0xf103ccc7,
-       0xf40800b7,
-/* 0x081e: memx_info_train */
-       0xc7f10b0e,
-       0xb7f10bcc,
-/* 0x0826: memx_info_send */
-       0x21f50100,
-       0x00f80336,
-/* 0x082c: memx_recv */
-       0xf401d6b0,
-       0xd6b0980b,
-       0xd80bf400,
-/* 0x083a: memx_init */
-       0x00f800f8,
-/* 0x083c: perf_recv */
-       0x4f48a7f1,
-       0x5453a3f1,
-       0xf406eab8,
-       0xa7f1601b,
-       0xa3f00001,
-       0x06dab800,
-       0xf1130bf4,
-       0xf00002a7,
+/* 0x0825: memx_recv */
+       0x01d6b000,
+       0xb0980bf4,
+       0x0bf400d6,
+/* 0x0833: memx_init */
+       0xf800f8d8,
+/* 0x0835: perf_recv */
+       0x48a7f100,
+       0x53a3f14f,
+       0x06eab854,
+       0xf1601bf4,
+       0xf00001a7,
        0xdab800a3,
-       0x390bf406,
-/* 0x0867: perf_recv_get_slots */
-       0xf15e0ef4,
-       0xf00cd207,
+       0x130bf406,
+       0x0002a7f1,
+       0xb800a3f0,
+       0x0bf406da,
+       0x5e0ef439,
+/* 0x0860: perf_recv_get_slots */
+       0x0cd207f1,
+       0x180003f0,
+       0x04bd000c,
+       0xf108c4b6,
+       0xf00cd107,
        0x0c180003,
        0xb604bd00,
        0x07f108c4,
-       0x03f00cd1,
+       0x03f00cd0,
        0x000c1800,
        0xc4b604bd,
-       0xd007f108,
-       0x0003f00c,
-       0xbd000c18,
-       0x08c4b604,
-       0xf4ffc5f0,
-/* 0x089a: perf_recv_set_slot */
-       0xc0f02b0e,
-       0x04c0b710,
-       0x00cbd005,
-/* 0x08a7: perf_recv_not_host */
-       0xf5220ef4,
-       0xf108c821,
-       0xf00ccc07,
-       0x0e980003,
-       0xf504bd00,
-       0xf5022a21,
-       0xf4025621,
-/* 0x08c2: perf_recv_host */
-       0x21f5070e,
-/* 0x08c6: perf_recv_exit */
-       0x00f80336,
-/* 0x08c8: perf_counter_readout */
-       0x20f910f9,
-       0x40f930f9,
-       0x050817f1,
-       0xcf0614b6,
-       0x27f10011,
-       0x24b60518,
-       0x0022cf06,
-       0x052837f1,
-       0xcf0634b6,
-       0x47f10033,
-       0x44b60538,
-       0x0044cf06,
-       0x0000e7f1,
-       0x8000e3f1,
-       0x050807f1,
-       0xd00604b6,
-       0x04bd000e,
-       0x051807f1,
-       0xd00604b6,
-       0x04bd000e,
-       0x052807f1,
-       0xd00604b6,
-       0x04bd000e,
-       0x053807f1,
-       0xd00604b6,
-       0x04bd000e,
-       0xffff11cc,
-       0x31ff2c21,
-       0x4c41ff3c,
-       0x0cd007f1,
-       0x000003f0,
-       0x04bd0002,
-       0x0cd107f1,
-       0x000003f0,
-       0x04bd0003,
-       0x0cd207f1,
-       0x000003f0,
-       0x04bd0004,
-       0x30fc40fc,
-       0x10fc20fc,
-/* 0x096a: perf_init */
-       0xe7f100f8,
-       0xe3f00003,
-       0x0c07f100,
-       0x0604b605,
-       0xbd000ed0,
-       0x02e7f104,
-       0x00e3f000,
-       0x051c07f1,
-       0xd00604b6,
-       0x04bd000e,
-       0x052c07f1,
-       0xd00604b6,
-       0x04bd000e,
-       0x053c07f1,
-       0xd00604b6,
-       0x04bd000e,
-       0x08c821f5,
+       0xffc5f008,
+/* 0x0893: perf_recv_set_slot */
+       0xf02b0ef4,
+       0xc0b710c0,
+       0xcbd00504,
+       0x220ef400,
+/* 0x08a0: perf_recv_not_host */
+       0x08c121f5,
        0x0ccc07f1,
        0x980003f0,
        0x04bd000e,
        0x022a21f5,
        0x025621f5,
-/* 0x09c2: i2c_drive_scl */
-       0x36b000f8,
-       0x110bf400,
-       0x07e007f1,
-       0xd00604b6,
-       0x04bd0001,
-/* 0x09d6: i2c_drive_scl_lo */
-       0x07f100f8,
-       0x04b607e4,
-       0x0001d006,
-       0x00f804bd,
-/* 0x09e4: i2c_drive_sda */
-       0xf40036b0,
-       0x07f1110b,
-       0x04b607e0,
-       0x0002d006,
-       0x00f804bd,
-/* 0x09f8: i2c_drive_sda_lo */
-       0x07e407f1,
-       0xd00604b6,
-       0x04bd0002,
-/* 0x0a06: i2c_sense_scl */
-       0x32f400f8,
-       0xc437f101,
-       0x0634b607,
-       0xfd0033cf,
-       0x0bf40431,
-       0x0131f406,
-/* 0x0a1c: i2c_sense_scl_done */
-/* 0x0a1e: i2c_sense_sda */
-       0x32f400f8,
-       0xc437f101,
-       0x0634b607,
-       0xfd0033cf,
-       0x0bf40432,
-       0x0131f406,
-/* 0x0a34: i2c_sense_sda_done */
-/* 0x0a36: i2c_raise_scl */
-       0x40f900f8,
-       0x089847f1,
+/* 0x08bb: perf_recv_host */
+       0xf5070ef4,
+/* 0x08bf: perf_recv_exit */
+       0xf8033621,
+/* 0x08c1: perf_counter_readout */
+       0xf910f900,
+       0xf930f920,
+       0x0817f140,
+       0x0614b605,
+       0xf10011cf,
+       0xb6051827,
+       0x22cf0624,
+       0x2837f100,
+       0x0634b605,
+       0xf10033cf,
+       0xb6053847,
+       0x44cf0644,
+       0x00e7f100,
+       0x00e3f100,
+       0x0807f180,
+       0x0604b605,
+       0xbd000ed0,
+       0x1807f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x2807f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x3807f104,
+       0x0604b605,
+       0xbd000ed0,
+       0xff11cc04,
+       0xff2c21ff,
+       0x41ff3c31,
+       0xd007f14c,
+       0x0003f00c,
+       0xbd000200,
+       0xd107f104,
+       0x0003f00c,
+       0xbd000300,
+       0xd207f104,
+       0x0003f00c,
+       0xbd000400,
+       0xfc40fc04,
+       0xfc20fc30,
+/* 0x0963: perf_init */
+       0xf100f810,
+       0xf00003e7,
+       0x07f100e3,
+       0x04b6050c,
+       0x000ed006,
+       0xe7f104bd,
+       0xe3f00002,
+       0x1c07f100,
+       0x0604b605,
+       0xbd000ed0,
+       0x2c07f104,
+       0x0604b605,
+       0xbd000ed0,
+       0x3c07f104,
+       0x0604b605,
+       0xbd000ed0,
+       0xc121f504,
+       0xcc07f108,
+       0x0003f00c,
+       0xbd000e98,
+       0x2a21f504,
+       0x5621f502,
+/* 0x09bb: i2c_drive_scl */
+       0xb000f802,
+       0x0bf40036,
+       0xe007f111,
+       0x0604b607,
+       0xbd0001d0,
+/* 0x09cf: i2c_drive_scl_lo */
+       0xf100f804,
+       0xb607e407,
+       0x01d00604,
+       0xf804bd00,
+/* 0x09dd: i2c_drive_sda */
+       0x0036b000,
+       0xf1110bf4,
+       0xb607e007,
+       0x02d00604,
+       0xf804bd00,
+/* 0x09f1: i2c_drive_sda_lo */
+       0xe407f100,
+       0x0604b607,
+       0xbd0002d0,
+/* 0x09ff: i2c_sense_scl */
+       0xf400f804,
+       0x37f10132,
+       0x34b607c4,
+       0x0033cf06,
+       0xf40431fd,
+       0x31f4060b,
+/* 0x0a15: i2c_sense_scl_done */
+/* 0x0a17: i2c_sense_sda */
+       0xf400f801,
+       0x37f10132,
+       0x34b607c4,
+       0x0033cf06,
+       0xf40432fd,
+       0x31f4060b,
+/* 0x0a2d: i2c_sense_sda_done */
+/* 0x0a2f: i2c_raise_scl */
+       0xf900f801,
+       0x9847f140,
+       0x0137f008,
+       0x09bb21f5,
+/* 0x0a3c: i2c_raise_scl_wait */
+       0x03e8e7f1,
+       0xf57e21f4,
+       0xf409ff21,
+       0x42b60901,
+       0xef1bf401,
+/* 0x0a50: i2c_raise_scl_done */
+       0x00f840fc,
+/* 0x0a54: i2c_start */
+       0x09ff21f5,
+       0xf50d11f4,
+       0xf40a1721,
+       0x0ef40611,
+/* 0x0a65: i2c_start_rep */
+       0x0037f030,
+       0x09bb21f5,
        0xf50137f0,
-/* 0x0a43: i2c_raise_scl_wait */
-       0xf109c221,
-       0xf403e8e7,
-       0x21f57e21,
-       0x01f40a06,
-       0x0142b609,
-/* 0x0a57: i2c_raise_scl_done */
-       0xfcef1bf4,
-/* 0x0a5b: i2c_start */
-       0xf500f840,
-       0xf40a0621,
-       0x21f50d11,
-       0x11f40a1e,
-       0x300ef406,
-/* 0x0a6c: i2c_start_rep */
+       0xbb09dd21,
+       0x65b60076,
+       0x9450f904,
+       0x56bb0465,
+       0xfd50bd02,
+       0x50fc0475,
+       0x0a2f21f5,
+       0xf40464b6,
+/* 0x0a92: i2c_start_send */
+       0x37f01f11,
+       0xdd21f500,
+       0x88e7f109,
+       0x7e21f413,
+       0xf50037f0,
+       0xf109bb21,
+       0xf41388e7,
+/* 0x0aae: i2c_start_out */
+       0x00f87e21,
+/* 0x0ab0: i2c_stop */
        0xf50037f0,
-       0xf009c221,
+       0xf009bb21,
+       0x21f50037,
+       0xe7f109dd,
+       0x21f403e8,
+       0x0137f07e,
+       0x09bb21f5,
+       0x1388e7f1,
+       0xf07e21f4,
        0x21f50137,
-       0x76bb09e4,
+       0xe7f109dd,
+       0x21f41388,
+/* 0x0ae3: i2c_bitw */
+       0xf500f87e,
+       0xf109dd21,
+       0xf403e8e7,
+       0x76bb7e21,
        0x0465b600,
        0x659450f9,
        0x0256bb04,
        0x75fd50bd,
        0xf550fc04,
-       0xb60a3621,
+       0xb60a2f21,
        0x11f40464,
-/* 0x0a99: i2c_start_send */
-       0x0037f01f,
-       0x09e421f5,
-       0x1388e7f1,
-       0xf07e21f4,
-       0x21f50037,
-       0xe7f109c2,
-       0x21f41388,
-/* 0x0ab5: i2c_start_out */
-/* 0x0ab7: i2c_stop */
-       0xf000f87e,
-       0x21f50037,
-       0x37f009c2,
-       0xe421f500,
-       0xe8e7f109,
-       0x7e21f403,
-       0xf50137f0,
-       0xf109c221,
-       0xf41388e7,
-       0x37f07e21,
-       0xe421f501,
-       0x88e7f109,
+       0x88e7f118,
        0x7e21f413,
-/* 0x0aea: i2c_bitw */
-       0x21f500f8,
-       0xe7f109e4,
-       0x21f403e8,
-       0x0076bb7e,
-       0xf90465b6,
-       0x04659450,
-       0xbd0256bb,
-       0x0475fd50,
-       0x21f550fc,
-       0x64b60a36,
-       0x1811f404,
-       0x1388e7f1,
-       0xf07e21f4,
-       0x21f50037,
-       0xe7f109c2,
-       0x21f41388,
-/* 0x0b29: i2c_bitw_out */
-/* 0x0b2b: i2c_bitr */
-       0xf000f87e,
-       0x21f50137,
-       0xe7f109e4,
-       0x21f403e8,
-       0x0076bb7e,
-       0xf90465b6,
-       0x04659450,
-       0xbd0256bb,
-       0x0475fd50,
-       0x21f550fc,
-       0x64b60a36,
-       0x1b11f404,
-       0x0a1e21f5,
        0xf50037f0,
-       0xf109c221,
+       0xf109bb21,
        0xf41388e7,
-       0x3cf07e21,
-       0x0131f401,
-/* 0x0b70: i2c_bitr_done */
-/* 0x0b72: i2c_get_byte */
-       0x57f000f8,
-       0x0847f000,
-/* 0x0b78: i2c_get_byte_next */
-       0xbb0154b6,
-       0x65b60076,
-       0x9450f904,
-       0x56bb0465,
-       0xfd50bd02,
-       0x50fc0475,
-       0x0b2b21f5,
-       0xf40464b6,
-       0x53fd2b11,
-       0x0142b605,
-       0xf0d81bf4,
-       0x76bb0137,
+/* 0x0b22: i2c_bitw_out */
+       0x00f87e21,
+/* 0x0b24: i2c_bitr */
+       0xf50137f0,
+       0xf109dd21,
+       0xf403e8e7,
+       0x76bb7e21,
        0x0465b600,
        0x659450f9,
        0x0256bb04,
        0x75fd50bd,
        0xf550fc04,
-       0xb60aea21,
-/* 0x0bc2: i2c_get_byte_done */
-       0x00f80464,
-/* 0x0bc4: i2c_put_byte */
-/* 0x0bc7: i2c_put_byte_next */
-       0xb60847f0,
-       0x54ff0142,
-       0x0076bb38,
-       0xf90465b6,
-       0x04659450,
-       0xbd0256bb,
-       0x0475fd50,
-       0x21f550fc,
-       0x64b60aea,
-       0x3411f404,
-       0xf40046b0,
-       0x76bbd81b,
+       0xb60a2f21,
+       0x11f40464,
+       0x1721f51b,
+       0x0037f00a,
+       0x09bb21f5,
+       0x1388e7f1,
+       0xf07e21f4,
+       0x31f4013c,
+/* 0x0b69: i2c_bitr_done */
+/* 0x0b6b: i2c_get_byte */
+       0xf000f801,
+       0x47f00057,
+/* 0x0b71: i2c_get_byte_next */
+       0x0154b608,
+       0xb60076bb,
+       0x50f90465,
+       0xbb046594,
+       0x50bd0256,
+       0xfc0475fd,
+       0x2421f550,
+       0x0464b60b,
+       0xfd2b11f4,
+       0x42b60553,
+       0xd81bf401,
+       0xbb0137f0,
+       0x65b60076,
+       0x9450f904,
+       0x56bb0465,
+       0xfd50bd02,
+       0x50fc0475,
+       0x0ae321f5,
+/* 0x0bbb: i2c_get_byte_done */
+       0xf80464b6,
+/* 0x0bbd: i2c_put_byte */
+       0x0847f000,
+/* 0x0bc0: i2c_put_byte_next */
+       0xff0142b6,
+       0x76bb3854,
        0x0465b600,
        0x659450f9,
        0x0256bb04,
        0x75fd50bd,
        0xf550fc04,
-       0xb60b2b21,
+       0xb60ae321,
        0x11f40464,
-       0x0076bb0f,
-       0xf40136b0,
-       0x32f4061b,
-/* 0x0c1d: i2c_put_byte_done */
-/* 0x0c1f: i2c_addr */
-       0xbb00f801,
+       0x0046b034,
+       0xbbd81bf4,
        0x65b60076,
        0x9450f904,
        0x56bb0465,
        0xfd50bd02,
        0x50fc0475,
-       0x0a5b21f5,
+       0x0b2421f5,
        0xf40464b6,
-       0xc3e72911,
-       0x34b6012e,
-       0x0553fd01,
+       0x76bb0f11,
+       0x0136b000,
+       0xf4061bf4,
+/* 0x0c16: i2c_put_byte_done */
+       0x00f80132,
+/* 0x0c18: i2c_addr */
        0xb60076bb,
        0x50f90465,
        0xbb046594,
        0x50bd0256,
        0xfc0475fd,
-       0xc421f550,
-       0x0464b60b,
-/* 0x0c64: i2c_addr_done */
-/* 0x0c66: i2c_acquire_addr */
-       0xcec700f8,
-       0x02e4b6f8,
-       0x0d24e0b7,
-       0xf800ee98,
-/* 0x0c75: i2c_acquire */
-       0x6621f500,
-       0x0421f40c,
-       0xf403d9f0,
-       0x00f84021,
-/* 0x0c84: i2c_release */
-       0x0c6621f5,
-       0xf00421f4,
-       0x21f403da,
-/* 0x0c93: i2c_recv */
-       0xf400f840,
-       0xc1c70132,
-       0x0214b6f8,
-       0xf52816b0,
-       0xa0013a1f,
-       0x980cfc13,
-       0x13a00032,
-       0x31980cd4,
-       0x0231f400,
-       0xe0f9d0f9,
-       0x67f1d0f9,
-       0x63f10000,
-       0x67921000,
-       0x0076bb01,
+       0x5421f550,
+       0x0464b60a,
+       0xe72911f4,
+       0xb6012ec3,
+       0x53fd0134,
+       0x0076bb05,
        0xf90465b6,
        0x04659450,
        0xbd0256bb,
        0x0475fd50,
        0x21f550fc,
-       0x64b60c75,
-       0xb0d0fc04,
-       0x1bf500d6,
-       0x57f000b3,
-       0x0076bb00,
+       0x64b60bbd,
+/* 0x0c5d: i2c_addr_done */
+/* 0x0c5f: i2c_acquire_addr */
+       0xc700f804,
+       0xe4b6f8ce,
+       0x24e0b702,
+       0x00ee980d,
+/* 0x0c6e: i2c_acquire */
+       0x21f500f8,
+       0x21f40c5f,
+       0x03d9f004,
+       0xf84021f4,
+/* 0x0c7d: i2c_release */
+       0x5f21f500,
+       0x0421f40c,
+       0xf403daf0,
+       0x00f84021,
+/* 0x0c8c: i2c_recv */
+       0xc70132f4,
+       0x14b6f8c1,
+       0x2816b002,
+       0x013a1ff5,
+       0x0cfc13a0,
+       0xa0003298,
+       0x980cd413,
+       0x31f40031,
+       0xf9d0f902,
+       0xf1d0f9e0,
+       0xf1000067,
+       0x92100063,
+       0x76bb0167,
+       0x0465b600,
+       0x659450f9,
+       0x0256bb04,
+       0x75fd50bd,
+       0xf550fc04,
+       0xb60c6e21,
+       0xd0fc0464,
+       0xf500d6b0,
+       0xf000b31b,
+       0x76bb0057,
+       0x0465b600,
+       0x659450f9,
+       0x0256bb04,
+       0x75fd50bd,
+       0xf550fc04,
+       0xb60c1821,
+       0x11f50464,
+       0xc5c700d0,
+       0x0076bbe0,
        0xf90465b6,
        0x04659450,
        0xbd0256bb,
        0x0475fd50,
        0x21f550fc,
-       0x64b60c1f,
-       0xd011f504,
-       0xe0c5c700,
+       0x64b60bbd,
+       0xad11f504,
+       0x0157f000,
        0xb60076bb,
        0x50f90465,
        0xbb046594,
        0x50bd0256,
        0xfc0475fd,
-       0xc421f550,
+       0x1821f550,
+       0x0464b60c,
+       0x008a11f5,
+       0xb60076bb,
+       0x50f90465,
+       0xbb046594,
+       0x50bd0256,
+       0xfc0475fd,
+       0x6b21f550,
        0x0464b60b,
-       0x00ad11f5,
-       0xbb0157f0,
-       0x65b60076,
-       0x9450f904,
-       0x56bb0465,
-       0xfd50bd02,
-       0x50fc0475,
-       0x0c1f21f5,
-       0xf50464b6,
-       0xbb008a11,
-       0x65b60076,
-       0x9450f904,
-       0x56bb0465,
-       0xfd50bd02,
-       0x50fc0475,
-       0x0b7221f5,
-       0xf40464b6,
-       0x5bcb6a11,
-       0x0076bbe0,
-       0xf90465b6,
-       0x04659450,
-       0xbd0256bb,
-       0x0475fd50,
-       0x21f550fc,
-       0x64b60ab7,
-       0x025bb904,
-       0x0ef474bd,
-/* 0x0d99: i2c_recv_not_rd08 */
-       0x01d6b043,
-       0xf03d1bf4,
-       0x21f50057,
-       0x11f40c1f,
-       0xe0c5c733,
-       0x0bc421f5,
-       0xf02911f4,
-       0x21f50057,
-       0x11f40c1f,
-       0xe0b5c71f,
-       0x0bc421f5,
-       0xf51511f4,
-       0xbd0ab721,
-       0x08c5c774,
-       0xf4091bf4,
-       0x0ef40232,
-/* 0x0dd9: i2c_recv_not_wr08 */
-/* 0x0dd9: i2c_recv_done */
-       0xf8cec703,
-       0x0c8421f5,
-       0xd0fce0fc,
-       0xb90a12f4,
-       0x21f5027c,
-/* 0x0dee: i2c_recv_exit */
-       0x00f80336,
-/* 0x0df0: i2c_init */
-/* 0x0df2: test_recv */
-       0x17f100f8,
-       0x14b605d8,
-       0x0011cf06,
-       0xf10110b6,
-       0xb605d807,
-       0x01d00604,
-       0xf104bd00,
-       0xf1d900e7,
-       0xf5134fe3,
-       0xf8025621,
-/* 0x0e19: test_init */
-       0x00e7f100,
-       0x5621f508,
-/* 0x0e23: idle_recv */
-       0xf800f802,
-/* 0x0e25: idle */
-       0x0031f400,
-       0x05d417f1,
-       0xcf0614b6,
-       0x10b60011,
-       0xd407f101,
-       0x0604b605,
-       0xbd0001d0,
-/* 0x0e41: idle_loop */
-       0x5817f004,
-/* 0x0e47: idle_proc */
-/* 0x0e47: idle_proc_exec */
-       0xf90232f4,
-       0x021eb910,
-       0x033f21f5,
-       0x11f410fc,
-       0x0231f409,
-/* 0x0e5b: idle_proc_next */
-       0xb6ef0ef4,
-       0x1fb85810,
-       0xe61bf406,
-       0xf4dd02f4,
-       0x0ef40028,
-       0x000000bb,
+       0xcb6a11f4,
+       0x76bbe05b,
+       0x0465b600,
+       0x659450f9,
+       0x0256bb04,
+       0x75fd50bd,
+       0xf550fc04,
+       0xb60ab021,
+       0x5bb90464,
+       0xf474bd02,
+/* 0x0d92: i2c_recv_not_rd08 */
+       0xd6b0430e,
+       0x3d1bf401,
+       0xf50057f0,
+       0xf40c1821,
+       0xc5c73311,
+       0xbd21f5e0,
+       0x2911f40b,
+       0xf50057f0,
+       0xf40c1821,
+       0xb5c71f11,
+       0xbd21f5e0,
+       0x1511f40b,
+       0x0ab021f5,
+       0xc5c774bd,
+       0x091bf408,
+       0xf40232f4,
+/* 0x0dd2: i2c_recv_not_wr08 */
+/* 0x0dd2: i2c_recv_done */
+       0xcec7030e,
+       0x7d21f5f8,
+       0xfce0fc0c,
+       0x0a12f4d0,
+       0xf5027cb9,
+/* 0x0de7: i2c_recv_exit */
+       0xf8033621,
+/* 0x0de9: i2c_init */
+/* 0x0deb: test_recv */
+       0xf100f800,
+       0xb605d817,
+       0x11cf0614,
+       0x0110b600,
+       0x05d807f1,
+       0xd00604b6,
+       0x04bd0001,
+       0xd900e7f1,
+       0x134fe3f1,
+       0x025621f5,
+/* 0x0e12: test_init */
+       0xe7f100f8,
+       0x21f50800,
+       0x00f80256,
+/* 0x0e1c: idle_recv */
+/* 0x0e1e: idle */
+       0x31f400f8,
+       0xd417f100,
+       0x0614b605,
+       0xb60011cf,
+       0x07f10110,
+       0x04b605d4,
+       0x0001d006,
+/* 0x0e3a: idle_loop */
+       0x17f004bd,
+       0x0232f458,
+/* 0x0e40: idle_proc */
+/* 0x0e40: idle_proc_exec */
+       0x1eb910f9,
+       0x3f21f502,
+       0xf410fc03,
+       0x31f40911,
+       0xef0ef402,
+/* 0x0e54: idle_proc_next */
+       0xb85810b6,
+       0x1bf4061f,
+       0xdd02f4e6,
+       0xf40028f4,
+       0x0000bb0e,
+       0x00000000,
+       0x00000000,
        0x00000000,
        0x00000000,
        0x00000000,
diff --git a/drm/nouveau/nvkm/subdev/pmu/fuc/memx.fuc 
b/drm/nouveau/nvkm/subdev/pmu/fuc/memx.fuc
index ec03f9a4..1663bf94 100644
--- a/drm/nouveau/nvkm/subdev/pmu/fuc/memx.fuc
+++ b/drm/nouveau/nvkm/subdev/pmu/fuc/memx.fuc
@@ -82,15 +82,15 @@ memx_train_tail:
 // $r0  - zero
 memx_func_enter:
 #if NVKM_PPWR_CHIPSET == GT215
-       movw $r8 0x1610
+       mov $r8 0x1610
        nv_rd32($r7, $r8)
        imm32($r6, 0xfffffffc)
        and $r7 $r6
-       movw $r6 0x2
+       mov $r6 0x2
        or $r7 $r6
        nv_wr32($r8, $r7)
 #else
-       movw $r6 0x001620
+       mov $r6 0x001620
        imm32($r7, ~0x00000aa2);
        nv_rd32($r8, $r6)
        and $r8 $r7
@@ -101,7 +101,7 @@ memx_func_enter:
        and $r8 $r7
        nv_wr32($r6, $r8)
 
-       movw $r6 0x0026f0
+       mov $r6 0x0026f0
        nv_rd32($r8, $r6)
        and $r8 $r7
        nv_wr32($r6, $r8)
@@ -136,19 +136,19 @@ memx_func_leave:
                bra nz #memx_func_leave_wait
 
 #if NVKM_PPWR_CHIPSET == GT215
-       movw $r8 0x1610
+       mov $r8 0x1610
        nv_rd32($r7, $r8)
        imm32($r6, 0xffffffcc)
        and $r7 $r6
        nv_wr32($r8, $r7)
 #else
-       movw $r6 0x0026f0
+       mov $r6 0x0026f0
        imm32($r7, 0x00000001)
        nv_rd32($r8, $r6)
        or $r8 $r7
        nv_wr32($r6, $r8)
 
-       movw $r6 0x001620
+       mov $r6 0x001620
        nv_rd32($r8, $r6)
        or $r8 $r7
        nv_wr32($r6, $r8)
@@ -177,11 +177,11 @@ memx_func_wait_vblank:
        bra #memx_func_wait_vblank_fini
 
        memx_func_wait_vblank_head1:
-       movw $r7 0x20
+       mov $r7 0x20
        bra #memx_func_wait_vblank_0
 
        memx_func_wait_vblank_head0:
-       movw $r7 0x8
+       mov $r7 0x8
 
        memx_func_wait_vblank_0:
                nv_iord($r6, NV_PPWR_INPUT)
@@ -273,13 +273,13 @@ memx_func_train:
 // $r5 - outer loop counter
 // $r6 - inner loop counter
 // $r7 - entry counter (#memx_train_head + $r7)
-       movw $r5 0x3
-       movw $r7 0x0
+       mov $r5 0x3
+       mov $r7 0x0
 
 // Read random memory to wake up... things
        imm32($r9, 0x700000)
        nv_rd32($r8,$r9)
-       movw $r14 0x2710
+       mov $r14 0x2710
        call(nsec)
 
        memx_func_train_loop_outer:
@@ -289,9 +289,9 @@ memx_func_train:
                nv_wr32($r9, $r8)
                push $r5
 
-               movw $r6 0x0
+               mov $r6 0x0
                memx_func_train_loop_inner:
-                       movw $r8 0x1111
+                       mov $r8 0x1111
                        mulu $r9 $r6 $r8
                        shl b32 $r8 $r9 0x10
                        or $r8 $r9
@@ -315,7 +315,7 @@ memx_func_train:
 
                        // $r5 - inner inner loop counter
                        // $r9 - result
-                       movw $r5 0
+                       mov $r5 0
                        imm32($r9, 0x8300ffff)
                        memx_func_train_loop_4x:
                                imm32($r10, 0x100080)
-- 
2.14.2

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to