[Nouveau] [PATCH v2] pmu/fuc: don't use movw directly anymore
Karol Herbst
kherbst at redhat.com
Mon Nov 6 15:28:24 UTC 2017
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 <kherbst at 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
More information about the Nouveau
mailing list