Karol Herbst
2017-Nov-06 15:28 UTC
[Nouveau] [PATCH v2] pmu/fuc: don't use movw directly anymore
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