drm/nouveau/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! v3: messed up rebasing, now it should apply Signed-off-by: Karol Herbst <kherbst@redhat.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
24b8ef699e
commit
fe9748b7b4
|
@ -47,8 +47,8 @@ static uint32_t gf100_pmu_data[] = {
|
|||
0x00000000,
|
||||
0x00000000,
|
||||
0x584d454d,
|
||||
0x00000756,
|
||||
0x00000748,
|
||||
0x00000754,
|
||||
0x00000746,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
@ -69,8 +69,8 @@ static uint32_t gf100_pmu_data[] = {
|
|||
0x00000000,
|
||||
0x00000000,
|
||||
0x46524550,
|
||||
0x0000075a,
|
||||
0x00000758,
|
||||
0x00000756,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
@ -91,8 +91,8 @@ static uint32_t gf100_pmu_data[] = {
|
|||
0x00000000,
|
||||
0x00000000,
|
||||
0x5f433249,
|
||||
0x00000b8a,
|
||||
0x00000a2d,
|
||||
0x00000b88,
|
||||
0x00000a2b,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
@ -113,8 +113,8 @@ static uint32_t gf100_pmu_data[] = {
|
|||
0x00000000,
|
||||
0x00000000,
|
||||
0x54534554,
|
||||
0x00000bb3,
|
||||
0x00000b8c,
|
||||
0x00000bb1,
|
||||
0x00000b8a,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
@ -135,8 +135,8 @@ static uint32_t gf100_pmu_data[] = {
|
|||
0x00000000,
|
||||
0x00000000,
|
||||
0x454c4449,
|
||||
0x00000bbf,
|
||||
0x00000bbd,
|
||||
0x00000bbb,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
@ -237,19 +237,19 @@ static 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,
|
||||
|
@ -1373,432 +1373,432 @@ static 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 */
|
||||
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 */
|
||||
0x00f800f8,
|
||||
/* 0x0758: perf_recv */
|
||||
/* 0x075a: perf_init */
|
||||
0x00f800f8,
|
||||
/* 0x075c: i2c_drive_scl */
|
||||
0xf40036b0,
|
||||
0x07f1110b,
|
||||
0x04b607e0,
|
||||
0x0001d006,
|
||||
0x00f804bd,
|
||||
/* 0x0770: i2c_drive_scl_lo */
|
||||
0x07e407f1,
|
||||
0xd00604b6,
|
||||
0x04bd0001,
|
||||
/* 0x077e: i2c_drive_sda */
|
||||
/* 0x0758: perf_init */
|
||||
/* 0x075a: i2c_drive_scl */
|
||||
0x36b000f8,
|
||||
0x110bf400,
|
||||
0x07e007f1,
|
||||
0xd00604b6,
|
||||
0x04bd0002,
|
||||
/* 0x0792: i2c_drive_sda_lo */
|
||||
0x04bd0001,
|
||||
/* 0x076e: i2c_drive_scl_lo */
|
||||
0x07f100f8,
|
||||
0x04b607e4,
|
||||
0x0001d006,
|
||||
0x00f804bd,
|
||||
/* 0x077c: i2c_drive_sda */
|
||||
0xf40036b0,
|
||||
0x07f1110b,
|
||||
0x04b607e0,
|
||||
0x0002d006,
|
||||
0x00f804bd,
|
||||
/* 0x07a0: i2c_sense_scl */
|
||||
0xf10132f4,
|
||||
0xb607c437,
|
||||
0x33cf0634,
|
||||
0x0431fd00,
|
||||
0xf4060bf4,
|
||||
/* 0x07b6: i2c_sense_scl_done */
|
||||
0x00f80131,
|
||||
/* 0x07b8: i2c_sense_sda */
|
||||
0xf10132f4,
|
||||
0xb607c437,
|
||||
0x33cf0634,
|
||||
0x0432fd00,
|
||||
0xf4060bf4,
|
||||
/* 0x07ce: i2c_sense_sda_done */
|
||||
0x00f80131,
|
||||
/* 0x07d0: i2c_raise_scl */
|
||||
0x47f140f9,
|
||||
0x37f00898,
|
||||
0x5c21f501,
|
||||
/* 0x07dd: i2c_raise_scl_wait */
|
||||
/* 0x0790: i2c_drive_sda_lo */
|
||||
0x07e407f1,
|
||||
0xd00604b6,
|
||||
0x04bd0002,
|
||||
/* 0x079e: i2c_sense_scl */
|
||||
0x32f400f8,
|
||||
0xc437f101,
|
||||
0x0634b607,
|
||||
0xfd0033cf,
|
||||
0x0bf40431,
|
||||
0x0131f406,
|
||||
/* 0x07b4: i2c_sense_scl_done */
|
||||
/* 0x07b6: i2c_sense_sda */
|
||||
0x32f400f8,
|
||||
0xc437f101,
|
||||
0x0634b607,
|
||||
0xfd0033cf,
|
||||
0x0bf40432,
|
||||
0x0131f406,
|
||||
/* 0x07cc: i2c_sense_sda_done */
|
||||
/* 0x07ce: i2c_raise_scl */
|
||||
0x40f900f8,
|
||||
0x089847f1,
|
||||
0xf50137f0,
|
||||
/* 0x07db: i2c_raise_scl_wait */
|
||||
0xf1075a21,
|
||||
0xf403e8e7,
|
||||
0x21f57e21,
|
||||
0x01f4079e,
|
||||
0x0142b609,
|
||||
/* 0x07ef: i2c_raise_scl_done */
|
||||
0xfcef1bf4,
|
||||
/* 0x07f3: i2c_start */
|
||||
0xf500f840,
|
||||
0xf4079e21,
|
||||
0x21f50d11,
|
||||
0x11f407b6,
|
||||
0x300ef406,
|
||||
/* 0x0804: i2c_start_rep */
|
||||
0xf50037f0,
|
||||
0xf0075a21,
|
||||
0x21f50137,
|
||||
0x76bb077c,
|
||||
0x0465b600,
|
||||
0x659450f9,
|
||||
0x0256bb04,
|
||||
0x75fd50bd,
|
||||
0xf550fc04,
|
||||
0xb607ce21,
|
||||
0x11f40464,
|
||||
/* 0x0831: i2c_start_send */
|
||||
0x0037f01f,
|
||||
0x077c21f5,
|
||||
0x1388e7f1,
|
||||
0xf07e21f4,
|
||||
0x21f50037,
|
||||
0xe7f1075a,
|
||||
0x21f41388,
|
||||
/* 0x084d: i2c_start_out */
|
||||
/* 0x084f: i2c_stop */
|
||||
0xf000f87e,
|
||||
0x21f50037,
|
||||
0x37f0075a,
|
||||
0x7c21f500,
|
||||
0xe8e7f107,
|
||||
0x7e21f403,
|
||||
0x07a021f5,
|
||||
0xb60901f4,
|
||||
0x1bf40142,
|
||||
/* 0x07f1: i2c_raise_scl_done */
|
||||
0xf840fcef,
|
||||
/* 0x07f5: i2c_start */
|
||||
0xa021f500,
|
||||
0x0d11f407,
|
||||
0x07b821f5,
|
||||
0xf40611f4,
|
||||
/* 0x0806: i2c_start_rep */
|
||||
0x37f0300e,
|
||||
0x5c21f500,
|
||||
0x0137f007,
|
||||
0x077e21f5,
|
||||
0xb60076bb,
|
||||
0x50f90465,
|
||||
0xbb046594,
|
||||
0x50bd0256,
|
||||
0xfc0475fd,
|
||||
0xd021f550,
|
||||
0x0464b607,
|
||||
/* 0x0833: i2c_start_send */
|
||||
0xf01f11f4,
|
||||
0x21f50037,
|
||||
0xe7f1077e,
|
||||
0x21f41388,
|
||||
0x0037f07e,
|
||||
0x075c21f5,
|
||||
0x1388e7f1,
|
||||
/* 0x084f: i2c_start_out */
|
||||
0xf87e21f4,
|
||||
/* 0x0851: i2c_stop */
|
||||
0x0037f000,
|
||||
0x075c21f5,
|
||||
0xf50037f0,
|
||||
0xf1077e21,
|
||||
0xf403e8e7,
|
||||
0x37f07e21,
|
||||
0x5c21f501,
|
||||
0x88e7f107,
|
||||
0x7e21f413,
|
||||
0xf50137f0,
|
||||
0xf1077e21,
|
||||
0xf1075a21,
|
||||
0xf41388e7,
|
||||
0x00f87e21,
|
||||
/* 0x0884: i2c_bitw */
|
||||
0x077e21f5,
|
||||
0x03e8e7f1,
|
||||
0xbb7e21f4,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x07d021f5,
|
||||
0xf40464b6,
|
||||
0xe7f11811,
|
||||
0x21f41388,
|
||||
0x0037f07e,
|
||||
0x075c21f5,
|
||||
0x1388e7f1,
|
||||
/* 0x08c3: i2c_bitw_out */
|
||||
0xf87e21f4,
|
||||
/* 0x08c5: i2c_bitr */
|
||||
0x0137f000,
|
||||
0x077e21f5,
|
||||
0x03e8e7f1,
|
||||
0xbb7e21f4,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x07d021f5,
|
||||
0xf40464b6,
|
||||
0x21f51b11,
|
||||
0x37f007b8,
|
||||
0x5c21f500,
|
||||
0x37f07e21,
|
||||
0x7c21f501,
|
||||
0x88e7f107,
|
||||
0x7e21f413,
|
||||
0xf4013cf0,
|
||||
/* 0x090a: i2c_bitr_done */
|
||||
0x00f80131,
|
||||
/* 0x090c: i2c_get_byte */
|
||||
0xf00057f0,
|
||||
/* 0x0912: i2c_get_byte_next */
|
||||
0x54b60847,
|
||||
0x0076bb01,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0x21f550fc,
|
||||
0x64b608c5,
|
||||
0x2b11f404,
|
||||
0xb60553fd,
|
||||
0x1bf40142,
|
||||
0x0137f0d8,
|
||||
0xb60076bb,
|
||||
0x50f90465,
|
||||
0xbb046594,
|
||||
0x50bd0256,
|
||||
0xfc0475fd,
|
||||
0x8421f550,
|
||||
0x0464b608,
|
||||
/* 0x095c: i2c_get_byte_done */
|
||||
/* 0x095e: i2c_put_byte */
|
||||
0x47f000f8,
|
||||
/* 0x0961: i2c_put_byte_next */
|
||||
0x0142b608,
|
||||
0xbb3854ff,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x088421f5,
|
||||
0xf40464b6,
|
||||
0x46b03411,
|
||||
0xd81bf400,
|
||||
0xb60076bb,
|
||||
0x50f90465,
|
||||
0xbb046594,
|
||||
0x50bd0256,
|
||||
0xfc0475fd,
|
||||
0xc521f550,
|
||||
0x0464b608,
|
||||
0xbb0f11f4,
|
||||
0x36b00076,
|
||||
0x061bf401,
|
||||
/* 0x09b7: i2c_put_byte_done */
|
||||
0xf80132f4,
|
||||
/* 0x09b9: i2c_addr */
|
||||
0x0076bb00,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0x21f550fc,
|
||||
0x64b607f5,
|
||||
0x2911f404,
|
||||
0x012ec3e7,
|
||||
0xfd0134b6,
|
||||
0x76bb0553,
|
||||
0x0465b600,
|
||||
0x659450f9,
|
||||
0x0256bb04,
|
||||
0x75fd50bd,
|
||||
0xf550fc04,
|
||||
0xb6095e21,
|
||||
/* 0x09fe: i2c_addr_done */
|
||||
0x00f80464,
|
||||
/* 0x0a00: i2c_acquire_addr */
|
||||
0xb6f8cec7,
|
||||
0xe0b702e4,
|
||||
0xee980d1c,
|
||||
/* 0x0a0f: i2c_acquire */
|
||||
0xf500f800,
|
||||
0xf40a0021,
|
||||
0xd9f00421,
|
||||
0x4021f403,
|
||||
/* 0x0a1e: i2c_release */
|
||||
/* 0x0882: i2c_bitw */
|
||||
0x21f500f8,
|
||||
0x21f40a00,
|
||||
0x03daf004,
|
||||
0xf84021f4,
|
||||
/* 0x0a2d: i2c_recv */
|
||||
0x0132f400,
|
||||
0xb6f8c1c7,
|
||||
0x16b00214,
|
||||
0x3a1ff528,
|
||||
0xf413a001,
|
||||
0x0032980c,
|
||||
0x0ccc13a0,
|
||||
0xf4003198,
|
||||
0xd0f90231,
|
||||
0xd0f9e0f9,
|
||||
0x000067f1,
|
||||
0x100063f1,
|
||||
0xbb016792,
|
||||
0xe7f1077c,
|
||||
0x21f403e8,
|
||||
0x0076bb7e,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0x21f550fc,
|
||||
0x64b607ce,
|
||||
0x1811f404,
|
||||
0x1388e7f1,
|
||||
0xf07e21f4,
|
||||
0x21f50037,
|
||||
0xe7f1075a,
|
||||
0x21f41388,
|
||||
/* 0x08c1: i2c_bitw_out */
|
||||
/* 0x08c3: i2c_bitr */
|
||||
0xf000f87e,
|
||||
0x21f50137,
|
||||
0xe7f1077c,
|
||||
0x21f403e8,
|
||||
0x0076bb7e,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0x21f550fc,
|
||||
0x64b607ce,
|
||||
0x1b11f404,
|
||||
0x07b621f5,
|
||||
0xf50037f0,
|
||||
0xf1075a21,
|
||||
0xf41388e7,
|
||||
0x3cf07e21,
|
||||
0x0131f401,
|
||||
/* 0x0908: i2c_bitr_done */
|
||||
/* 0x090a: i2c_get_byte */
|
||||
0x57f000f8,
|
||||
0x0847f000,
|
||||
/* 0x0910: i2c_get_byte_next */
|
||||
0xbb0154b6,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x0a0f21f5,
|
||||
0xfc0464b6,
|
||||
0x00d6b0d0,
|
||||
0x00b31bf5,
|
||||
0xbb0057f0,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x09b921f5,
|
||||
0xf50464b6,
|
||||
0xc700d011,
|
||||
0x76bbe0c5,
|
||||
0x08c321f5,
|
||||
0xf40464b6,
|
||||
0x53fd2b11,
|
||||
0x0142b605,
|
||||
0xf0d81bf4,
|
||||
0x76bb0137,
|
||||
0x0465b600,
|
||||
0x659450f9,
|
||||
0x0256bb04,
|
||||
0x75fd50bd,
|
||||
0xf550fc04,
|
||||
0xb6095e21,
|
||||
0x11f50464,
|
||||
0x57f000ad,
|
||||
0xb6088221,
|
||||
/* 0x095a: i2c_get_byte_done */
|
||||
0x00f80464,
|
||||
/* 0x095c: i2c_put_byte */
|
||||
/* 0x095f: i2c_put_byte_next */
|
||||
0xb60847f0,
|
||||
0x54ff0142,
|
||||
0x0076bb38,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0x21f550fc,
|
||||
0x64b60882,
|
||||
0x3411f404,
|
||||
0xf40046b0,
|
||||
0x76bbd81b,
|
||||
0x0465b600,
|
||||
0x659450f9,
|
||||
0x0256bb04,
|
||||
0x75fd50bd,
|
||||
0xf550fc04,
|
||||
0xb608c321,
|
||||
0x11f40464,
|
||||
0x0076bb0f,
|
||||
0xf40136b0,
|
||||
0x32f4061b,
|
||||
/* 0x09b5: i2c_put_byte_done */
|
||||
/* 0x09b7: i2c_addr */
|
||||
0xbb00f801,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x07f321f5,
|
||||
0xf40464b6,
|
||||
0xc3e72911,
|
||||
0x34b6012e,
|
||||
0x0553fd01,
|
||||
0xb60076bb,
|
||||
0x50f90465,
|
||||
0xbb046594,
|
||||
0x50bd0256,
|
||||
0xfc0475fd,
|
||||
0x5c21f550,
|
||||
0x0464b609,
|
||||
/* 0x09fc: i2c_addr_done */
|
||||
/* 0x09fe: i2c_acquire_addr */
|
||||
0xcec700f8,
|
||||
0x02e4b6f8,
|
||||
0x0d1ce0b7,
|
||||
0xf800ee98,
|
||||
/* 0x0a0d: i2c_acquire */
|
||||
0xfe21f500,
|
||||
0x0421f409,
|
||||
0xf403d9f0,
|
||||
0x00f84021,
|
||||
/* 0x0a1c: i2c_release */
|
||||
0x09fe21f5,
|
||||
0xf00421f4,
|
||||
0x21f403da,
|
||||
/* 0x0a2b: i2c_recv */
|
||||
0xf400f840,
|
||||
0xc1c70132,
|
||||
0x0214b6f8,
|
||||
0xf52816b0,
|
||||
0xa0013a1f,
|
||||
0x980cf413,
|
||||
0x13a00032,
|
||||
0x31980ccc,
|
||||
0x0231f400,
|
||||
0xe0f9d0f9,
|
||||
0x67f1d0f9,
|
||||
0x63f10000,
|
||||
0x67921000,
|
||||
0x0076bb01,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0x21f550fc,
|
||||
0x64b609b9,
|
||||
0x8a11f504,
|
||||
0x64b60a0d,
|
||||
0xb0d0fc04,
|
||||
0x1bf500d6,
|
||||
0x57f000b3,
|
||||
0x0076bb00,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0x21f550fc,
|
||||
0x64b6090c,
|
||||
0x6a11f404,
|
||||
0xbbe05bcb,
|
||||
0x64b609b7,
|
||||
0xd011f504,
|
||||
0xe0c5c700,
|
||||
0xb60076bb,
|
||||
0x50f90465,
|
||||
0xbb046594,
|
||||
0x50bd0256,
|
||||
0xfc0475fd,
|
||||
0x5c21f550,
|
||||
0x0464b609,
|
||||
0x00ad11f5,
|
||||
0xbb0157f0,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x085121f5,
|
||||
0xb90464b6,
|
||||
0x74bd025b,
|
||||
/* 0x0b33: i2c_recv_not_rd08 */
|
||||
0xb0430ef4,
|
||||
0x1bf401d6,
|
||||
0x0057f03d,
|
||||
0x09b921f5,
|
||||
0xc73311f4,
|
||||
0x21f5e0c5,
|
||||
0x11f4095e,
|
||||
0x0057f029,
|
||||
0x09b921f5,
|
||||
0xc71f11f4,
|
||||
0x21f5e0b5,
|
||||
0x11f4095e,
|
||||
0x5121f515,
|
||||
0xc774bd08,
|
||||
0x1bf408c5,
|
||||
0x0232f409,
|
||||
/* 0x0b73: i2c_recv_not_wr08 */
|
||||
/* 0x0b73: i2c_recv_done */
|
||||
0xc7030ef4,
|
||||
0x21f5f8ce,
|
||||
0xe0fc0a1e,
|
||||
0x12f4d0fc,
|
||||
0x027cb90a,
|
||||
0x033621f5,
|
||||
/* 0x0b88: i2c_recv_exit */
|
||||
/* 0x0b8a: i2c_init */
|
||||
0x00f800f8,
|
||||
/* 0x0b8c: test_recv */
|
||||
0x05d817f1,
|
||||
0xcf0614b6,
|
||||
0x10b60011,
|
||||
0xd807f101,
|
||||
0x0604b605,
|
||||
0xbd0001d0,
|
||||
0x00e7f104,
|
||||
0x4fe3f1d9,
|
||||
0x5621f513,
|
||||
/* 0x0bb3: test_init */
|
||||
0xf100f802,
|
||||
0xf50800e7,
|
||||
0xf8025621,
|
||||
/* 0x0bbd: idle_recv */
|
||||
/* 0x0bbf: idle */
|
||||
0xf400f800,
|
||||
0x17f10031,
|
||||
0x14b605d4,
|
||||
0x09b721f5,
|
||||
0xf50464b6,
|
||||
0xbb008a11,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x090a21f5,
|
||||
0xf40464b6,
|
||||
0x5bcb6a11,
|
||||
0x0076bbe0,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0x21f550fc,
|
||||
0x64b6084f,
|
||||
0x025bb904,
|
||||
0x0ef474bd,
|
||||
/* 0x0b31: i2c_recv_not_rd08 */
|
||||
0x01d6b043,
|
||||
0xf03d1bf4,
|
||||
0x21f50057,
|
||||
0x11f409b7,
|
||||
0xe0c5c733,
|
||||
0x095c21f5,
|
||||
0xf02911f4,
|
||||
0x21f50057,
|
||||
0x11f409b7,
|
||||
0xe0b5c71f,
|
||||
0x095c21f5,
|
||||
0xf51511f4,
|
||||
0xbd084f21,
|
||||
0x08c5c774,
|
||||
0xf4091bf4,
|
||||
0x0ef40232,
|
||||
/* 0x0b71: i2c_recv_not_wr08 */
|
||||
/* 0x0b71: i2c_recv_done */
|
||||
0xf8cec703,
|
||||
0x0a1c21f5,
|
||||
0xd0fce0fc,
|
||||
0xb90a12f4,
|
||||
0x21f5027c,
|
||||
/* 0x0b86: i2c_recv_exit */
|
||||
0x00f80336,
|
||||
/* 0x0b88: i2c_init */
|
||||
/* 0x0b8a: test_recv */
|
||||
0x17f100f8,
|
||||
0x14b605d8,
|
||||
0x0011cf06,
|
||||
0xf10110b6,
|
||||
0xb605d407,
|
||||
0xb605d807,
|
||||
0x01d00604,
|
||||
/* 0x0bdb: idle_loop */
|
||||
0xf004bd00,
|
||||
0x32f45817,
|
||||
/* 0x0be1: idle_proc */
|
||||
/* 0x0be1: idle_proc_exec */
|
||||
0xb910f902,
|
||||
0x21f5021e,
|
||||
0x10fc033f,
|
||||
0xf40911f4,
|
||||
0x0ef40231,
|
||||
/* 0x0bf5: idle_proc_next */
|
||||
0x5810b6ef,
|
||||
0xf4061fb8,
|
||||
0x02f4e61b,
|
||||
0x0028f4dd,
|
||||
0x00bb0ef4,
|
||||
0xf104bd00,
|
||||
0xf1d900e7,
|
||||
0xf5134fe3,
|
||||
0xf8025621,
|
||||
/* 0x0bb1: test_init */
|
||||
0x00e7f100,
|
||||
0x5621f508,
|
||||
/* 0x0bbb: idle_recv */
|
||||
0xf800f802,
|
||||
/* 0x0bbd: idle */
|
||||
0x0031f400,
|
||||
0x05d417f1,
|
||||
0xcf0614b6,
|
||||
0x10b60011,
|
||||
0xd407f101,
|
||||
0x0604b605,
|
||||
0xbd0001d0,
|
||||
/* 0x0bd9: idle_loop */
|
||||
0x5817f004,
|
||||
/* 0x0bdf: idle_proc */
|
||||
/* 0x0bdf: idle_proc_exec */
|
||||
0xf90232f4,
|
||||
0x021eb910,
|
||||
0x033f21f5,
|
||||
0x11f410fc,
|
||||
0x0231f409,
|
||||
/* 0x0bf3: idle_proc_next */
|
||||
0xb6ef0ef4,
|
||||
0x1fb85810,
|
||||
0xe61bf406,
|
||||
0xf4dd02f4,
|
||||
0x0ef40028,
|
||||
0x000000bb,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
|
|
@ -47,8 +47,8 @@ static uint32_t gk208_pmu_data[] = {
|
|||
0x00000000,
|
||||
0x00000000,
|
||||
0x584d454d,
|
||||
0x000005f3,
|
||||
0x000005e5,
|
||||
0x000005ee,
|
||||
0x000005e0,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
@ -69,8 +69,8 @@ static uint32_t gk208_pmu_data[] = {
|
|||
0x00000000,
|
||||
0x00000000,
|
||||
0x46524550,
|
||||
0x000005f7,
|
||||
0x000005f5,
|
||||
0x000005f2,
|
||||
0x000005f0,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
@ -91,8 +91,8 @@ static uint32_t gk208_pmu_data[] = {
|
|||
0x00000000,
|
||||
0x00000000,
|
||||
0x5f433249,
|
||||
0x000009f8,
|
||||
0x000008a2,
|
||||
0x000009f3,
|
||||
0x0000089d,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
@ -113,8 +113,8 @@ static uint32_t gk208_pmu_data[] = {
|
|||
0x00000000,
|
||||
0x00000000,
|
||||
0x54534554,
|
||||
0x00000a16,
|
||||
0x000009fa,
|
||||
0x00000a11,
|
||||
0x000009f5,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
@ -135,8 +135,8 @@ static uint32_t gk208_pmu_data[] = {
|
|||
0x00000000,
|
||||
0x00000000,
|
||||
0x454c4449,
|
||||
0x00000a21,
|
||||
0x00000a1f,
|
||||
0x00000a1c,
|
||||
0x00000a1a,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
@ -234,22 +234,22 @@ static 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,
|
||||
|
@ -1239,454 +1239,454 @@ static 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 */
|
||||
0x0410b600,
|
||||
/* 0x0546: memx_func_wr32 */
|
||||
0x169800f8,
|
||||
0x01159800,
|
||||
0xf90810b6,
|
||||
0xfc50f960,
|
||||
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,
|
||||
0x20460000,
|
||||
0x7e6eb216,
|
||||
0xb2000004,
|
||||
0x0587fdd8,
|
||||
0x80f960f9,
|
||||
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 */
|
||||
/* 0x05f7: perf_init */
|
||||
0xf800f800,
|
||||
/* 0x05f9: i2c_drive_scl */
|
||||
0x0036b000,
|
||||
0x400d0bf4,
|
||||
0x01f607e0,
|
||||
0xf804bd00,
|
||||
/* 0x0609: i2c_drive_scl_lo */
|
||||
0x07e44000,
|
||||
0xbd0001f6,
|
||||
/* 0x0613: i2c_drive_sda */
|
||||
0xb000f804,
|
||||
0x0bf40036,
|
||||
0x07e0400d,
|
||||
0xbd0002f6,
|
||||
/* 0x0623: i2c_drive_sda_lo */
|
||||
0x4000f804,
|
||||
0x02f607e4,
|
||||
0xf804bd00,
|
||||
/* 0x062d: i2c_sense_scl */
|
||||
0x0132f400,
|
||||
0xcf07c443,
|
||||
0x31fd0033,
|
||||
0x060bf404,
|
||||
/* 0x063f: i2c_sense_scl_done */
|
||||
0xf80131f4,
|
||||
/* 0x0641: i2c_sense_sda */
|
||||
0x0132f400,
|
||||
0xcf07c443,
|
||||
0x32fd0033,
|
||||
0x060bf404,
|
||||
/* 0x0653: i2c_sense_sda_done */
|
||||
0xf80131f4,
|
||||
/* 0x0655: i2c_raise_scl */
|
||||
0x4440f900,
|
||||
0x01030898,
|
||||
0x0005f97e,
|
||||
/* 0x0660: i2c_raise_scl_wait */
|
||||
0x7e03e84e,
|
||||
0x7e000058,
|
||||
0xf400062d,
|
||||
0x42b60901,
|
||||
0xef1bf401,
|
||||
/* 0x0674: i2c_raise_scl_done */
|
||||
0x00f840fc,
|
||||
/* 0x0678: i2c_start */
|
||||
0x00062d7e,
|
||||
0x7e0d11f4,
|
||||
0xf4000641,
|
||||
0x0ef40611,
|
||||
/* 0x0689: i2c_start_rep */
|
||||
0x7e00032e,
|
||||
0x030005f9,
|
||||
0x06137e01,
|
||||
0x0076bb00,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0x557e50fc,
|
||||
0x64b60006,
|
||||
0x1d11f404,
|
||||
/* 0x06b4: i2c_start_send */
|
||||
0x137e0003,
|
||||
0x884e0006,
|
||||
0x00587e13,
|
||||
0x7e000300,
|
||||
0x4e0005f9,
|
||||
0x587e1388,
|
||||
/* 0x06ce: i2c_start_out */
|
||||
0x00002d7e,
|
||||
0xb20aa247,
|
||||
0x00047e6e,
|
||||
0xfdd8b200,
|
||||
0x60f90587,
|
||||
0xd0fc80f9,
|
||||
0x2d7ee0fc,
|
||||
0x00f80000,
|
||||
/* 0x06d0: i2c_stop */
|
||||
0xf97e0003,
|
||||
0x00030005,
|
||||
0x0006137e,
|
||||
0x7e03e84e,
|
||||
0x03000058,
|
||||
0x05f97e01,
|
||||
/* 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,
|
||||
0x01f034e7,
|
||||
0x01e033e7,
|
||||
0xf00132b6,
|
||||
0x35980c30,
|
||||
0xa655f9de,
|
||||
0xe51ef412,
|
||||
0x98f10b98,
|
||||
0xcbbbf20c,
|
||||
0x07c44b02,
|
||||
0xfc00bbcf,
|
||||
0x7ee0fcd0,
|
||||
0xf800029f,
|
||||
/* 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 */
|
||||
/* 0x05f2: perf_init */
|
||||
0x00f800f8,
|
||||
/* 0x05f4: i2c_drive_scl */
|
||||
0xf40036b0,
|
||||
0xe0400d0b,
|
||||
0x0001f607,
|
||||
0x00f804bd,
|
||||
/* 0x0604: i2c_drive_scl_lo */
|
||||
0xf607e440,
|
||||
0x04bd0001,
|
||||
/* 0x060e: i2c_drive_sda */
|
||||
0x36b000f8,
|
||||
0x0d0bf400,
|
||||
0xf607e040,
|
||||
0x04bd0002,
|
||||
/* 0x061e: i2c_drive_sda_lo */
|
||||
0xe44000f8,
|
||||
0x0002f607,
|
||||
0x00f804bd,
|
||||
/* 0x0628: i2c_sense_scl */
|
||||
0x430132f4,
|
||||
0x33cf07c4,
|
||||
0x0431fd00,
|
||||
0xf4060bf4,
|
||||
/* 0x063a: i2c_sense_scl_done */
|
||||
0x00f80131,
|
||||
/* 0x063c: i2c_sense_sda */
|
||||
0x430132f4,
|
||||
0x33cf07c4,
|
||||
0x0432fd00,
|
||||
0xf4060bf4,
|
||||
/* 0x064e: i2c_sense_sda_done */
|
||||
0x00f80131,
|
||||
/* 0x0650: i2c_raise_scl */
|
||||
0x984440f9,
|
||||
0x7e010308,
|
||||
/* 0x065b: i2c_raise_scl_wait */
|
||||
0x4e0005f4,
|
||||
0x587e03e8,
|
||||
0x287e0000,
|
||||
0x01f40006,
|
||||
0x0142b609,
|
||||
/* 0x066f: i2c_raise_scl_done */
|
||||
0xfcef1bf4,
|
||||
/* 0x0673: i2c_start */
|
||||
0x7e00f840,
|
||||
0xf4000628,
|
||||
0x3c7e0d11,
|
||||
0x11f40006,
|
||||
0x2e0ef406,
|
||||
/* 0x0684: i2c_start_rep */
|
||||
0xf47e0003,
|
||||
0x01030005,
|
||||
0x00060e7e,
|
||||
0xb60076bb,
|
||||
0x50f90465,
|
||||
0xbb046594,
|
||||
0x50bd0256,
|
||||
0xfc0475fd,
|
||||
0x06507e50,
|
||||
0x0464b600,
|
||||
/* 0x06af: i2c_start_send */
|
||||
0x031d11f4,
|
||||
0x060e7e00,
|
||||
0x13884e00,
|
||||
0x0000587e,
|
||||
0x137e0103,
|
||||
0x884e0006,
|
||||
0x00587e13,
|
||||
/* 0x06ff: i2c_bitw */
|
||||
0x7e00f800,
|
||||
0x4e000613,
|
||||
0x587e03e8,
|
||||
0x76bb0000,
|
||||
0x0465b600,
|
||||
0x659450f9,
|
||||
0x0256bb04,
|
||||
0x75fd50bd,
|
||||
0x7e50fc04,
|
||||
0xb6000655,
|
||||
0x11f40464,
|
||||
0x13884e17,
|
||||
0x0000587e,
|
||||
0xf97e0003,
|
||||
0xf47e0003,
|
||||
0x884e0005,
|
||||
0x00587e13,
|
||||
/* 0x073d: i2c_bitw_out */
|
||||
/* 0x073f: i2c_bitr */
|
||||
/* 0x06c9: i2c_start_out */
|
||||
/* 0x06cb: i2c_stop */
|
||||
0x0300f800,
|
||||
0x06137e01,
|
||||
0x03e84e00,
|
||||
0x0000587e,
|
||||
0xb60076bb,
|
||||
0x50f90465,
|
||||
0xbb046594,
|
||||
0x50bd0256,
|
||||
0xfc0475fd,
|
||||
0x06557e50,
|
||||
0x0464b600,
|
||||
0x7e1a11f4,
|
||||
0x03000641,
|
||||
0x05f97e00,
|
||||
0x05f47e00,
|
||||
0x7e000300,
|
||||
0x4e00060e,
|
||||
0x587e03e8,
|
||||
0x01030000,
|
||||
0x0005f47e,
|
||||
0x7e13884e,
|
||||
0x03000058,
|
||||
0x060e7e01,
|
||||
0x13884e00,
|
||||
0x0000587e,
|
||||
0xf4013cf0,
|
||||
/* 0x0782: i2c_bitr_done */
|
||||
0x00f80131,
|
||||
/* 0x0784: i2c_get_byte */
|
||||
0x08040005,
|
||||
/* 0x0788: i2c_get_byte_next */
|
||||
0xbb0154b6,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x00073f7e,
|
||||
0xf40464b6,
|
||||
0x53fd2a11,
|
||||
0x0142b605,
|
||||
0x03d81bf4,
|
||||
0x0076bb01,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0xff7e50fc,
|
||||
0x64b60006,
|
||||
/* 0x07d1: i2c_get_byte_done */
|
||||
/* 0x07d3: i2c_put_byte */
|
||||
0x0400f804,
|
||||
/* 0x07d5: i2c_put_byte_next */
|
||||
0x0142b608,
|
||||
0xbb3854ff,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x0006ff7e,
|
||||
0xf40464b6,
|
||||
0x46b03411,
|
||||
0xd81bf400,
|
||||
0xb60076bb,
|
||||
0x50f90465,
|
||||
0xbb046594,
|
||||
0x50bd0256,
|
||||
0xfc0475fd,
|
||||
0x073f7e50,
|
||||
0x0464b600,
|
||||
0xbb0f11f4,
|
||||
0x36b00076,
|
||||
0x061bf401,
|
||||
/* 0x082b: i2c_put_byte_done */
|
||||
0xf80132f4,
|
||||
/* 0x082d: i2c_addr */
|
||||
/* 0x06fa: i2c_bitw */
|
||||
0x0e7e00f8,
|
||||
0xe84e0006,
|
||||
0x00587e03,
|
||||
0x0076bb00,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0x787e50fc,
|
||||
0x507e50fc,
|
||||
0x64b60006,
|
||||
0x2911f404,
|
||||
0x012ec3e7,
|
||||
0xfd0134b6,
|
||||
0x76bb0553,
|
||||
0x0465b600,
|
||||
0x659450f9,
|
||||
0x0256bb04,
|
||||
0x75fd50bd,
|
||||
0x7e50fc04,
|
||||
0xb60007d3,
|
||||
/* 0x0872: i2c_addr_done */
|
||||
0x00f80464,
|
||||
/* 0x0874: i2c_acquire_addr */
|
||||
0xb6f8cec7,
|
||||
0xe0b705e4,
|
||||
0x00f8d014,
|
||||
/* 0x0880: i2c_acquire */
|
||||
0x0008747e,
|
||||
0x0000047e,
|
||||
0x7e03d9f0,
|
||||
0xf800002d,
|
||||
/* 0x0891: i2c_release */
|
||||
0x08747e00,
|
||||
0x00047e00,
|
||||
0x03daf000,
|
||||
0x00002d7e,
|
||||
/* 0x08a2: i2c_recv */
|
||||
0x32f400f8,
|
||||
0xf8c1c701,
|
||||
0xb00214b6,
|
||||
0x1ff52816,
|
||||
0x13b80134,
|
||||
0x98000cf4,
|
||||
0x13b80032,
|
||||
0x98000ccc,
|
||||
0x31f40031,
|
||||
0xf9d0f902,
|
||||
0xd6d0f9e0,
|
||||
0x10000000,
|
||||
0xbb016792,
|
||||
0x1711f404,
|
||||
0x7e13884e,
|
||||
0x03000058,
|
||||
0x05f47e00,
|
||||
0x13884e00,
|
||||
0x0000587e,
|
||||
/* 0x0738: i2c_bitw_out */
|
||||
/* 0x073a: i2c_bitr */
|
||||
0x010300f8,
|
||||
0x00060e7e,
|
||||
0x7e03e84e,
|
||||
0xbb000058,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x0008807e,
|
||||
0xfc0464b6,
|
||||
0x00d6b0d0,
|
||||
0x00b01bf5,
|
||||
0x76bb0005,
|
||||
0x0465b600,
|
||||
0x659450f9,
|
||||
0x0256bb04,
|
||||
0x75fd50bd,
|
||||
0x7e50fc04,
|
||||
0xb600082d,
|
||||
0x11f50464,
|
||||
0xc5c700cc,
|
||||
0x0076bbe0,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0xd37e50fc,
|
||||
0x64b60007,
|
||||
0xa911f504,
|
||||
0xbb010500,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x00082d7e,
|
||||
0xf50464b6,
|
||||
0xbb008711,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x0007847e,
|
||||
0x0006507e,
|
||||
0xf40464b6,
|
||||
0x5bcb6711,
|
||||
0x0076bbe0,
|
||||
0x3c7e1a11,
|
||||
0x00030006,
|
||||
0x0005f47e,
|
||||
0x7e13884e,
|
||||
0xf0000058,
|
||||
0x31f4013c,
|
||||
/* 0x077d: i2c_bitr_done */
|
||||
/* 0x077f: i2c_get_byte */
|
||||
0x0500f801,
|
||||
/* 0x0783: i2c_get_byte_next */
|
||||
0xb6080400,
|
||||
0x76bb0154,
|
||||
0x0465b600,
|
||||
0x659450f9,
|
||||
0x0256bb04,
|
||||
0x75fd50bd,
|
||||
0x7e50fc04,
|
||||
0xb600073a,
|
||||
0x11f40464,
|
||||
0x0553fd2a,
|
||||
0xf40142b6,
|
||||
0x0103d81b,
|
||||
0xb60076bb,
|
||||
0x50f90465,
|
||||
0xbb046594,
|
||||
0x50bd0256,
|
||||
0xfc0475fd,
|
||||
0x06fa7e50,
|
||||
0x0464b600,
|
||||
/* 0x07cc: i2c_get_byte_done */
|
||||
/* 0x07ce: i2c_put_byte */
|
||||
0x080400f8,
|
||||
/* 0x07d0: i2c_put_byte_next */
|
||||
0xff0142b6,
|
||||
0x76bb3854,
|
||||
0x0465b600,
|
||||
0x659450f9,
|
||||
0x0256bb04,
|
||||
0x75fd50bd,
|
||||
0x7e50fc04,
|
||||
0xb60006fa,
|
||||
0x11f40464,
|
||||
0x0046b034,
|
||||
0xbbd81bf4,
|
||||
0x65b60076,
|
||||
0x9450f904,
|
||||
0x56bb0465,
|
||||
0xfd50bd02,
|
||||
0x50fc0475,
|
||||
0x00073a7e,
|
||||
0xf40464b6,
|
||||
0x76bb0f11,
|
||||
0x0136b000,
|
||||
0xf4061bf4,
|
||||
/* 0x0826: i2c_put_byte_done */
|
||||
0x00f80132,
|
||||
/* 0x0828: i2c_addr */
|
||||
0xb60076bb,
|
||||
0x50f90465,
|
||||
0xbb046594,
|
||||
0x50bd0256,
|
||||
0xfc0475fd,
|
||||
0x06737e50,
|
||||
0x0464b600,
|
||||
0xe72911f4,
|
||||
0xb6012ec3,
|
||||
0x53fd0134,
|
||||
0x0076bb05,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0xd07e50fc,
|
||||
0x64b60006,
|
||||
0xbd5bb204,
|
||||
0x410ef474,
|
||||
/* 0x09a4: i2c_recv_not_rd08 */
|
||||
0xf401d6b0,
|
||||
0x00053b1b,
|
||||
0x00082d7e,
|
||||
0xc73211f4,
|
||||
0xd37ee0c5,
|
||||
0x11f40007,
|
||||
0x7e000528,
|
||||
0xf400082d,
|
||||
0xb5c71f11,
|
||||
0x07d37ee0,
|
||||
0x1511f400,
|
||||
0x0006d07e,
|
||||
0xc5c774bd,
|
||||
0x091bf408,
|
||||
0xf40232f4,
|
||||
/* 0x09e2: i2c_recv_not_wr08 */
|
||||
/* 0x09e2: i2c_recv_done */
|
||||
0xcec7030e,
|
||||
0x08917ef8,
|
||||
0xfce0fc00,
|
||||
0x0912f4d0,
|
||||
0x9f7e7cb2,
|
||||
/* 0x09f6: i2c_recv_exit */
|
||||
0x00f80002,
|
||||
/* 0x09f8: i2c_init */
|
||||
/* 0x09fa: test_recv */
|
||||
0x584100f8,
|
||||
0x0011cf04,
|
||||
0x400110b6,
|
||||
0x01f60458,
|
||||
0xde04bd00,
|
||||
0x134fd900,
|
||||
0x0001de7e,
|
||||
/* 0x0a16: test_init */
|
||||
0x004e00f8,
|
||||
0x01de7e08,
|
||||
/* 0x0a1f: idle_recv */
|
||||
0xce7e50fc,
|
||||
0x64b60007,
|
||||
/* 0x086d: i2c_addr_done */
|
||||
/* 0x086f: i2c_acquire_addr */
|
||||
0xc700f804,
|
||||
0xe4b6f8ce,
|
||||
0x14e0b705,
|
||||
/* 0x087b: i2c_acquire */
|
||||
0x7e00f8d0,
|
||||
0x7e00086f,
|
||||
0xf0000004,
|
||||
0x2d7e03d9,
|
||||
0x00f80000,
|
||||
/* 0x088c: i2c_release */
|
||||
0x00086f7e,
|
||||
0x0000047e,
|
||||
0x7e03daf0,
|
||||
0xf800002d,
|
||||
/* 0x089d: i2c_recv */
|
||||
0x0132f400,
|
||||
0xb6f8c1c7,
|
||||
0x16b00214,
|
||||
0x341ff528,
|
||||
0xf413b801,
|
||||
0x3298000c,
|
||||
0xcc13b800,
|
||||
0x3198000c,
|
||||
0x0231f400,
|
||||
0xe0f9d0f9,
|
||||
0x00d6d0f9,
|
||||
0x92100000,
|
||||
0x76bb0167,
|
||||
0x0465b600,
|
||||
0x659450f9,
|
||||
0x0256bb04,
|
||||
0x75fd50bd,
|
||||
0x7e50fc04,
|
||||
0xb600087b,
|
||||
0xd0fc0464,
|
||||
0xf500d6b0,
|
||||
0x0500b01b,
|
||||
0x0076bb00,
|
||||
0xf90465b6,
|
||||
0x04659450,
|
||||
0xbd0256bb,
|
||||
0x0475fd50,
|
||||
0x287e50fc,
|
||||
0x64b60008,
|
||||
0xcc11f504,
|
||||
0xe0c5c700,
|
||||
0xb60076bb,
|
||||
0x50f90465,
|
||||
0xbb046594,
|
||||
0x50bd0256,
|
||||
0xfc0475fd,
|
||||
0x07ce7e50,
|
||||
0x0464b600,
|
||||
0x00a911f5,
|
||||
0x76bb0105,
|
||||
0x0465b600,
|
||||
0x659450f9,
|
||||
0x0256bb04,
|
||||
0x75fd50bd,
|
||||
0x7e50fc04,
|
||||
0xb6000828,
|
||||
0x11f50464,
|
||||
0x76bb0087,
|
||||
0x0465b600,
|
||||
0x659450f9,
|
||||
0x0256bb04,
|
||||
0x75fd50bd,
|
||||
0x7e50fc04,
|
||||
0xb600077f,
|
||||
0x11f40464,
|
||||
0xe05bcb67,
|
||||
0xb60076bb,
|
||||
0x50f90465,
|
||||
0xbb046594,
|
||||
0x50bd0256,
|
||||
0xfc0475fd,
|
||||
0x06cb7e50,
|
||||
0x0464b600,
|
||||
0x74bd5bb2,
|
||||
/* 0x099f: i2c_recv_not_rd08 */
|
||||
0xb0410ef4,
|
||||
0x1bf401d6,
|
||||
0x7e00053b,
|
||||
0xf4000828,
|
||||
0xc5c73211,
|
||||
0x07ce7ee0,
|
||||
0x2811f400,
|
||||
0x287e0005,
|
||||
0x11f40008,
|
||||
0xe0b5c71f,
|
||||
0x0007ce7e,
|
||||
0x7e1511f4,
|
||||
0xbd0006cb,
|
||||
0x08c5c774,
|
||||
0xf4091bf4,
|
||||
0x0ef40232,
|
||||
/* 0x09dd: i2c_recv_not_wr08 */
|
||||
/* 0x09dd: i2c_recv_done */
|
||||
0xf8cec703,
|
||||
0x00088c7e,
|
||||
0xd0fce0fc,
|
||||
0xb20912f4,
|
||||
0x029f7e7c,
|
||||
/* 0x09f1: i2c_recv_exit */
|
||||
/* 0x09f3: i2c_init */
|
||||
0xf800f800,
|
||||
/* 0x0a21: idle */
|
||||
0x0031f400,
|
||||
0xcf045441,
|
||||
0x10b60011,
|
||||
0x04544001,
|
||||
0xbd0001f6,
|
||||
/* 0x0a35: idle_loop */
|
||||
0xf4580104,
|
||||
/* 0x0a3a: idle_proc */
|
||||
/* 0x0a3a: idle_proc_exec */
|
||||
0x10f90232,
|
||||
0xa87e1eb2,
|
||||
0x10fc0002,
|
||||
0xf40911f4,
|
||||
0x0ef40231,
|
||||
/* 0x0a4d: idle_proc_next */
|
||||
0x5810b6f0,
|
||||
0x1bf41fa6,
|
||||
0xe002f4e8,
|
||||
0xf40028f4,
|
||||
0x0000c60e,
|
||||
/* 0x09f5: test_recv */
|
||||
0x04584100,
|
||||
0xb60011cf,
|
||||
0x58400110,
|
||||
0x0001f604,
|
||||
0x00de04bd,
|
||||
0x7e134fd9,
|
||||
0xf80001de,
|
||||
/* 0x0a11: test_init */
|
||||
0x08004e00,
|
||||
0x0001de7e,
|
||||
/* 0x0a1a: idle_recv */
|
||||
0x00f800f8,
|
||||
/* 0x0a1c: idle */
|
||||
0x410031f4,
|
||||
0x11cf0454,
|
||||
0x0110b600,
|
||||
0xf6045440,
|
||||
0x04bd0001,
|
||||
/* 0x0a30: idle_loop */
|
||||
0x32f45801,
|
||||
/* 0x0a35: idle_proc */
|
||||
/* 0x0a35: idle_proc_exec */
|
||||
0xb210f902,
|
||||
0x02a87e1e,
|
||||
0xf410fc00,
|
||||
0x31f40911,
|
||||
0xf00ef402,
|
||||
/* 0x0a48: idle_proc_next */
|
||||
0xa65810b6,
|
||||
0xe81bf41f,
|
||||
0xf4e002f4,
|
||||
0x0ef40028,
|
||||
0x000000c6,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue