[Nouveau] [PATCH v3 3/7] pmu/fuc: implement GET_SLOTS
Karol Herbst
karolherbst at gmail.com
Mon Jun 5 20:35:40 UTC 2017
Reads out all stored 8 bit slot values. The 0th one being always 0xff.
v3: Add macros documenting the command.
Signed-off-by: Karol Herbst <karolherbst at gmail.com>
---
drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h | 894 ++++++++++++++-------------
drm/nouveau/nvkm/subdev/pmu/fuc/gf119.fuc4.h | 840 +++++++++++++------------
drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h | 776 ++++++++++++-----------
drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h | 770 +++++++++++------------
drm/nouveau/nvkm/subdev/pmu/fuc/os.h | 12 +
drm/nouveau/nvkm/subdev/pmu/fuc/perf.fuc | 29 +-
6 files changed, 1780 insertions(+), 1541 deletions(-)
diff --git a/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h b/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h
index 9ed8e313..2cbdcdff 100644
--- a/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h
+++ b/drm/nouveau/nvkm/subdev/pmu/fuc/gf100.fuc3.h
@@ -68,7 +68,7 @@ uint32_t gf100_pmu_data[] = {
0x00000000,
0x00000000,
0x46524550,
- 0x000008c9,
+ 0x0000094b,
0x00000758,
0x00000000,
0x00000000,
@@ -90,8 +90,8 @@ uint32_t gf100_pmu_data[] = {
0x00000000,
0x00000000,
0x5f433249,
- 0x00000d7f,
- 0x00000c22,
+ 0x00000e01,
+ 0x00000ca4,
0x00000000,
0x00000000,
0x00000000,
@@ -112,8 +112,8 @@ uint32_t gf100_pmu_data[] = {
0x00000000,
0x00000000,
0x54534554,
- 0x00000da8,
- 0x00000d81,
+ 0x00000e2a,
+ 0x00000e03,
0x00000000,
0x00000000,
0x00000000,
@@ -134,8 +134,8 @@ uint32_t gf100_pmu_data[] = {
0x00000000,
0x00000000,
0x454c4449,
- 0x00000db4,
- 0x00000db2,
+ 0x00000e36,
+ 0x00000e34,
0x00000000,
0x00000000,
0x00000000,
@@ -1462,477 +1462,543 @@ uint32_t gf100_pmu_code[] = {
/* 0x0758: perf_recv */
0x4f48a7f1,
0x5453a3f1,
- 0xf406eab8,
- 0x0ef4061b,
-/* 0x0769: perf_recv_not_host */
- 0x8321f51b,
- 0xcc07f107,
+ 0xf506eab8,
+ 0xf100811b,
+ 0xf00001a7,
+ 0xdab800a3,
+ 0x070bf406,
+ 0x008b0ef5,
+/* 0x0778: perf_recv_get_slots */
+ 0x0cd207f1,
+ 0x180003f0,
+ 0x04bd000c,
+ 0xf108c4b6,
+ 0xf00cd107,
+ 0x0c180003,
+ 0xb604bd00,
+ 0x07f108c4,
+ 0x03f00cd0,
+ 0x000c1800,
+ 0xc4b604bd,
+ 0xffc5f008,
+ 0x0cd607f1,
+ 0x180003f0,
+ 0x04bd000b,
+ 0xf108b4b6,
+ 0xf00cd507,
+ 0x0b180003,
+ 0xb604bd00,
+ 0x07f108b4,
+ 0x03f00cd4,
+ 0x000b1800,
+ 0xb4b604bd,
+ 0xd307f108,
+ 0x0003f00c,
+ 0xbd000b18,
+ 0x1e0ef404,
+/* 0x07e4: perf_recv_not_host */
+ 0x080521f5,
+ 0x0ccc07f1,
+ 0x980003f0,
+ 0x04bd000e,
+ 0x022a21f5,
+ 0x025621f5,
+/* 0x07ff: perf_recv_host */
+ 0xf5070ef4,
+/* 0x0803: perf_recv_exit */
+ 0xf8033621,
+/* 0x0805: 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,
+/* 0x094b: 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,
+ 0x0521f504,
+ 0xcc07f108,
0x0003f00c,
0xbd000e98,
0x2a21f504,
0x5621f502,
-/* 0x0781: perf_recv_exit */
-/* 0x0783: perf_counter_readout */
- 0xf900f802,
- 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,
-/* 0x08c9: perf_init */
- 0x03e7f100,
- 0x00e3f000,
- 0x050c07f1,
- 0xd00604b6,
- 0x04bd000e,
- 0x0002e7f1,
- 0xf100e3f0,
- 0xb6051c07,
- 0x0ed00604,
- 0xf104bd00,
- 0xb6052c07,
- 0x0ed00604,
- 0xf104bd00,
- 0xb6053c07,
- 0x0ed00604,
- 0xf104bd00,
- 0xb6054c07,
- 0x0ed00604,
- 0xf104bd00,
- 0xb6055c07,
- 0x0ed00604,
- 0xf104bd00,
- 0xb6056c07,
- 0x0ed00604,
- 0xf104bd00,
- 0xb6057c07,
- 0x0ed00604,
- 0xf504bd00,
- 0xf1078321,
- 0xf00ccc07,
- 0x0e980003,
- 0xf504bd00,
- 0xf5022a21,
- 0xf8025621,
-/* 0x0951: i2c_drive_scl */
- 0x0036b000,
- 0xf1110bf4,
- 0xb607e007,
- 0x01d00604,
- 0xf804bd00,
-/* 0x0965: i2c_drive_scl_lo */
- 0xe407f100,
- 0x0604b607,
- 0xbd0001d0,
-/* 0x0973: i2c_drive_sda */
- 0xb000f804,
+/* 0x09d3: i2c_drive_scl */
+ 0xb000f802,
0x0bf40036,
0xe007f111,
0x0604b607,
- 0xbd0002d0,
-/* 0x0987: i2c_drive_sda_lo */
+ 0xbd0001d0,
+/* 0x09e7: i2c_drive_scl_lo */
0xf100f804,
0xb607e407,
+ 0x01d00604,
+ 0xf804bd00,
+/* 0x09f5: i2c_drive_sda */
+ 0x0036b000,
+ 0xf1110bf4,
+ 0xb607e007,
0x02d00604,
0xf804bd00,
-/* 0x0995: i2c_sense_scl */
- 0x0132f400,
- 0x07c437f1,
- 0xcf0634b6,
- 0x31fd0033,
- 0x060bf404,
-/* 0x09ab: i2c_sense_scl_done */
- 0xf80131f4,
-/* 0x09ad: i2c_sense_sda */
- 0x0132f400,
- 0x07c437f1,
- 0xcf0634b6,
- 0x32fd0033,
- 0x060bf404,
-/* 0x09c3: i2c_sense_sda_done */
- 0xf80131f4,
-/* 0x09c5: i2c_raise_scl */
- 0xf140f900,
- 0xf0089847,
- 0x21f50137,
-/* 0x09d2: i2c_raise_scl_wait */
- 0xe7f10951,
- 0x21f403e8,
- 0x9521f57e,
- 0x0901f409,
- 0xf40142b6,
-/* 0x09e6: i2c_raise_scl_done */
- 0x40fcef1b,
-/* 0x09ea: i2c_start */
- 0x21f500f8,
- 0x11f40995,
- 0xad21f50d,
- 0x0611f409,
-/* 0x09fb: i2c_start_rep */
- 0xf0300ef4,
- 0x21f50037,
- 0x37f00951,
- 0x7321f501,
- 0x0076bb09,
- 0xf90465b6,
- 0x04659450,
- 0xbd0256bb,
- 0x0475fd50,
- 0x21f550fc,
- 0x64b609c5,
- 0x1f11f404,
-/* 0x0a28: i2c_start_send */
- 0xf50037f0,
- 0xf1097321,
- 0xf41388e7,
- 0x37f07e21,
- 0x5121f500,
+/* 0x0a09: i2c_drive_sda_lo */
+ 0xe407f100,
+ 0x0604b607,
+ 0xbd0002d0,
+/* 0x0a17: i2c_sense_scl */
+ 0xf400f804,
+ 0x37f10132,
+ 0x34b607c4,
+ 0x0033cf06,
+ 0xf40431fd,
+ 0x31f4060b,
+/* 0x0a2d: i2c_sense_scl_done */
+/* 0x0a2f: i2c_sense_sda */
+ 0xf400f801,
+ 0x37f10132,
+ 0x34b607c4,
+ 0x0033cf06,
+ 0xf40432fd,
+ 0x31f4060b,
+/* 0x0a45: i2c_sense_sda_done */
+/* 0x0a47: i2c_raise_scl */
+ 0xf900f801,
+ 0x9847f140,
+ 0x0137f008,
+ 0x09d321f5,
+/* 0x0a54: i2c_raise_scl_wait */
+ 0x03e8e7f1,
+ 0xf57e21f4,
+ 0xf40a1721,
+ 0x42b60901,
+ 0xef1bf401,
+/* 0x0a68: i2c_raise_scl_done */
+ 0x00f840fc,
+/* 0x0a6c: i2c_start */
+ 0x0a1721f5,
+ 0xf50d11f4,
+ 0xf40a2f21,
+ 0x0ef40611,
+/* 0x0a7d: i2c_start_rep */
+ 0x0037f030,
+ 0x09d321f5,
+ 0xf50137f0,
+ 0xbb09f521,
+ 0x65b60076,
+ 0x9450f904,
+ 0x56bb0465,
+ 0xfd50bd02,
+ 0x50fc0475,
+ 0x0a4721f5,
+ 0xf40464b6,
+/* 0x0aaa: i2c_start_send */
+ 0x37f01f11,
+ 0xf521f500,
0x88e7f109,
0x7e21f413,
-/* 0x0a44: i2c_start_out */
-/* 0x0a46: i2c_stop */
- 0x37f000f8,
- 0x5121f500,
- 0x0037f009,
- 0x097321f5,
- 0x03e8e7f1,
+ 0xf50037f0,
+ 0xf109d321,
+ 0xf41388e7,
+/* 0x0ac6: i2c_start_out */
+ 0x00f87e21,
+/* 0x0ac8: i2c_stop */
+ 0xf50037f0,
+ 0xf009d321,
+ 0x21f50037,
+ 0xe7f109f5,
+ 0x21f403e8,
+ 0x0137f07e,
+ 0x09d321f5,
+ 0x1388e7f1,
0xf07e21f4,
0x21f50137,
- 0xe7f10951,
+ 0xe7f109f5,
0x21f41388,
- 0x0137f07e,
- 0x097321f5,
- 0x1388e7f1,
- 0xf87e21f4,
-/* 0x0a79: i2c_bitw */
- 0x7321f500,
- 0xe8e7f109,
- 0x7e21f403,
- 0xb60076bb,
- 0x50f90465,
- 0xbb046594,
- 0x50bd0256,
- 0xfc0475fd,
- 0xc521f550,
- 0x0464b609,
- 0xf11811f4,
- 0xf41388e7,
- 0x37f07e21,
- 0x5121f500,
- 0x88e7f109,
+/* 0x0afb: i2c_bitw */
+ 0xf500f87e,
+ 0xf109f521,
+ 0xf403e8e7,
+ 0x76bb7e21,
+ 0x0465b600,
+ 0x659450f9,
+ 0x0256bb04,
+ 0x75fd50bd,
+ 0xf550fc04,
+ 0xb60a4721,
+ 0x11f40464,
+ 0x88e7f118,
0x7e21f413,
-/* 0x0ab8: i2c_bitw_out */
-/* 0x0aba: i2c_bitr */
- 0x37f000f8,
- 0x7321f501,
- 0xe8e7f109,
- 0x7e21f403,
+ 0xf50037f0,
+ 0xf109d321,
+ 0xf41388e7,
+/* 0x0b3a: i2c_bitw_out */
+ 0x00f87e21,
+/* 0x0b3c: i2c_bitr */
+ 0xf50137f0,
+ 0xf109f521,
+ 0xf403e8e7,
+ 0x76bb7e21,
+ 0x0465b600,
+ 0x659450f9,
+ 0x0256bb04,
+ 0x75fd50bd,
+ 0xf550fc04,
+ 0xb60a4721,
+ 0x11f40464,
+ 0x2f21f51b,
+ 0x0037f00a,
+ 0x09d321f5,
+ 0x1388e7f1,
+ 0xf07e21f4,
+ 0x31f4013c,
+/* 0x0b81: i2c_bitr_done */
+/* 0x0b83: i2c_get_byte */
+ 0xf000f801,
+ 0x47f00057,
+/* 0x0b89: i2c_get_byte_next */
+ 0x0154b608,
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0xc521f550,
- 0x0464b609,
- 0xf51b11f4,
- 0xf009ad21,
- 0x21f50037,
- 0xe7f10951,
- 0x21f41388,
- 0x013cf07e,
-/* 0x0aff: i2c_bitr_done */
- 0xf80131f4,
-/* 0x0b01: i2c_get_byte */
- 0x0057f000,
-/* 0x0b07: i2c_get_byte_next */
- 0xb60847f0,
- 0x76bb0154,
+ 0x3c21f550,
+ 0x0464b60b,
+ 0xfd2b11f4,
+ 0x42b60553,
+ 0xd81bf401,
+ 0xbb0137f0,
+ 0x65b60076,
+ 0x9450f904,
+ 0x56bb0465,
+ 0xfd50bd02,
+ 0x50fc0475,
+ 0x0afb21f5,
+/* 0x0bd3: i2c_get_byte_done */
+ 0xf80464b6,
+/* 0x0bd5: i2c_put_byte */
+ 0x0847f000,
+/* 0x0bd8: i2c_put_byte_next */
+ 0xff0142b6,
+ 0x76bb3854,
0x0465b600,
0x659450f9,
0x0256bb04,
0x75fd50bd,
0xf550fc04,
- 0xb60aba21,
+ 0xb60afb21,
0x11f40464,
- 0x0553fd2b,
- 0xf40142b6,
- 0x37f0d81b,
- 0x0076bb01,
- 0xf90465b6,
- 0x04659450,
- 0xbd0256bb,
- 0x0475fd50,
- 0x21f550fc,
- 0x64b60a79,
-/* 0x0b51: i2c_get_byte_done */
-/* 0x0b53: i2c_put_byte */
- 0xf000f804,
-/* 0x0b56: i2c_put_byte_next */
- 0x42b60847,
- 0x3854ff01,
+ 0x0046b034,
+ 0xbbd81bf4,
+ 0x65b60076,
+ 0x9450f904,
+ 0x56bb0465,
+ 0xfd50bd02,
+ 0x50fc0475,
+ 0x0b3c21f5,
+ 0xf40464b6,
+ 0x76bb0f11,
+ 0x0136b000,
+ 0xf4061bf4,
+/* 0x0c2e: i2c_put_byte_done */
+ 0x00f80132,
+/* 0x0c30: i2c_addr */
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0x7921f550,
+ 0x6c21f550,
0x0464b60a,
- 0xb03411f4,
- 0x1bf40046,
- 0x0076bbd8,
+ 0xe72911f4,
+ 0xb6012ec3,
+ 0x53fd0134,
+ 0x0076bb05,
0xf90465b6,
0x04659450,
0xbd0256bb,
0x0475fd50,
0x21f550fc,
- 0x64b60aba,
- 0x0f11f404,
- 0xb00076bb,
- 0x1bf40136,
- 0x0132f406,
-/* 0x0bac: i2c_put_byte_done */
-/* 0x0bae: i2c_addr */
- 0x76bb00f8,
+ 0x64b60bd5,
+/* 0x0c75: i2c_addr_done */
+/* 0x0c77: i2c_acquire_addr */
+ 0xc700f804,
+ 0xe4b6f8ce,
+ 0x28e0b702,
+ 0x00ee980d,
+/* 0x0c86: i2c_acquire */
+ 0x21f500f8,
+ 0x21f40c77,
+ 0x03d9f004,
+ 0xf84021f4,
+/* 0x0c95: i2c_release */
+ 0x7721f500,
+ 0x0421f40c,
+ 0xf403daf0,
+ 0x00f84021,
+/* 0x0ca4: i2c_recv */
+ 0xc70132f4,
+ 0x14b6f8c1,
+ 0x2816b002,
+ 0x013a1ff5,
+ 0x0d0013a0,
+ 0xa0003298,
+ 0x980cd813,
+ 0x31f40031,
+ 0xf9d0f902,
+ 0xf1d0f9e0,
+ 0xf1000067,
+ 0x92100063,
+ 0x76bb0167,
0x0465b600,
0x659450f9,
0x0256bb04,
0x75fd50bd,
0xf550fc04,
- 0xb609ea21,
- 0x11f40464,
- 0x2ec3e729,
- 0x0134b601,
- 0xbb0553fd,
- 0x65b60076,
- 0x9450f904,
- 0x56bb0465,
- 0xfd50bd02,
- 0x50fc0475,
- 0x0b5321f5,
-/* 0x0bf3: i2c_addr_done */
- 0xf80464b6,
-/* 0x0bf5: i2c_acquire_addr */
- 0xf8cec700,
- 0xb702e4b6,
- 0x980d28e0,
- 0x00f800ee,
-/* 0x0c04: i2c_acquire */
- 0x0bf521f5,
- 0xf00421f4,
- 0x21f403d9,
-/* 0x0c13: i2c_release */
- 0xf500f840,
- 0xf40bf521,
- 0xdaf00421,
- 0x4021f403,
-/* 0x0c22: i2c_recv */
- 0x32f400f8,
- 0xf8c1c701,
- 0xb00214b6,
- 0x1ff52816,
- 0x13a0013a,
- 0x32980d00,
- 0xd813a000,
- 0x0031980c,
- 0xf90231f4,
- 0xf9e0f9d0,
- 0x0067f1d0,
- 0x0063f100,
- 0x01679210,
+ 0xb60c8621,
+ 0xd0fc0464,
+ 0xf500d6b0,
+ 0xf000b31b,
+ 0x76bb0057,
+ 0x0465b600,
+ 0x659450f9,
+ 0x0256bb04,
+ 0x75fd50bd,
+ 0xf550fc04,
+ 0xb60c3021,
+ 0x11f50464,
+ 0xc5c700d0,
+ 0x0076bbe0,
+ 0xf90465b6,
+ 0x04659450,
+ 0xbd0256bb,
+ 0x0475fd50,
+ 0x21f550fc,
+ 0x64b60bd5,
+ 0xad11f504,
+ 0x0157f000,
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0x0421f550,
+ 0x3021f550,
0x0464b60c,
- 0xd6b0d0fc,
- 0xb31bf500,
- 0x0057f000,
+ 0x008a11f5,
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0xae21f550,
+ 0x8321f550,
0x0464b60b,
- 0x00d011f5,
- 0xbbe0c5c7,
- 0x65b60076,
- 0x9450f904,
- 0x56bb0465,
- 0xfd50bd02,
- 0x50fc0475,
- 0x0b5321f5,
- 0xf50464b6,
- 0xf000ad11,
- 0x76bb0157,
+ 0xcb6a11f4,
+ 0x76bbe05b,
0x0465b600,
0x659450f9,
0x0256bb04,
0x75fd50bd,
0xf550fc04,
- 0xb60bae21,
- 0x11f50464,
- 0x76bb008a,
- 0x0465b600,
- 0x659450f9,
- 0x0256bb04,
- 0x75fd50bd,
- 0xf550fc04,
- 0xb60b0121,
- 0x11f40464,
- 0xe05bcb6a,
- 0xb60076bb,
- 0x50f90465,
- 0xbb046594,
- 0x50bd0256,
- 0xfc0475fd,
- 0x4621f550,
- 0x0464b60a,
- 0xbd025bb9,
- 0x430ef474,
-/* 0x0d28: i2c_recv_not_rd08 */
- 0xf401d6b0,
- 0x57f03d1b,
- 0xae21f500,
- 0x3311f40b,
- 0xf5e0c5c7,
- 0xf40b5321,
- 0x57f02911,
- 0xae21f500,
- 0x1f11f40b,
- 0xf5e0b5c7,
- 0xf40b5321,
- 0x21f51511,
- 0x74bd0a46,
- 0xf408c5c7,
- 0x32f4091b,
- 0x030ef402,
-/* 0x0d68: i2c_recv_not_wr08 */
-/* 0x0d68: i2c_recv_done */
- 0xf5f8cec7,
- 0xfc0c1321,
- 0xf4d0fce0,
- 0x7cb90a12,
- 0x3621f502,
-/* 0x0d7d: i2c_recv_exit */
-/* 0x0d7f: i2c_init */
- 0xf800f803,
-/* 0x0d81: test_recv */
- 0xd817f100,
- 0x0614b605,
- 0xb60011cf,
- 0x07f10110,
- 0x04b605d8,
- 0x0001d006,
- 0xe7f104bd,
- 0xe3f1d900,
- 0x21f5134f,
- 0x00f80256,
-/* 0x0da8: test_init */
- 0x0800e7f1,
- 0x025621f5,
-/* 0x0db2: idle_recv */
- 0x00f800f8,
-/* 0x0db4: idle */
- 0xf10031f4,
- 0xb605d417,
+ 0xb60ac821,
+ 0x5bb90464,
+ 0xf474bd02,
+/* 0x0daa: i2c_recv_not_rd08 */
+ 0xd6b0430e,
+ 0x3d1bf401,
+ 0xf50057f0,
+ 0xf40c3021,
+ 0xc5c73311,
+ 0xd521f5e0,
+ 0x2911f40b,
+ 0xf50057f0,
+ 0xf40c3021,
+ 0xb5c71f11,
+ 0xd521f5e0,
+ 0x1511f40b,
+ 0x0ac821f5,
+ 0xc5c774bd,
+ 0x091bf408,
+ 0xf40232f4,
+/* 0x0dea: i2c_recv_not_wr08 */
+/* 0x0dea: i2c_recv_done */
+ 0xcec7030e,
+ 0x9521f5f8,
+ 0xfce0fc0c,
+ 0x0a12f4d0,
+ 0xf5027cb9,
+/* 0x0dff: i2c_recv_exit */
+ 0xf8033621,
+/* 0x0e01: i2c_init */
+/* 0x0e03: test_recv */
+ 0xf100f800,
+ 0xb605d817,
0x11cf0614,
0x0110b600,
- 0x05d407f1,
+ 0x05d807f1,
0xd00604b6,
0x04bd0001,
-/* 0x0dd0: idle_loop */
- 0xf45817f0,
-/* 0x0dd6: idle_proc */
-/* 0x0dd6: idle_proc_exec */
- 0x10f90232,
- 0xf5021eb9,
- 0xfc033f21,
- 0x0911f410,
- 0xf40231f4,
-/* 0x0dea: idle_proc_next */
- 0x10b6ef0e,
- 0x061fb858,
- 0xf4e61bf4,
- 0x28f4dd02,
- 0xbb0ef400,
+ 0xd900e7f1,
+ 0x134fe3f1,
+ 0x025621f5,
+/* 0x0e2a: test_init */
+ 0xe7f100f8,
+ 0x21f50800,
+ 0x00f80256,
+/* 0x0e34: idle_recv */
+/* 0x0e36: idle */
+ 0x31f400f8,
+ 0xd417f100,
+ 0x0614b605,
+ 0xb60011cf,
+ 0x07f10110,
+ 0x04b605d4,
+ 0x0001d006,
+/* 0x0e52: idle_loop */
+ 0x17f004bd,
+ 0x0232f458,
+/* 0x0e58: idle_proc */
+/* 0x0e58: idle_proc_exec */
+ 0x1eb910f9,
+ 0x3f21f502,
+ 0xf410fc03,
+ 0x31f40911,
+ 0xef0ef402,
+/* 0x0e6c: idle_proc_next */
+ 0xb85810b6,
+ 0x1bf4061f,
+ 0xdd02f4e6,
+ 0xf40028f4,
+ 0x0000bb0e,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
0x00000000,
};
diff --git a/drm/nouveau/nvkm/subdev/pmu/fuc/gf119.fuc4.h b/drm/nouveau/nvkm/subdev/pmu/fuc/gf119.fuc4.h
index 78f6379a..213a774d 100644
--- a/drm/nouveau/nvkm/subdev/pmu/fuc/gf119.fuc4.h
+++ b/drm/nouveau/nvkm/subdev/pmu/fuc/gf119.fuc4.h
@@ -68,7 +68,7 @@ uint32_t gf119_pmu_data[] = {
0x00000000,
0x00000000,
0x46524550,
- 0x000007c6,
+ 0x00000848,
0x00000685,
0x00000000,
0x00000000,
@@ -90,8 +90,8 @@ uint32_t gf119_pmu_data[] = {
0x00000000,
0x00000000,
0x5f433249,
- 0x00000c4f,
- 0x00000af2,
+ 0x00000cd1,
+ 0x00000b74,
0x00000000,
0x00000000,
0x00000000,
@@ -112,8 +112,8 @@ uint32_t gf119_pmu_data[] = {
0x00000000,
0x00000000,
0x54534554,
- 0x00000c72,
- 0x00000c51,
+ 0x00000cf4,
+ 0x00000cd3,
0x00000000,
0x00000000,
0x00000000,
@@ -134,8 +134,8 @@ uint32_t gf119_pmu_data[] = {
0x00000000,
0x00000000,
0x454c4449,
- 0x00000c7e,
- 0x00000c7c,
+ 0x00000d00,
+ 0x00000cfe,
0x00000000,
0x00000000,
0x00000000,
@@ -1404,451 +1404,517 @@ uint32_t gf119_pmu_code[] = {
0x48a7f100,
0x53a3f14f,
0x06eab854,
- 0xf4061bf4,
-/* 0x0696: perf_recv_not_host */
- 0x21f51b0e,
- 0x07f106b0,
- 0x03f00ccc,
- 0x000e9800,
- 0x21f504bd,
- 0x21f501eb,
-/* 0x06ae: perf_recv_exit */
- 0x00f80217,
-/* 0x06b0: perf_counter_readout */
- 0x20f910f9,
- 0x40f930f9,
- 0x60f950f9,
- 0x80f970f9,
- 0x050817f1,
- 0xf10011cf,
- 0xcf051827,
- 0x37f10022,
- 0x33cf0528,
- 0x3847f100,
- 0x0044cf05,
- 0x054857f1,
- 0xf10055cf,
- 0xcf055867,
- 0x77f10066,
- 0x77cf0568,
- 0x7887f100,
- 0x0088cf05,
- 0x0000e7f1,
- 0x8000e3f1,
- 0x050807f1,
- 0xbd000ed0,
- 0x1807f104,
- 0x000ed005,
- 0x07f104bd,
- 0x0ed00528,
+ 0x00811bf5,
+ 0x0001a7f1,
+ 0xb800a3f0,
+ 0x0bf406da,
+ 0x8b0ef507,
+/* 0x06a5: perf_recv_get_slots */
+ 0xd207f100,
+ 0x0003f00c,
+ 0xbd000c18,
+ 0x08c4b604,
+ 0x0cd107f1,
+ 0x180003f0,
+ 0x04bd000c,
+ 0xf108c4b6,
+ 0xf00cd007,
+ 0x0c180003,
+ 0xb604bd00,
+ 0xc5f008c4,
+ 0xd607f1ff,
+ 0x0003f00c,
+ 0xbd000b18,
+ 0x08b4b604,
+ 0x0cd507f1,
+ 0x180003f0,
+ 0x04bd000b,
+ 0xf108b4b6,
+ 0xf00cd407,
+ 0x0b180003,
+ 0xb604bd00,
+ 0x07f108b4,
+ 0x03f00cd3,
+ 0x000b1800,
+ 0x0ef404bd,
+/* 0x0711: perf_recv_not_host */
+ 0x3221f51e,
+ 0xcc07f107,
+ 0x0003f00c,
+ 0xbd000e98,
+ 0xeb21f504,
+ 0x1721f501,
+ 0x070ef402,
+/* 0x072c: perf_recv_host */
+ 0x02e521f5,
+/* 0x0730: perf_recv_exit */
+/* 0x0732: perf_counter_readout */
+ 0x10f900f8,
+ 0x30f920f9,
+ 0x50f940f9,
+ 0x70f960f9,
+ 0x17f180f9,
+ 0x11cf0508,
+ 0x1827f100,
+ 0x0022cf05,
+ 0x052837f1,
+ 0xf10033cf,
+ 0xcf053847,
+ 0x57f10044,
+ 0x55cf0548,
+ 0x5867f100,
+ 0x0066cf05,
+ 0x056877f1,
+ 0xf10077cf,
+ 0xcf057887,
+ 0xe7f10088,
+ 0xe3f10000,
+ 0x07f18000,
+ 0x0ed00508,
0xf104bd00,
- 0xd0053807,
+ 0xd0051807,
0x04bd000e,
- 0x054807f1,
+ 0x052807f1,
0xbd000ed0,
- 0x5807f104,
+ 0x3807f104,
0x000ed005,
0x07f104bd,
- 0x0ed00568,
+ 0x0ed00548,
0xf104bd00,
- 0xd0057807,
+ 0xd0055807,
0x04bd000e,
- 0xffff11cc,
- 0x31ff2c21,
- 0x4c41ff3c,
- 0xff5c51ff,
- 0x71ff6c61,
- 0x8c81ff7c,
- 0x0cd007f1,
- 0x000003f0,
- 0x04bd0002,
- 0x0cd107f1,
- 0x000003f0,
- 0x04bd0003,
- 0x0cd207f1,
- 0x000003f0,
- 0x04bd0004,
- 0x0cd307f1,
- 0x000003f0,
- 0x04bd0005,
- 0x0cd407f1,
- 0x000003f0,
- 0x04bd0006,
- 0x0cd507f1,
- 0x000003f0,
- 0x04bd0007,
- 0x0cd607f1,
- 0x000003f0,
- 0x04bd0008,
- 0x70fc80fc,
- 0x50fc60fc,
- 0x30fc40fc,
- 0x10fc20fc,
-/* 0x07c6: perf_init */
- 0xe7f100f8,
- 0xe3f00003,
- 0x0c07f100,
- 0x000ed005,
- 0xe7f104bd,
- 0xe3f00002,
- 0x1c07f100,
+ 0x056807f1,
+ 0xbd000ed0,
+ 0x7807f104,
0x000ed005,
+ 0x11cc04bd,
+ 0x2c21ffff,
+ 0xff3c31ff,
+ 0x51ff4c41,
+ 0x6c61ff5c,
+ 0xff7c71ff,
+ 0x07f18c81,
+ 0x03f00cd0,
+ 0x00020000,
0x07f104bd,
- 0x0ed0052c,
- 0xf104bd00,
- 0xd0053c07,
+ 0x03f00cd1,
+ 0x00030000,
+ 0x07f104bd,
+ 0x03f00cd2,
+ 0x00040000,
+ 0x07f104bd,
+ 0x03f00cd3,
+ 0x00050000,
+ 0x07f104bd,
+ 0x03f00cd4,
+ 0x00060000,
+ 0x07f104bd,
+ 0x03f00cd5,
+ 0x00070000,
+ 0x07f104bd,
+ 0x03f00cd6,
+ 0x00080000,
+ 0x80fc04bd,
+ 0x60fc70fc,
+ 0x40fc50fc,
+ 0x20fc30fc,
+ 0x00f810fc,
+/* 0x0848: perf_init */
+ 0x0003e7f1,
+ 0xf100e3f0,
+ 0xd0050c07,
0x04bd000e,
- 0x054c07f1,
+ 0x0002e7f1,
+ 0xf100e3f0,
+ 0xd0051c07,
+ 0x04bd000e,
+ 0x052c07f1,
0xbd000ed0,
- 0x5c07f104,
+ 0x3c07f104,
0x000ed005,
0x07f104bd,
- 0x0ed0056c,
+ 0x0ed0054c,
0xf104bd00,
- 0xd0057c07,
- 0x04bd000e,
- 0x06b021f5,
- 0x0ccc07f1,
- 0x980003f0,
+ 0xd0055c07,
0x04bd000e,
- 0x01eb21f5,
- 0x021721f5,
-/* 0x0836: i2c_drive_scl */
- 0x36b000f8,
- 0x0e0bf400,
- 0x07e007f1,
- 0xbd0001d0,
-/* 0x0847: i2c_drive_scl_lo */
- 0xf100f804,
- 0xd007e407,
- 0x04bd0001,
-/* 0x0852: i2c_drive_sda */
- 0x36b000f8,
- 0x0e0bf400,
- 0x07e007f1,
- 0xbd0002d0,
-/* 0x0863: i2c_drive_sda_lo */
- 0xf100f804,
- 0xd007e407,
- 0x04bd0002,
-/* 0x086e: i2c_sense_scl */
- 0x32f400f8,
- 0xc437f101,
- 0x0033cf07,
- 0xf40431fd,
- 0x31f4060b,
-/* 0x0881: i2c_sense_scl_done */
-/* 0x0883: i2c_sense_sda */
- 0xf400f801,
- 0x37f10132,
- 0x33cf07c4,
- 0x0432fd00,
- 0xf4060bf4,
-/* 0x0896: i2c_sense_sda_done */
- 0x00f80131,
-/* 0x0898: i2c_raise_scl */
- 0x47f140f9,
- 0x37f00898,
- 0x3621f501,
-/* 0x08a5: i2c_raise_scl_wait */
- 0xe8e7f108,
- 0x6621f403,
- 0x086e21f5,
- 0xb60901f4,
- 0x1bf40142,
-/* 0x08b9: i2c_raise_scl_done */
- 0xf840fcef,
-/* 0x08bd: i2c_start */
- 0x6e21f500,
- 0x0d11f408,
- 0x088321f5,
- 0xf40611f4,
-/* 0x08ce: i2c_start_rep */
- 0x37f0300e,
- 0x3621f500,
- 0x0137f008,
- 0x085221f5,
- 0xb60076bb,
- 0x50f90465,
- 0xbb046594,
- 0x50bd0256,
- 0xfc0475fd,
- 0x9821f550,
- 0x0464b608,
-/* 0x08fb: i2c_start_send */
- 0xf01f11f4,
+ 0x056c07f1,
+ 0xbd000ed0,
+ 0x7c07f104,
+ 0x000ed005,
+ 0x21f504bd,
+ 0x07f10732,
+ 0x03f00ccc,
+ 0x000e9800,
+ 0x21f504bd,
+ 0x21f501eb,
+ 0x00f80217,
+/* 0x08b8: i2c_drive_scl */
+ 0xf40036b0,
+ 0x07f10e0b,
+ 0x01d007e0,
+ 0xf804bd00,
+/* 0x08c9: i2c_drive_scl_lo */
+ 0xe407f100,
+ 0x0001d007,
+ 0x00f804bd,
+/* 0x08d4: i2c_drive_sda */
+ 0xf40036b0,
+ 0x07f10e0b,
+ 0x02d007e0,
+ 0xf804bd00,
+/* 0x08e5: i2c_drive_sda_lo */
+ 0xe407f100,
+ 0x0002d007,
+ 0x00f804bd,
+/* 0x08f0: i2c_sense_scl */
+ 0xf10132f4,
+ 0xcf07c437,
+ 0x31fd0033,
+ 0x060bf404,
+/* 0x0903: i2c_sense_scl_done */
+ 0xf80131f4,
+/* 0x0905: i2c_sense_sda */
+ 0x0132f400,
+ 0x07c437f1,
+ 0xfd0033cf,
+ 0x0bf40432,
+ 0x0131f406,
+/* 0x0918: i2c_sense_sda_done */
+/* 0x091a: i2c_raise_scl */
+ 0x40f900f8,
+ 0x089847f1,
+ 0xf50137f0,
+/* 0x0927: i2c_raise_scl_wait */
+ 0xf108b821,
+ 0xf403e8e7,
+ 0x21f56621,
+ 0x01f408f0,
+ 0x0142b609,
+/* 0x093b: i2c_raise_scl_done */
+ 0xfcef1bf4,
+/* 0x093f: i2c_start */
+ 0xf500f840,
+ 0xf408f021,
+ 0x21f50d11,
+ 0x11f40905,
+ 0x300ef406,
+/* 0x0950: i2c_start_rep */
+ 0xf50037f0,
+ 0xf008b821,
+ 0x21f50137,
+ 0x76bb08d4,
+ 0x0465b600,
+ 0x659450f9,
+ 0x0256bb04,
+ 0x75fd50bd,
+ 0xf550fc04,
+ 0xb6091a21,
+ 0x11f40464,
+/* 0x097d: i2c_start_send */
+ 0x0037f01f,
+ 0x08d421f5,
+ 0x1388e7f1,
+ 0xf06621f4,
0x21f50037,
- 0xe7f10852,
+ 0xe7f108b8,
0x21f41388,
- 0x0037f066,
- 0x083621f5,
- 0x1388e7f1,
-/* 0x0917: i2c_start_out */
- 0xf86621f4,
-/* 0x0919: i2c_stop */
- 0x0037f000,
- 0x083621f5,
- 0xf50037f0,
- 0xf1085221,
- 0xf403e8e7,
+/* 0x0999: i2c_start_out */
+/* 0x099b: i2c_stop */
+ 0xf000f866,
+ 0x21f50037,
+ 0x37f008b8,
+ 0xd421f500,
+ 0xe8e7f108,
+ 0x6621f403,
+ 0xf50137f0,
+ 0xf108b821,
+ 0xf41388e7,
0x37f06621,
- 0x3621f501,
+ 0xd421f501,
0x88e7f108,
0x6621f413,
- 0xf50137f0,
- 0xf1085221,
- 0xf41388e7,
- 0x00f86621,
-/* 0x094c: i2c_bitw */
- 0x085221f5,
- 0x03e8e7f1,
- 0xbb6621f4,
- 0x65b60076,
- 0x9450f904,
- 0x56bb0465,
- 0xfd50bd02,
- 0x50fc0475,
- 0x089821f5,
- 0xf40464b6,
- 0xe7f11811,
- 0x21f41388,
- 0x0037f066,
- 0x083621f5,
+/* 0x09ce: i2c_bitw */
+ 0x21f500f8,
+ 0xe7f108d4,
+ 0x21f403e8,
+ 0x0076bb66,
+ 0xf90465b6,
+ 0x04659450,
+ 0xbd0256bb,
+ 0x0475fd50,
+ 0x21f550fc,
+ 0x64b6091a,
+ 0x1811f404,
0x1388e7f1,
-/* 0x098b: i2c_bitw_out */
- 0xf86621f4,
-/* 0x098d: i2c_bitr */
- 0x0137f000,
- 0x085221f5,
- 0x03e8e7f1,
- 0xbb6621f4,
+ 0xf06621f4,
+ 0x21f50037,
+ 0xe7f108b8,
+ 0x21f41388,
+/* 0x0a0d: i2c_bitw_out */
+/* 0x0a0f: i2c_bitr */
+ 0xf000f866,
+ 0x21f50137,
+ 0xe7f108d4,
+ 0x21f403e8,
+ 0x0076bb66,
+ 0xf90465b6,
+ 0x04659450,
+ 0xbd0256bb,
+ 0x0475fd50,
+ 0x21f550fc,
+ 0x64b6091a,
+ 0x1b11f404,
+ 0x090521f5,
+ 0xf50037f0,
+ 0xf108b821,
+ 0xf41388e7,
+ 0x3cf06621,
+ 0x0131f401,
+/* 0x0a54: i2c_bitr_done */
+/* 0x0a56: i2c_get_byte */
+ 0x57f000f8,
+ 0x0847f000,
+/* 0x0a5c: i2c_get_byte_next */
+ 0xbb0154b6,
0x65b60076,
0x9450f904,
0x56bb0465,
0xfd50bd02,
0x50fc0475,
- 0x089821f5,
+ 0x0a0f21f5,
0xf40464b6,
- 0x21f51b11,
- 0x37f00883,
- 0x3621f500,
- 0x88e7f108,
- 0x6621f413,
- 0xf4013cf0,
-/* 0x09d2: i2c_bitr_done */
- 0x00f80131,
-/* 0x09d4: i2c_get_byte */
- 0xf00057f0,
-/* 0x09da: i2c_get_byte_next */
- 0x54b60847,
- 0x0076bb01,
+ 0x53fd2b11,
+ 0x0142b605,
+ 0xf0d81bf4,
+ 0x76bb0137,
+ 0x0465b600,
+ 0x659450f9,
+ 0x0256bb04,
+ 0x75fd50bd,
+ 0xf550fc04,
+ 0xb609ce21,
+/* 0x0aa6: i2c_get_byte_done */
+ 0x00f80464,
+/* 0x0aa8: i2c_put_byte */
+/* 0x0aab: i2c_put_byte_next */
+ 0xb60847f0,
+ 0x54ff0142,
+ 0x0076bb38,
0xf90465b6,
0x04659450,
0xbd0256bb,
0x0475fd50,
0x21f550fc,
- 0x64b6098d,
- 0x2b11f404,
- 0xb60553fd,
- 0x1bf40142,
- 0x0137f0d8,
- 0xb60076bb,
- 0x50f90465,
- 0xbb046594,
- 0x50bd0256,
- 0xfc0475fd,
- 0x4c21f550,
- 0x0464b609,
-/* 0x0a24: i2c_get_byte_done */
-/* 0x0a26: i2c_put_byte */
- 0x47f000f8,
-/* 0x0a29: i2c_put_byte_next */
- 0x0142b608,
- 0xbb3854ff,
+ 0x64b609ce,
+ 0x3411f404,
+ 0xf40046b0,
+ 0x76bbd81b,
+ 0x0465b600,
+ 0x659450f9,
+ 0x0256bb04,
+ 0x75fd50bd,
+ 0xf550fc04,
+ 0xb60a0f21,
+ 0x11f40464,
+ 0x0076bb0f,
+ 0xf40136b0,
+ 0x32f4061b,
+/* 0x0b01: i2c_put_byte_done */
+/* 0x0b03: i2c_addr */
+ 0xbb00f801,
0x65b60076,
0x9450f904,
0x56bb0465,
0xfd50bd02,
0x50fc0475,
- 0x094c21f5,
+ 0x093f21f5,
0xf40464b6,
- 0x46b03411,
- 0xd81bf400,
+ 0xc3e72911,
+ 0x34b6012e,
+ 0x0553fd01,
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0x8d21f550,
- 0x0464b609,
- 0xbb0f11f4,
- 0x36b00076,
- 0x061bf401,
-/* 0x0a7f: i2c_put_byte_done */
- 0xf80132f4,
-/* 0x0a81: i2c_addr */
- 0x0076bb00,
- 0xf90465b6,
- 0x04659450,
- 0xbd0256bb,
- 0x0475fd50,
- 0x21f550fc,
- 0x64b608bd,
- 0x2911f404,
- 0x012ec3e7,
- 0xfd0134b6,
- 0x76bb0553,
+ 0xa821f550,
+ 0x0464b60a,
+/* 0x0b48: i2c_addr_done */
+/* 0x0b4a: i2c_acquire_addr */
+ 0xcec700f8,
+ 0x05e4b6f8,
+ 0xd014e0b7,
+/* 0x0b56: i2c_acquire */
+ 0x21f500f8,
+ 0x21f40b4a,
+ 0x03d9f004,
+ 0xf83421f4,
+/* 0x0b65: i2c_release */
+ 0x4a21f500,
+ 0x0421f40b,
+ 0xf403daf0,
+ 0x00f83421,
+/* 0x0b74: i2c_recv */
+ 0xc70132f4,
+ 0x14b6f8c1,
+ 0x2816b002,
+ 0x013a1ff5,
+ 0x0d0013a0,
+ 0xa0003298,
+ 0x980cd813,
+ 0x31f40031,
+ 0xf9d0f902,
+ 0xf1d0f9e0,
+ 0xf1000067,
+ 0x92100063,
+ 0x76bb0167,
0x0465b600,
0x659450f9,
0x0256bb04,
0x75fd50bd,
0xf550fc04,
- 0xb60a2621,
-/* 0x0ac6: i2c_addr_done */
- 0x00f80464,
-/* 0x0ac8: i2c_acquire_addr */
- 0xb6f8cec7,
- 0xe0b705e4,
- 0x00f8d014,
-/* 0x0ad4: i2c_acquire */
- 0x0ac821f5,
- 0xf00421f4,
- 0x21f403d9,
-/* 0x0ae3: i2c_release */
- 0xf500f834,
- 0xf40ac821,
- 0xdaf00421,
- 0x3421f403,
-/* 0x0af2: i2c_recv */
- 0x32f400f8,
- 0xf8c1c701,
- 0xb00214b6,
- 0x1ff52816,
- 0x13a0013a,
- 0x32980d00,
- 0xd813a000,
- 0x0031980c,
- 0xf90231f4,
- 0xf9e0f9d0,
- 0x0067f1d0,
- 0x0063f100,
- 0x01679210,
+ 0xb60b5621,
+ 0xd0fc0464,
+ 0xf500d6b0,
+ 0xf000b31b,
+ 0x76bb0057,
+ 0x0465b600,
+ 0x659450f9,
+ 0x0256bb04,
+ 0x75fd50bd,
+ 0xf550fc04,
+ 0xb60b0321,
+ 0x11f50464,
+ 0xc5c700d0,
+ 0x0076bbe0,
+ 0xf90465b6,
+ 0x04659450,
+ 0xbd0256bb,
+ 0x0475fd50,
+ 0x21f550fc,
+ 0x64b60aa8,
+ 0xad11f504,
+ 0x0157f000,
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0xd421f550,
- 0x0464b60a,
- 0xd6b0d0fc,
- 0xb31bf500,
- 0x0057f000,
+ 0x0321f550,
+ 0x0464b60b,
+ 0x008a11f5,
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0x8121f550,
+ 0x5621f550,
0x0464b60a,
- 0x00d011f5,
- 0xbbe0c5c7,
- 0x65b60076,
- 0x9450f904,
- 0x56bb0465,
- 0xfd50bd02,
- 0x50fc0475,
- 0x0a2621f5,
- 0xf50464b6,
- 0xf000ad11,
- 0x76bb0157,
- 0x0465b600,
- 0x659450f9,
- 0x0256bb04,
- 0x75fd50bd,
- 0xf550fc04,
- 0xb60a8121,
- 0x11f50464,
- 0x76bb008a,
+ 0xcb6a11f4,
+ 0x76bbe05b,
0x0465b600,
0x659450f9,
0x0256bb04,
0x75fd50bd,
0xf550fc04,
- 0xb609d421,
- 0x11f40464,
- 0xe05bcb6a,
- 0xb60076bb,
- 0x50f90465,
- 0xbb046594,
- 0x50bd0256,
- 0xfc0475fd,
- 0x1921f550,
- 0x0464b609,
- 0xbd025bb9,
- 0x430ef474,
-/* 0x0bf8: i2c_recv_not_rd08 */
- 0xf401d6b0,
- 0x57f03d1b,
- 0x8121f500,
- 0x3311f40a,
- 0xf5e0c5c7,
- 0xf40a2621,
- 0x57f02911,
- 0x8121f500,
- 0x1f11f40a,
- 0xf5e0b5c7,
- 0xf40a2621,
- 0x21f51511,
- 0x74bd0919,
- 0xf408c5c7,
- 0x32f4091b,
- 0x030ef402,
-/* 0x0c38: i2c_recv_not_wr08 */
-/* 0x0c38: i2c_recv_done */
- 0xf5f8cec7,
- 0xfc0ae321,
- 0xf4d0fce0,
- 0x7cb90a12,
- 0xe521f502,
-/* 0x0c4d: i2c_recv_exit */
-/* 0x0c4f: i2c_init */
- 0xf800f802,
-/* 0x0c51: test_recv */
- 0xd817f100,
- 0x0011cf05,
- 0xf10110b6,
- 0xd005d807,
- 0x04bd0001,
- 0xd900e7f1,
- 0x134fe3f1,
- 0x021721f5,
-/* 0x0c72: test_init */
- 0xe7f100f8,
- 0x21f50800,
+ 0xb6099b21,
+ 0x5bb90464,
+ 0xf474bd02,
+/* 0x0c7a: i2c_recv_not_rd08 */
+ 0xd6b0430e,
+ 0x3d1bf401,
+ 0xf50057f0,
+ 0xf40b0321,
+ 0xc5c73311,
+ 0xa821f5e0,
+ 0x2911f40a,
+ 0xf50057f0,
+ 0xf40b0321,
+ 0xb5c71f11,
+ 0xa821f5e0,
+ 0x1511f40a,
+ 0x099b21f5,
+ 0xc5c774bd,
+ 0x091bf408,
+ 0xf40232f4,
+/* 0x0cba: i2c_recv_not_wr08 */
+/* 0x0cba: i2c_recv_done */
+ 0xcec7030e,
+ 0x6521f5f8,
+ 0xfce0fc0b,
+ 0x0a12f4d0,
+ 0xf5027cb9,
+/* 0x0ccf: i2c_recv_exit */
+ 0xf802e521,
+/* 0x0cd1: i2c_init */
+/* 0x0cd3: test_recv */
+ 0xf100f800,
+ 0xcf05d817,
+ 0x10b60011,
+ 0xd807f101,
+ 0x0001d005,
+ 0xe7f104bd,
+ 0xe3f1d900,
+ 0x21f5134f,
0x00f80217,
-/* 0x0c7c: idle_recv */
-/* 0x0c7e: idle */
- 0x31f400f8,
- 0xd417f100,
- 0x0011cf05,
- 0xf10110b6,
- 0xd005d407,
- 0x04bd0001,
-/* 0x0c94: idle_loop */
- 0xf45817f0,
-/* 0x0c9a: idle_proc */
-/* 0x0c9a: idle_proc_exec */
- 0x10f90232,
- 0xf5021eb9,
- 0xfc02ee21,
- 0x0911f410,
- 0xf40231f4,
-/* 0x0cae: idle_proc_next */
- 0x10b6ef0e,
- 0x061fb858,
- 0xf4e61bf4,
- 0x28f4dd02,
- 0xc10ef400,
+/* 0x0cf4: test_init */
+ 0x0800e7f1,
+ 0x021721f5,
+/* 0x0cfe: idle_recv */
+ 0x00f800f8,
+/* 0x0d00: idle */
+ 0xf10031f4,
+ 0xcf05d417,
+ 0x10b60011,
+ 0xd407f101,
+ 0x0001d005,
+/* 0x0d16: idle_loop */
+ 0x17f004bd,
+ 0x0232f458,
+/* 0x0d1c: idle_proc */
+/* 0x0d1c: idle_proc_exec */
+ 0x1eb910f9,
+ 0xee21f502,
+ 0xf410fc02,
+ 0x31f40911,
+ 0xef0ef402,
+/* 0x0d30: idle_proc_next */
+ 0xb85810b6,
+ 0x1bf4061f,
+ 0xdd02f4e6,
+ 0xf40028f4,
+ 0x0000c10e,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
0x00000000,
0x00000000,
0x00000000,
diff --git a/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h b/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h
index 01f409ed..43dada42 100644
--- a/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h
+++ b/drm/nouveau/nvkm/subdev/pmu/fuc/gk208.fuc5.h
@@ -68,7 +68,7 @@ uint32_t gk208_pmu_data[] = {
0x00000000,
0x00000000,
0x46524550,
- 0x000006f8,
+ 0x00000756,
0x000005f5,
0x00000000,
0x00000000,
@@ -90,8 +90,8 @@ uint32_t gk208_pmu_data[] = {
0x00000000,
0x00000000,
0x5f433249,
- 0x00000b51,
- 0x000009fb,
+ 0x00000baf,
+ 0x00000a59,
0x00000000,
0x00000000,
0x00000000,
@@ -112,8 +112,8 @@ uint32_t gk208_pmu_data[] = {
0x00000000,
0x00000000,
0x54534554,
- 0x00000b6f,
- 0x00000b53,
+ 0x00000bcd,
+ 0x00000bb1,
0x00000000,
0x00000000,
0x00000000,
@@ -134,8 +134,8 @@ uint32_t gk208_pmu_data[] = {
0x00000000,
0x00000000,
0x454c4449,
- 0x00000b7a,
- 0x00000b78,
+ 0x00000bd8,
+ 0x00000bd6,
0x00000000,
0x00000000,
0x00000000,
@@ -1367,197 +1367,204 @@ uint32_t gk208_pmu_code[] = {
/* 0x05f5: perf_recv */
0x4f48da00,
0xeaa65453,
- 0xf4061bf4,
-/* 0x0602: perf_recv_not_host */
- 0x187e170e,
+ 0x0a5d1bf4,
+ 0xf4daa601,
+ 0x0ef4060b,
+/* 0x0609: perf_recv_get_slots */
+ 0x0cd2406a,
+ 0xbd000c18,
+ 0x08c4b604,
+ 0x180cd140,
+ 0x04bd000c,
+ 0x4008c4b6,
+ 0x0c180cd0,
+ 0xb604bd00,
+ 0xc5f008c4,
+ 0x0cd640ff,
+ 0xbd000b18,
+ 0x08b4b604,
+ 0x180cd540,
+ 0x04bd000b,
+ 0x4008b4b6,
+ 0x0b180cd4,
+ 0xb604bd00,
+ 0xd34008b4,
+ 0x000b180c,
+ 0x0ef404bd,
+/* 0x0659: perf_recv_not_host */
+ 0x06767e1a,
+ 0x0ccc4000,
+ 0xbd000e98,
+ 0x01bb7e04,
+ 0x01de7e00,
+ 0x070ef400,
+/* 0x0670: perf_recv_host */
+ 0x00029f7e,
+/* 0x0674: perf_recv_exit */
+/* 0x0676: 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,
+/* 0x0756: perf_init */
+ 0x030e00f8,
+ 0xf6050c40,
+ 0x04bd000e,
+ 0x1c40020e,
+ 0x000ef605,
+ 0x2c4004bd,
+ 0x000ef605,
+ 0x3c4004bd,
+ 0x000ef605,
+ 0x4c4004bd,
+ 0x000ef605,
+ 0x5c4004bd,
+ 0x000ef605,
+ 0x6c4004bd,
+ 0x000ef605,
+ 0x7c4004bd,
+ 0x000ef605,
+ 0x767e04bd,
0xcc400006,
0x000e980c,
- 0xbb7e04bd,
- 0xde7e0001,
-/* 0x0616: perf_recv_exit */
+ 0x21f504bd,
+ 0xde7e01bb,
0x00f80001,
-/* 0x0618: perf_counter_readout */
- 0x20f910f9,
- 0x40f930f9,
- 0x60f950f9,
- 0x80f970f9,
- 0xcf050841,
- 0x18420011,
- 0x0022cf05,
- 0xcf052843,
- 0x38440033,
- 0x0044cf05,
- 0xcf054845,
- 0x58460055,
- 0x0066cf05,
- 0xcf056847,
- 0x78480077,
- 0x0088cf05,
- 0x000000de,
- 0x05084080,
- 0xbd000ef6,
- 0x05184004,
- 0xbd000ef6,
- 0x05284004,
- 0xbd000ef6,
- 0x05384004,
- 0xbd000ef6,
- 0x05484004,
- 0xbd000ef6,
- 0x05584004,
- 0xbd000ef6,
- 0x05684004,
- 0xbd000ef6,
- 0x05784004,
- 0xbd000ef6,
- 0xff11cc04,
- 0xff2c21ff,
- 0x41ff3c31,
- 0x5c51ff4c,
- 0xff6c61ff,
- 0x81ff7c71,
- 0x0cd0408c,
- 0x04bd0220,
- 0x200cd140,
- 0x4004bd03,
- 0x04200cd2,
- 0xd34004bd,
- 0xbd05200c,
- 0x0cd44004,
- 0x04bd0620,
- 0x200cd540,
- 0x4004bd07,
- 0x08200cd6,
- 0x80fc04bd,
- 0x60fc70fc,
- 0x40fc50fc,
- 0x20fc30fc,
- 0x00f810fc,
-/* 0x06f8: perf_init */
- 0x0c40030e,
- 0x000ef605,
- 0x020e04bd,
- 0xf6051c40,
- 0x04bd000e,
- 0xf6052c40,
- 0x04bd000e,
- 0xf6053c40,
- 0x04bd000e,
- 0xf6054c40,
- 0x04bd000e,
- 0xf6055c40,
- 0x04bd000e,
- 0xf6056c40,
- 0x04bd000e,
- 0xf6057c40,
- 0x04bd000e,
- 0x0006187e,
- 0x980ccc40,
- 0x04bd000e,
- 0x01bb21f5,
- 0x0001de7e,
-/* 0x0752: i2c_drive_scl */
+/* 0x07b0: i2c_drive_scl */
+ 0xf40036b0,
+ 0xe0400d0b,
+ 0x0001f607,
+ 0x00f804bd,
+/* 0x07c0: i2c_drive_scl_lo */
+ 0xf607e440,
+ 0x04bd0001,
+/* 0x07ca: i2c_drive_sda */
0x36b000f8,
0x0d0bf400,
0xf607e040,
- 0x04bd0001,
-/* 0x0762: i2c_drive_scl_lo */
+ 0x04bd0002,
+/* 0x07da: i2c_drive_sda_lo */
0xe44000f8,
- 0x0001f607,
- 0x00f804bd,
-/* 0x076c: i2c_drive_sda */
- 0xf40036b0,
- 0xe0400d0b,
0x0002f607,
0x00f804bd,
-/* 0x077c: i2c_drive_sda_lo */
- 0xf607e440,
- 0x04bd0002,
-/* 0x0786: i2c_sense_scl */
- 0x32f400f8,
- 0x07c44301,
- 0xfd0033cf,
- 0x0bf40431,
- 0x0131f406,
-/* 0x0798: i2c_sense_scl_done */
-/* 0x079a: i2c_sense_sda */
- 0x32f400f8,
- 0x07c44301,
- 0xfd0033cf,
- 0x0bf40432,
- 0x0131f406,
-/* 0x07ac: i2c_sense_sda_done */
-/* 0x07ae: i2c_raise_scl */
- 0x40f900f8,
- 0x03089844,
- 0x07527e01,
-/* 0x07b9: i2c_raise_scl_wait */
- 0x03e84e00,
- 0x0000587e,
- 0x0007867e,
- 0xb60901f4,
- 0x1bf40142,
-/* 0x07cd: i2c_raise_scl_done */
- 0xf840fcef,
-/* 0x07d1: i2c_start */
- 0x07867e00,
- 0x0d11f400,
- 0x00079a7e,
- 0xf40611f4,
-/* 0x07e2: i2c_start_rep */
- 0x00032e0e,
- 0x0007527e,
- 0x6c7e0103,
- 0x76bb0007,
- 0x0465b600,
- 0x659450f9,
- 0x0256bb04,
- 0x75fd50bd,
- 0x7e50fc04,
- 0xb60007ae,
- 0x11f40464,
-/* 0x080d: i2c_start_send */
- 0x7e00031d,
- 0x4e00076c,
- 0x587e1388,
- 0x00030000,
- 0x0007527e,
- 0x7e13884e,
-/* 0x0827: i2c_start_out */
- 0xf8000058,
-/* 0x0829: i2c_stop */
- 0x7e000300,
- 0x03000752,
- 0x076c7e00,
- 0x03e84e00,
+/* 0x07e4: i2c_sense_scl */
+ 0x430132f4,
+ 0x33cf07c4,
+ 0x0431fd00,
+ 0xf4060bf4,
+/* 0x07f6: i2c_sense_scl_done */
+ 0x00f80131,
+/* 0x07f8: i2c_sense_sda */
+ 0x430132f4,
+ 0x33cf07c4,
+ 0x0432fd00,
+ 0xf4060bf4,
+/* 0x080a: i2c_sense_sda_done */
+ 0x00f80131,
+/* 0x080c: i2c_raise_scl */
+ 0x984440f9,
+ 0x7e010308,
+/* 0x0817: i2c_raise_scl_wait */
+ 0x4e0007b0,
+ 0x587e03e8,
+ 0xe47e0000,
+ 0x01f40007,
+ 0x0142b609,
+/* 0x082b: i2c_raise_scl_done */
+ 0xfcef1bf4,
+/* 0x082f: i2c_start */
+ 0x7e00f840,
+ 0xf40007e4,
+ 0xf87e0d11,
+ 0x11f40007,
+ 0x2e0ef406,
+/* 0x0840: i2c_start_rep */
+ 0xb07e0003,
+ 0x01030007,
+ 0x0007ca7e,
+ 0xb60076bb,
+ 0x50f90465,
+ 0xbb046594,
+ 0x50bd0256,
+ 0xfc0475fd,
+ 0x080c7e50,
+ 0x0464b600,
+/* 0x086b: i2c_start_send */
+ 0x031d11f4,
+ 0x07ca7e00,
+ 0x13884e00,
0x0000587e,
- 0x527e0103,
+ 0xb07e0003,
0x884e0007,
0x00587e13,
- 0x7e010300,
- 0x4e00076c,
- 0x587e1388,
- 0x00f80000,
-/* 0x0858: i2c_bitw */
- 0x00076c7e,
- 0x7e03e84e,
- 0xbb000058,
- 0x65b60076,
- 0x9450f904,
- 0x56bb0465,
- 0xfd50bd02,
- 0x50fc0475,
- 0x0007ae7e,
- 0xf40464b6,
- 0x884e1711,
- 0x00587e13,
+/* 0x0885: i2c_start_out */
+/* 0x0887: i2c_stop */
+ 0x0300f800,
+ 0x07b07e00,
0x7e000300,
- 0x4e000752,
- 0x587e1388,
-/* 0x0896: i2c_bitw_out */
- 0x00f80000,
-/* 0x0898: i2c_bitr */
- 0x6c7e0103,
+ 0x4e0007ca,
+ 0x587e03e8,
+ 0x01030000,
+ 0x0007b07e,
+ 0x7e13884e,
+ 0x03000058,
+ 0x07ca7e01,
+ 0x13884e00,
+ 0x0000587e,
+/* 0x08b6: i2c_bitw */
+ 0xca7e00f8,
0xe84e0007,
0x00587e03,
0x0076bb00,
@@ -1565,224 +1572,283 @@ uint32_t gk208_pmu_code[] = {
0x04659450,
0xbd0256bb,
0x0475fd50,
- 0xae7e50fc,
- 0x64b60007,
- 0x1a11f404,
- 0x00079a7e,
- 0x527e0003,
- 0x884e0007,
- 0x00587e13,
- 0x013cf000,
-/* 0x08db: i2c_bitr_done */
- 0xf80131f4,
-/* 0x08dd: i2c_get_byte */
- 0x04000500,
-/* 0x08e1: i2c_get_byte_next */
- 0x0154b608,
- 0xb60076bb,
- 0x50f90465,
- 0xbb046594,
- 0x50bd0256,
- 0xfc0475fd,
- 0x08987e50,
- 0x0464b600,
- 0xfd2a11f4,
- 0x42b60553,
- 0xd81bf401,
- 0x76bb0103,
+ 0x0c7e50fc,
+ 0x64b60008,
+ 0x1711f404,
+ 0x7e13884e,
+ 0x03000058,
+ 0x07b07e00,
+ 0x13884e00,
+ 0x0000587e,
+/* 0x08f4: i2c_bitw_out */
+/* 0x08f6: i2c_bitr */
+ 0x010300f8,
+ 0x0007ca7e,
+ 0x7e03e84e,
+ 0xbb000058,
+ 0x65b60076,
+ 0x9450f904,
+ 0x56bb0465,
+ 0xfd50bd02,
+ 0x50fc0475,
+ 0x00080c7e,
+ 0xf40464b6,
+ 0xf87e1a11,
+ 0x00030007,
+ 0x0007b07e,
+ 0x7e13884e,
+ 0xf0000058,
+ 0x31f4013c,
+/* 0x0939: i2c_bitr_done */
+/* 0x093b: i2c_get_byte */
+ 0x0500f801,
+/* 0x093f: i2c_get_byte_next */
+ 0xb6080400,
+ 0x76bb0154,
0x0465b600,
0x659450f9,
0x0256bb04,
0x75fd50bd,
0x7e50fc04,
- 0xb6000858,
-/* 0x092a: i2c_get_byte_done */
- 0x00f80464,
-/* 0x092c: i2c_put_byte */
-/* 0x092e: i2c_put_byte_next */
- 0x42b60804,
- 0x3854ff01,
+ 0xb60008f6,
+ 0x11f40464,
+ 0x0553fd2a,
+ 0xf40142b6,
+ 0x0103d81b,
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0x08587e50,
+ 0x08b67e50,
0x0464b600,
- 0xb03411f4,
- 0x1bf40046,
- 0x0076bbd8,
- 0xf90465b6,
- 0x04659450,
- 0xbd0256bb,
- 0x0475fd50,
- 0x987e50fc,
- 0x64b60008,
- 0x0f11f404,
- 0xb00076bb,
- 0x1bf40136,
- 0x0132f406,
-/* 0x0984: i2c_put_byte_done */
-/* 0x0986: i2c_addr */
- 0x76bb00f8,
+/* 0x0988: i2c_get_byte_done */
+/* 0x098a: i2c_put_byte */
+ 0x080400f8,
+/* 0x098c: i2c_put_byte_next */
+ 0xff0142b6,
+ 0x76bb3854,
0x0465b600,
0x659450f9,
0x0256bb04,
0x75fd50bd,
0x7e50fc04,
- 0xb60007d1,
+ 0xb60008b6,
0x11f40464,
- 0x2ec3e729,
- 0x0134b601,
- 0xbb0553fd,
+ 0x0046b034,
+ 0xbbd81bf4,
0x65b60076,
0x9450f904,
0x56bb0465,
0xfd50bd02,
0x50fc0475,
- 0x00092c7e,
-/* 0x09cb: i2c_addr_done */
- 0xf80464b6,
-/* 0x09cd: i2c_acquire_addr */
- 0xf8cec700,
- 0xb705e4b6,
- 0xf8d014e0,
-/* 0x09d9: i2c_acquire */
- 0x09cd7e00,
- 0x00047e00,
- 0x03d9f000,
- 0x00002d7e,
-/* 0x09ea: i2c_release */
- 0xcd7e00f8,
- 0x047e0009,
- 0xdaf00000,
- 0x002d7e03,
-/* 0x09fb: i2c_recv */
- 0xf400f800,
- 0xc1c70132,
- 0x0214b6f8,
- 0xf52816b0,
- 0xb801341f,
- 0x000d0013,
- 0xb8003298,
- 0x000cd813,
- 0xf4003198,
- 0xd0f90231,
- 0xd0f9e0f9,
- 0x000000d6,
- 0x01679210,
+ 0x0008f67e,
+ 0xf40464b6,
+ 0x76bb0f11,
+ 0x0136b000,
+ 0xf4061bf4,
+/* 0x09e2: i2c_put_byte_done */
+ 0x00f80132,
+/* 0x09e4: i2c_addr */
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0x09d97e50,
+ 0x082f7e50,
0x0464b600,
- 0xd6b0d0fc,
- 0xb01bf500,
- 0xbb000500,
- 0x65b60076,
- 0x9450f904,
- 0x56bb0465,
- 0xfd50bd02,
- 0x50fc0475,
- 0x0009867e,
- 0xf50464b6,
- 0xc700cc11,
- 0x76bbe0c5,
+ 0xe72911f4,
+ 0xb6012ec3,
+ 0x53fd0134,
+ 0x0076bb05,
+ 0xf90465b6,
+ 0x04659450,
+ 0xbd0256bb,
+ 0x0475fd50,
+ 0x8a7e50fc,
+ 0x64b60009,
+/* 0x0a29: i2c_addr_done */
+/* 0x0a2b: i2c_acquire_addr */
+ 0xc700f804,
+ 0xe4b6f8ce,
+ 0x14e0b705,
+/* 0x0a37: i2c_acquire */
+ 0x7e00f8d0,
+ 0x7e000a2b,
+ 0xf0000004,
+ 0x2d7e03d9,
+ 0x00f80000,
+/* 0x0a48: i2c_release */
+ 0x000a2b7e,
+ 0x0000047e,
+ 0x7e03daf0,
+ 0xf800002d,
+/* 0x0a59: i2c_recv */
+ 0x0132f400,
+ 0xb6f8c1c7,
+ 0x16b00214,
+ 0x341ff528,
+ 0x0013b801,
+ 0x3298000d,
+ 0xd813b800,
+ 0x3198000c,
+ 0x0231f400,
+ 0xe0f9d0f9,
+ 0x00d6d0f9,
+ 0x92100000,
+ 0x76bb0167,
0x0465b600,
0x659450f9,
0x0256bb04,
0x75fd50bd,
0x7e50fc04,
- 0xb600092c,
- 0x11f50464,
- 0x010500a9,
+ 0xb6000a37,
+ 0xd0fc0464,
+ 0xf500d6b0,
+ 0x0500b01b,
+ 0x0076bb00,
+ 0xf90465b6,
+ 0x04659450,
+ 0xbd0256bb,
+ 0x0475fd50,
+ 0xe47e50fc,
+ 0x64b60009,
+ 0xcc11f504,
+ 0xe0c5c700,
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0x09867e50,
+ 0x098a7e50,
0x0464b600,
- 0x008711f5,
+ 0x00a911f5,
+ 0x76bb0105,
+ 0x0465b600,
+ 0x659450f9,
+ 0x0256bb04,
+ 0x75fd50bd,
+ 0x7e50fc04,
+ 0xb60009e4,
+ 0x11f50464,
+ 0x76bb0087,
+ 0x0465b600,
+ 0x659450f9,
+ 0x0256bb04,
+ 0x75fd50bd,
+ 0x7e50fc04,
+ 0xb600093b,
+ 0x11f40464,
+ 0xe05bcb67,
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0x08dd7e50,
+ 0x08877e50,
0x0464b600,
- 0xcb6711f4,
- 0x76bbe05b,
- 0x0465b600,
- 0x659450f9,
- 0x0256bb04,
- 0x75fd50bd,
- 0x7e50fc04,
- 0xb6000829,
- 0x5bb20464,
- 0x0ef474bd,
-/* 0x0afd: i2c_recv_not_rd08 */
- 0x01d6b041,
- 0x053b1bf4,
- 0x09867e00,
- 0x3211f400,
- 0x7ee0c5c7,
- 0xf400092c,
- 0x00052811,
- 0x0009867e,
- 0xc71f11f4,
- 0x2c7ee0b5,
+ 0x74bd5bb2,
+/* 0x0b5b: i2c_recv_not_rd08 */
+ 0xb0410ef4,
+ 0x1bf401d6,
+ 0x7e00053b,
+ 0xf40009e4,
+ 0xc5c73211,
+ 0x098a7ee0,
+ 0x2811f400,
+ 0xe47e0005,
0x11f40009,
- 0x08297e15,
- 0xc774bd00,
- 0x1bf408c5,
- 0x0232f409,
-/* 0x0b3b: i2c_recv_not_wr08 */
-/* 0x0b3b: i2c_recv_done */
- 0xc7030ef4,
- 0xea7ef8ce,
- 0xe0fc0009,
- 0x12f4d0fc,
- 0x7e7cb209,
-/* 0x0b4f: i2c_recv_exit */
- 0xf800029f,
-/* 0x0b51: i2c_init */
-/* 0x0b53: test_recv */
- 0x4100f800,
- 0x11cf0458,
- 0x0110b600,
- 0xf6045840,
- 0x04bd0001,
- 0x4fd900de,
- 0x01de7e13,
-/* 0x0b6f: test_init */
- 0x4e00f800,
- 0xde7e0800,
- 0x00f80001,
-/* 0x0b78: idle_recv */
-/* 0x0b7a: idle */
- 0x31f400f8,
- 0x04544100,
+ 0xe0b5c71f,
+ 0x00098a7e,
+ 0x7e1511f4,
+ 0xbd000887,
+ 0x08c5c774,
+ 0xf4091bf4,
+ 0x0ef40232,
+/* 0x0b99: i2c_recv_not_wr08 */
+/* 0x0b99: i2c_recv_done */
+ 0xf8cec703,
+ 0x000a487e,
+ 0xd0fce0fc,
+ 0xb20912f4,
+ 0x029f7e7c,
+/* 0x0bad: i2c_recv_exit */
+/* 0x0baf: i2c_init */
+ 0xf800f800,
+/* 0x0bb1: test_recv */
+ 0x04584100,
0xb60011cf,
- 0x54400110,
+ 0x58400110,
0x0001f604,
-/* 0x0b8e: idle_loop */
- 0x580104bd,
-/* 0x0b93: idle_proc */
-/* 0x0b93: idle_proc_exec */
- 0xf90232f4,
- 0x7e1eb210,
- 0xfc0002a8,
- 0x0911f410,
- 0xf40231f4,
-/* 0x0ba6: idle_proc_next */
- 0x10b6f00e,
- 0xf41fa658,
- 0x02f4e81b,
- 0x0028f4e0,
- 0x00c60ef4,
+ 0x00de04bd,
+ 0x7e134fd9,
+ 0xf80001de,
+/* 0x0bcd: test_init */
+ 0x08004e00,
+ 0x0001de7e,
+/* 0x0bd6: idle_recv */
+ 0x00f800f8,
+/* 0x0bd8: idle */
+ 0x410031f4,
+ 0x11cf0454,
+ 0x0110b600,
+ 0xf6045440,
+ 0x04bd0001,
+/* 0x0bec: idle_loop */
+ 0x32f45801,
+/* 0x0bf1: idle_proc */
+/* 0x0bf1: idle_proc_exec */
+ 0xb210f902,
+ 0x02a87e1e,
+ 0xf410fc00,
+ 0x31f40911,
+ 0xf00ef402,
+/* 0x0c04: idle_proc_next */
+ 0xa65810b6,
+ 0xe81bf41f,
+ 0xf4e002f4,
+ 0x0ef40028,
+ 0x000000c6,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
0x00000000,
0x00000000,
0x00000000,
diff --git a/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h b/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h
index 345c9281..a86478e6 100644
--- a/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h
+++ b/drm/nouveau/nvkm/subdev/pmu/fuc/gt215.fuc3.h
@@ -68,7 +68,7 @@ uint32_t gt215_pmu_data[] = {
0x00000000,
0x00000000,
0x46524550,
- 0x00000909,
+ 0x00000950,
0x0000083c,
0x00000000,
0x00000000,
@@ -90,8 +90,8 @@ uint32_t gt215_pmu_data[] = {
0x00000000,
0x00000000,
0x5f433249,
- 0x00000d8f,
- 0x00000c32,
+ 0x00000dd6,
+ 0x00000c79,
0x00000000,
0x00000000,
0x00000000,
@@ -112,8 +112,8 @@ uint32_t gt215_pmu_data[] = {
0x00000000,
0x00000000,
0x54534554,
- 0x00000db8,
- 0x00000d91,
+ 0x00000dff,
+ 0x00000dd8,
0x00000000,
0x00000000,
0x00000000,
@@ -134,8 +134,8 @@ uint32_t gt215_pmu_data[] = {
0x00000000,
0x00000000,
0x454c4449,
- 0x00000dc4,
- 0x00000dc2,
+ 0x00000e0b,
+ 0x00000e09,
0x00000000,
0x00000000,
0x00000000,
@@ -1519,442 +1519,444 @@ uint32_t gt215_pmu_code[] = {
0x4f48a7f1,
0x5453a3f1,
0xf406eab8,
- 0x0ef4061b,
-/* 0x084d: perf_recv_not_host */
- 0x6721f51b,
+ 0xa7f1461b,
+ 0xa3f00001,
+ 0x06dab800,
+ 0xf4060bf4,
+/* 0x085a: perf_recv_get_slots */
+ 0x07f1510e,
+ 0x03f00cd2,
+ 0x000c1800,
+ 0xc4b604bd,
+ 0xd107f108,
+ 0x0003f00c,
+ 0xbd000c18,
+ 0x08c4b604,
+ 0x0cd007f1,
+ 0x180003f0,
+ 0x04bd000c,
+ 0xf008c4b6,
+ 0x0ef4ffc5,
+/* 0x088d: perf_recv_not_host */
+ 0xae21f51e,
0xcc07f108,
0x0003f00c,
0xbd000e98,
0x2a21f504,
0x5621f502,
-/* 0x0865: perf_recv_exit */
-/* 0x0867: perf_counter_readout */
- 0xf900f802,
- 0xf920f910,
- 0xf140f930,
- 0xb6050817,
- 0x11cf0614,
- 0x1827f100,
- 0x0624b605,
- 0xf10022cf,
- 0xb6052837,
- 0x33cf0634,
- 0x3847f100,
- 0x0644b605,
- 0xf10044cf,
- 0xf10000e7,
- 0xf18000e3,
- 0xb6050807,
- 0x0ed00604,
- 0xf104bd00,
- 0xb6051807,
- 0x0ed00604,
- 0xf104bd00,
- 0xb6052807,
- 0x0ed00604,
- 0xf104bd00,
- 0xb6053807,
- 0x0ed00604,
- 0xcc04bd00,
- 0x21ffff11,
- 0x3c31ff2c,
- 0xf14c41ff,
- 0xf00cd007,
- 0x02000003,
- 0xf104bd00,
- 0xf00cd107,
- 0x03000003,
- 0xf104bd00,
- 0xf00cd207,
- 0x04000003,
- 0xfc04bd00,
- 0xfc30fc40,
- 0xf810fc20,
-/* 0x0909: perf_init */
- 0x03e7f100,
- 0x00e3f000,
- 0x050c07f1,
- 0xd00604b6,
- 0x04bd000e,
- 0x0002e7f1,
+ 0x070ef402,
+/* 0x08a8: perf_recv_host */
+ 0x033621f5,
+/* 0x08ac: perf_recv_exit */
+/* 0x08ae: perf_counter_readout */
+ 0x10f900f8,
+ 0x30f920f9,
+ 0x17f140f9,
+ 0x14b60508,
+ 0x0011cf06,
+ 0x051827f1,
+ 0xcf0624b6,
+ 0x37f10022,
+ 0x34b60528,
+ 0x0033cf06,
+ 0x053847f1,
+ 0xcf0644b6,
+ 0xe7f10044,
+ 0xe3f10000,
+ 0x07f18000,
+ 0x04b60508,
+ 0x000ed006,
+ 0x07f104bd,
+ 0x04b60518,
+ 0x000ed006,
+ 0x07f104bd,
+ 0x04b60528,
+ 0x000ed006,
+ 0x07f104bd,
+ 0x04b60538,
+ 0x000ed006,
+ 0x11cc04bd,
+ 0x2c21ffff,
+ 0xff3c31ff,
+ 0x07f14c41,
+ 0x03f00cd0,
+ 0x00020000,
+ 0x07f104bd,
+ 0x03f00cd1,
+ 0x00030000,
+ 0x07f104bd,
+ 0x03f00cd2,
+ 0x00040000,
+ 0x40fc04bd,
+ 0x20fc30fc,
+ 0x00f810fc,
+/* 0x0950: perf_init */
+ 0x0003e7f1,
0xf100e3f0,
- 0xb6051c07,
- 0x0ed00604,
- 0xf104bd00,
- 0xb6052c07,
+ 0xb6050c07,
0x0ed00604,
0xf104bd00,
- 0xb6053c07,
- 0x0ed00604,
- 0xf504bd00,
- 0xf1086721,
- 0xf00ccc07,
- 0x0e980003,
- 0xf504bd00,
- 0xf5022a21,
- 0xf8025621,
-/* 0x0961: i2c_drive_scl */
- 0x0036b000,
- 0xf1110bf4,
- 0xb607e007,
- 0x01d00604,
- 0xf804bd00,
-/* 0x0975: i2c_drive_scl_lo */
- 0xe407f100,
- 0x0604b607,
- 0xbd0001d0,
-/* 0x0983: i2c_drive_sda */
- 0xb000f804,
- 0x0bf40036,
- 0xe007f111,
- 0x0604b607,
- 0xbd0002d0,
-/* 0x0997: i2c_drive_sda_lo */
- 0xf100f804,
- 0xb607e407,
- 0x02d00604,
- 0xf804bd00,
-/* 0x09a5: i2c_sense_scl */
- 0x0132f400,
- 0x07c437f1,
- 0xcf0634b6,
- 0x31fd0033,
- 0x060bf404,
-/* 0x09bb: i2c_sense_scl_done */
- 0xf80131f4,
-/* 0x09bd: i2c_sense_sda */
- 0x0132f400,
- 0x07c437f1,
- 0xcf0634b6,
- 0x32fd0033,
- 0x060bf404,
-/* 0x09d3: i2c_sense_sda_done */
- 0xf80131f4,
-/* 0x09d5: i2c_raise_scl */
- 0xf140f900,
- 0xf0089847,
- 0x21f50137,
-/* 0x09e2: i2c_raise_scl_wait */
- 0xe7f10961,
- 0x21f403e8,
- 0xa521f57e,
- 0x0901f409,
- 0xf40142b6,
-/* 0x09f6: i2c_raise_scl_done */
- 0x40fcef1b,
-/* 0x09fa: i2c_start */
- 0x21f500f8,
- 0x11f409a5,
- 0xbd21f50d,
- 0x0611f409,
-/* 0x0a0b: i2c_start_rep */
- 0xf0300ef4,
- 0x21f50037,
- 0x37f00961,
- 0x8321f501,
- 0x0076bb09,
- 0xf90465b6,
- 0x04659450,
- 0xbd0256bb,
- 0x0475fd50,
- 0x21f550fc,
- 0x64b609d5,
- 0x1f11f404,
-/* 0x0a38: i2c_start_send */
- 0xf50037f0,
- 0xf1098321,
- 0xf41388e7,
- 0x37f07e21,
- 0x6121f500,
- 0x88e7f109,
- 0x7e21f413,
-/* 0x0a54: i2c_start_out */
-/* 0x0a56: i2c_stop */
- 0x37f000f8,
- 0x6121f500,
- 0x0037f009,
- 0x098321f5,
- 0x03e8e7f1,
- 0xf07e21f4,
- 0x21f50137,
- 0xe7f10961,
- 0x21f41388,
- 0x0137f07e,
- 0x098321f5,
- 0x1388e7f1,
- 0xf87e21f4,
-/* 0x0a89: i2c_bitw */
- 0x8321f500,
+ 0xf00002e7,
+ 0x07f100e3,
+ 0x04b6051c,
+ 0x000ed006,
+ 0x07f104bd,
+ 0x04b6052c,
+ 0x000ed006,
+ 0x07f104bd,
+ 0x04b6053c,
+ 0x000ed006,
+ 0x21f504bd,
+ 0x07f108ae,
+ 0x03f00ccc,
+ 0x000e9800,
+ 0x21f504bd,
+ 0x21f5022a,
+ 0x00f80256,
+/* 0x09a8: i2c_drive_scl */
+ 0xf40036b0,
+ 0x07f1110b,
+ 0x04b607e0,
+ 0x0001d006,
+ 0x00f804bd,
+/* 0x09bc: i2c_drive_scl_lo */
+ 0x07e407f1,
+ 0xd00604b6,
+ 0x04bd0001,
+/* 0x09ca: i2c_drive_sda */
+ 0x36b000f8,
+ 0x110bf400,
+ 0x07e007f1,
+ 0xd00604b6,
+ 0x04bd0002,
+/* 0x09de: i2c_drive_sda_lo */
+ 0x07f100f8,
+ 0x04b607e4,
+ 0x0002d006,
+ 0x00f804bd,
+/* 0x09ec: i2c_sense_scl */
+ 0xf10132f4,
+ 0xb607c437,
+ 0x33cf0634,
+ 0x0431fd00,
+ 0xf4060bf4,
+/* 0x0a02: i2c_sense_scl_done */
+ 0x00f80131,
+/* 0x0a04: i2c_sense_sda */
+ 0xf10132f4,
+ 0xb607c437,
+ 0x33cf0634,
+ 0x0432fd00,
+ 0xf4060bf4,
+/* 0x0a1a: i2c_sense_sda_done */
+ 0x00f80131,
+/* 0x0a1c: i2c_raise_scl */
+ 0x47f140f9,
+ 0x37f00898,
+ 0xa821f501,
+/* 0x0a29: i2c_raise_scl_wait */
0xe8e7f109,
0x7e21f403,
+ 0x09ec21f5,
+ 0xb60901f4,
+ 0x1bf40142,
+/* 0x0a3d: i2c_raise_scl_done */
+ 0xf840fcef,
+/* 0x0a41: i2c_start */
+ 0xec21f500,
+ 0x0d11f409,
+ 0x0a0421f5,
+ 0xf40611f4,
+/* 0x0a52: i2c_start_rep */
+ 0x37f0300e,
+ 0xa821f500,
+ 0x0137f009,
+ 0x09ca21f5,
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0xd521f550,
- 0x0464b609,
- 0xf11811f4,
- 0xf41388e7,
+ 0x1c21f550,
+ 0x0464b60a,
+/* 0x0a7f: i2c_start_send */
+ 0xf01f11f4,
+ 0x21f50037,
+ 0xe7f109ca,
+ 0x21f41388,
+ 0x0037f07e,
+ 0x09a821f5,
+ 0x1388e7f1,
+/* 0x0a9b: i2c_start_out */
+ 0xf87e21f4,
+/* 0x0a9d: i2c_stop */
+ 0x0037f000,
+ 0x09a821f5,
+ 0xf50037f0,
+ 0xf109ca21,
+ 0xf403e8e7,
0x37f07e21,
- 0x6121f500,
+ 0xa821f501,
0x88e7f109,
0x7e21f413,
-/* 0x0ac8: i2c_bitw_out */
-/* 0x0aca: i2c_bitr */
- 0x37f000f8,
- 0x8321f501,
- 0xe8e7f109,
- 0x7e21f403,
- 0xb60076bb,
- 0x50f90465,
- 0xbb046594,
- 0x50bd0256,
- 0xfc0475fd,
- 0xd521f550,
- 0x0464b609,
- 0xf51b11f4,
- 0xf009bd21,
- 0x21f50037,
- 0xe7f10961,
+ 0xf50137f0,
+ 0xf109ca21,
+ 0xf41388e7,
+ 0x00f87e21,
+/* 0x0ad0: i2c_bitw */
+ 0x09ca21f5,
+ 0x03e8e7f1,
+ 0xbb7e21f4,
+ 0x65b60076,
+ 0x9450f904,
+ 0x56bb0465,
+ 0xfd50bd02,
+ 0x50fc0475,
+ 0x0a1c21f5,
+ 0xf40464b6,
+ 0xe7f11811,
0x21f41388,
- 0x013cf07e,
-/* 0x0b0f: i2c_bitr_done */
- 0xf80131f4,
-/* 0x0b11: i2c_get_byte */
- 0x0057f000,
-/* 0x0b17: i2c_get_byte_next */
- 0xb60847f0,
- 0x76bb0154,
- 0x0465b600,
- 0x659450f9,
- 0x0256bb04,
- 0x75fd50bd,
- 0xf550fc04,
- 0xb60aca21,
- 0x11f40464,
- 0x0553fd2b,
- 0xf40142b6,
- 0x37f0d81b,
+ 0x0037f07e,
+ 0x09a821f5,
+ 0x1388e7f1,
+/* 0x0b0f: i2c_bitw_out */
+ 0xf87e21f4,
+/* 0x0b11: i2c_bitr */
+ 0x0137f000,
+ 0x09ca21f5,
+ 0x03e8e7f1,
+ 0xbb7e21f4,
+ 0x65b60076,
+ 0x9450f904,
+ 0x56bb0465,
+ 0xfd50bd02,
+ 0x50fc0475,
+ 0x0a1c21f5,
+ 0xf40464b6,
+ 0x21f51b11,
+ 0x37f00a04,
+ 0xa821f500,
+ 0x88e7f109,
+ 0x7e21f413,
+ 0xf4013cf0,
+/* 0x0b56: i2c_bitr_done */
+ 0x00f80131,
+/* 0x0b58: i2c_get_byte */
+ 0xf00057f0,
+/* 0x0b5e: i2c_get_byte_next */
+ 0x54b60847,
0x0076bb01,
0xf90465b6,
0x04659450,
0xbd0256bb,
0x0475fd50,
0x21f550fc,
- 0x64b60a89,
-/* 0x0b61: i2c_get_byte_done */
-/* 0x0b63: i2c_put_byte */
- 0xf000f804,
-/* 0x0b66: i2c_put_byte_next */
- 0x42b60847,
- 0x3854ff01,
+ 0x64b60b11,
+ 0x2b11f404,
+ 0xb60553fd,
+ 0x1bf40142,
+ 0x0137f0d8,
0xb60076bb,
0x50f90465,
0xbb046594,
0x50bd0256,
0xfc0475fd,
- 0x8921f550,
+ 0xd021f550,
0x0464b60a,
- 0xb03411f4,
- 0x1bf40046,
- 0x0076bbd8,
+/* 0x0ba8: i2c_get_byte_done */
+/* 0x0baa: i2c_put_byte */
+ 0x47f000f8,
+/* 0x0bad: i2c_put_byte_next */
+ 0x0142b608,
+ 0xbb3854ff,
+ 0x65b60076,
+ 0x9450f904,
+ 0x56bb0465,
+ 0xfd50bd02,
+ 0x50fc0475,
+ 0x0ad021f5,
+ 0xf40464b6,
+ 0x46b03411,
+ 0xd81bf400,
+ 0xb60076bb,
+ 0x50f90465,
+ 0xbb046594,
+ 0x50bd0256,
+ 0xfc0475fd,
+ 0x1121f550,
+ 0x0464b60b,
+ 0xbb0f11f4,
+ 0x36b00076,
+ 0x061bf401,
+/* 0x0c03: i2c_put_byte_done */
+ 0xf80132f4,
+/* 0x0c05: i2c_addr */
+ 0x0076bb00,
0xf90465b6,
0x04659450,
0xbd0256bb,
0x0475fd50,
0x21f550fc,
- 0x64b60aca,
- 0x0f11f404,
- 0xb00076bb,
- 0x1bf40136,
- 0x0132f406,
-/* 0x0bbc: i2c_put_byte_done */
-/* 0x0bbe: i2c_addr */
- 0x76bb00f8,
+ 0x64b60a41,
+ 0x2911f404,
+ 0x012ec3e7,
+ 0xfd0134b6,
+ 0x76bb0553,
0x0465b600,
0x659450f9,
0x0256bb04,
0x75fd50bd,
0xf550fc04,
- 0xb609fa21,
- 0x11f40464,
- 0x2ec3e729,
- 0x0134b601,
- 0xbb0553fd,
+ 0xb60baa21,
+/* 0x0c4a: i2c_addr_done */
+ 0x00f80464,
+/* 0x0c4c: i2c_acquire_addr */
+ 0xb6f8cec7,
+ 0xe0b702e4,
+ 0xee980d24,
+/* 0x0c5b: i2c_acquire */
+ 0xf500f800,
+ 0xf40c4c21,
+ 0xd9f00421,
+ 0x4021f403,
+/* 0x0c6a: i2c_release */
+ 0x21f500f8,
+ 0x21f40c4c,
+ 0x03daf004,
+ 0xf84021f4,
+/* 0x0c79: i2c_recv */
+ 0x0132f400,
+ 0xb6f8c1c7,
+ 0x16b00214,
+ 0x3a1ff528,
+ 0xfc13a001,
+ 0x0032980c,
+ 0x0cd413a0,
+ 0xf4003198,
+ 0xd0f90231,
+ 0xd0f9e0f9,
+ 0x000067f1,
+ 0x100063f1,
+ 0xbb016792,
0x65b60076,
0x9450f904,
0x56bb0465,
0xfd50bd02,
0x50fc0475,
- 0x0b6321f5,
-/* 0x0c03: i2c_addr_done */
- 0xf80464b6,
-/* 0x0c05: i2c_acquire_addr */
- 0xf8cec700,
- 0xb702e4b6,
- 0x980d24e0,
- 0x00f800ee,
-/* 0x0c14: i2c_acquire */
- 0x0c0521f5,
- 0xf00421f4,
- 0x21f403d9,
-/* 0x0c23: i2c_release */
- 0xf500f840,
- 0xf40c0521,
- 0xdaf00421,
- 0x4021f403,
-/* 0x0c32: i2c_recv */
- 0x32f400f8,
- 0xf8c1c701,
- 0xb00214b6,
- 0x1ff52816,
- 0x13a0013a,
- 0x32980cfc,
- 0xd413a000,
- 0x0031980c,
- 0xf90231f4,
- 0xf9e0f9d0,
- 0x0067f1d0,
- 0x0063f100,
- 0x01679210,
- 0xb60076bb,
- 0x50f90465,
- 0xbb046594,
- 0x50bd0256,
- 0xfc0475fd,
- 0x1421f550,
- 0x0464b60c,
- 0xd6b0d0fc,
- 0xb31bf500,
- 0x0057f000,
- 0xb60076bb,
- 0x50f90465,
- 0xbb046594,
- 0x50bd0256,
- 0xfc0475fd,
- 0xbe21f550,
- 0x0464b60b,
- 0x00d011f5,
- 0xbbe0c5c7,
+ 0x0c5b21f5,
+ 0xfc0464b6,
+ 0x00d6b0d0,
+ 0x00b31bf5,
+ 0xbb0057f0,
0x65b60076,
0x9450f904,
0x56bb0465,
0xfd50bd02,
0x50fc0475,
- 0x0b6321f5,
+ 0x0c0521f5,
0xf50464b6,
- 0xf000ad11,
- 0x76bb0157,
+ 0xc700d011,
+ 0x76bbe0c5,
0x0465b600,
0x659450f9,
0x0256bb04,
0x75fd50bd,
0xf550fc04,
- 0xb60bbe21,
+ 0xb60baa21,
0x11f50464,
- 0x76bb008a,
- 0x0465b600,
- 0x659450f9,
- 0x0256bb04,
- 0x75fd50bd,
- 0xf550fc04,
- 0xb60b1121,
- 0x11f40464,
- 0xe05bcb6a,
- 0xb60076bb,
- 0x50f90465,
- 0xbb046594,
- 0x50bd0256,
- 0xfc0475fd,
- 0x5621f550,
- 0x0464b60a,
- 0xbd025bb9,
- 0x430ef474,
-/* 0x0d38: i2c_recv_not_rd08 */
- 0xf401d6b0,
- 0x57f03d1b,
- 0xbe21f500,
- 0x3311f40b,
- 0xf5e0c5c7,
- 0xf40b6321,
- 0x57f02911,
- 0xbe21f500,
- 0x1f11f40b,
- 0xf5e0b5c7,
- 0xf40b6321,
- 0x21f51511,
- 0x74bd0a56,
- 0xf408c5c7,
- 0x32f4091b,
- 0x030ef402,
-/* 0x0d78: i2c_recv_not_wr08 */
-/* 0x0d78: i2c_recv_done */
- 0xf5f8cec7,
- 0xfc0c2321,
- 0xf4d0fce0,
- 0x7cb90a12,
- 0x3621f502,
-/* 0x0d8d: i2c_recv_exit */
-/* 0x0d8f: i2c_init */
- 0xf800f803,
-/* 0x0d91: test_recv */
- 0xd817f100,
- 0x0614b605,
- 0xb60011cf,
- 0x07f10110,
- 0x04b605d8,
- 0x0001d006,
- 0xe7f104bd,
- 0xe3f1d900,
- 0x21f5134f,
- 0x00f80256,
-/* 0x0db8: test_init */
- 0x0800e7f1,
- 0x025621f5,
-/* 0x0dc2: idle_recv */
+ 0x57f000ad,
+ 0x0076bb01,
+ 0xf90465b6,
+ 0x04659450,
+ 0xbd0256bb,
+ 0x0475fd50,
+ 0x21f550fc,
+ 0x64b60c05,
+ 0x8a11f504,
+ 0x0076bb00,
+ 0xf90465b6,
+ 0x04659450,
+ 0xbd0256bb,
+ 0x0475fd50,
+ 0x21f550fc,
+ 0x64b60b58,
+ 0x6a11f404,
+ 0xbbe05bcb,
+ 0x65b60076,
+ 0x9450f904,
+ 0x56bb0465,
+ 0xfd50bd02,
+ 0x50fc0475,
+ 0x0a9d21f5,
+ 0xb90464b6,
+ 0x74bd025b,
+/* 0x0d7f: i2c_recv_not_rd08 */
+ 0xb0430ef4,
+ 0x1bf401d6,
+ 0x0057f03d,
+ 0x0c0521f5,
+ 0xc73311f4,
+ 0x21f5e0c5,
+ 0x11f40baa,
+ 0x0057f029,
+ 0x0c0521f5,
+ 0xc71f11f4,
+ 0x21f5e0b5,
+ 0x11f40baa,
+ 0x9d21f515,
+ 0xc774bd0a,
+ 0x1bf408c5,
+ 0x0232f409,
+/* 0x0dbf: i2c_recv_not_wr08 */
+/* 0x0dbf: i2c_recv_done */
+ 0xc7030ef4,
+ 0x21f5f8ce,
+ 0xe0fc0c6a,
+ 0x12f4d0fc,
+ 0x027cb90a,
+ 0x033621f5,
+/* 0x0dd4: i2c_recv_exit */
+/* 0x0dd6: i2c_init */
0x00f800f8,
-/* 0x0dc4: idle */
- 0xf10031f4,
- 0xb605d417,
- 0x11cf0614,
- 0x0110b600,
- 0x05d407f1,
- 0xd00604b6,
- 0x04bd0001,
-/* 0x0de0: idle_loop */
- 0xf45817f0,
-/* 0x0de6: idle_proc */
-/* 0x0de6: idle_proc_exec */
- 0x10f90232,
- 0xf5021eb9,
- 0xfc033f21,
- 0x0911f410,
- 0xf40231f4,
-/* 0x0dfa: idle_proc_next */
- 0x10b6ef0e,
- 0x061fb858,
- 0xf4e61bf4,
- 0x28f4dd02,
- 0xbb0ef400,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
+/* 0x0dd8: test_recv */
+ 0x05d817f1,
+ 0xcf0614b6,
+ 0x10b60011,
+ 0xd807f101,
+ 0x0604b605,
+ 0xbd0001d0,
+ 0x00e7f104,
+ 0x4fe3f1d9,
+ 0x5621f513,
+/* 0x0dff: test_init */
+ 0xf100f802,
+ 0xf50800e7,
+ 0xf8025621,
+/* 0x0e09: idle_recv */
+/* 0x0e0b: idle */
+ 0xf400f800,
+ 0x17f10031,
+ 0x14b605d4,
+ 0x0011cf06,
+ 0xf10110b6,
+ 0xb605d407,
+ 0x01d00604,
+/* 0x0e27: idle_loop */
+ 0xf004bd00,
+ 0x32f45817,
+/* 0x0e2d: idle_proc */
+/* 0x0e2d: idle_proc_exec */
+ 0xb910f902,
+ 0x21f5021e,
+ 0x10fc033f,
+ 0xf40911f4,
+ 0x0ef40231,
+/* 0x0e41: idle_proc_next */
+ 0x5810b6ef,
+ 0xf4061fb8,
+ 0x02f4e61b,
+ 0x0028f4dd,
+ 0x00bb0ef4,
0x00000000,
0x00000000,
0x00000000,
diff --git a/drm/nouveau/nvkm/subdev/pmu/fuc/os.h b/drm/nouveau/nvkm/subdev/pmu/fuc/os.h
index c8b06cb7..153d3e77 100644
--- a/drm/nouveau/nvkm/subdev/pmu/fuc/os.h
+++ b/drm/nouveau/nvkm/subdev/pmu/fuc/os.h
@@ -49,4 +49,16 @@
#define I2C__MSG_DATA0_WR08_REG 0:7
#define I2C__MSG_DATA1_WR08_VAL 0:7
+/* PERF: message identifiers */
+#define PERF_MSG_GET_SLOTS 1
+
+#define PERF_MSG_DATA0_GET_SLOTS_SLOT0 0:7
+#define PERF_MSG_DATA0_GET_SLOTS_SLOT1 8:15
+#define PERF_MSG_DATA0_GET_SLOTS_SLOT2 16:23
+#define PERF_MSG_DATA0_GET_SLOTS_SLOT3 24:31
+#define PERF_MSG_DATA1_GET_SLOTS_SLOT4 0:7
+#define PERF_MSG_DATA1_GET_SLOTS_SLOT5 8:15
+#define PERF_MSG_DATA1_GET_SLOTS_SLOT6 16:23
+#define PERF_MSG_DATA1_GET_SLOTS_SLOT7 24:31
+
#endif
diff --git a/drm/nouveau/nvkm/subdev/pmu/fuc/perf.fuc b/drm/nouveau/nvkm/subdev/pmu/fuc/perf.fuc
index 4d28b41c..01fc51bd 100644
--- a/drm/nouveau/nvkm/subdev/pmu/fuc/perf.fuc
+++ b/drm/nouveau/nvkm/subdev/pmu/fuc/perf.fuc
@@ -61,12 +61,39 @@ perf_recv:
imm32($r10, PROC_HOST)
cmp b32 $r14 $r10
bra ne #perf_recv_not_host
- bra #perf_recv_exit
+ imm32($r10, PERF_MSG_GET_SLOTS)
+ cmp b32 $r13 $r10
+ bra e #perf_recv_get_slots
+ bra #perf_recv_host
+
+perf_recv_get_slots:
+ ld(b8, $r12, #perf_slot3)
+ shl b32 $r12 8
+ ld(b8, $r12, #perf_slot2)
+ shl b32 $r12 8
+ ld(b8, $r12, #perf_slot1)
+ shl b32 $r12 8
+ or $r12 0xff
+#if NVKM_PPWR_CHIPSET >= GF100
+ ld(b8, $r11, #perf_slot7)
+ shl b32 $r11 8
+ ld(b8, $r11, #perf_slot6)
+ shl b32 $r11 8
+ ld(b8, $r11, #perf_slot5)
+ shl b32 $r11 8
+ ld(b8, $r11, #perf_slot4)
+#endif
+ bra #perf_recv_host
+
perf_recv_not_host:
call(perf_counter_readout)
ld(b32, $r14, #perf_polling_period_us)
call(ticks_from_us)
call(timer)
+ bra #perf_recv_exit
+
+perf_recv_host:
+ call(send)
perf_recv_exit:
ret
--
2.13.0
More information about the Nouveau
mailing list