drm/nvc0-/gr: bring in some macros to abstract falcon isa differences
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / nouveau / core / engine / graph / fuc / gpcnvf0.fuc.h
index f870507be88019cd9167d82a2fd85b3626f820d3..6316ebaf5d9a581dae8ac9e5a6d0464d0f8ec478 100644 (file)
@@ -41,14 +41,14 @@ uint32_t nvf0_grgpc_data[] = {
 };
 
 uint32_t nvf0_grgpc_code[] = {
-       0x03180ef5,
+       0x03a10ef5,
 /* 0x0004: queue_put */
        0x9800d898,
        0x86f001d9,
        0x0489b808,
        0xf00c1bf4,
        0x21f502f7,
-       0x00f802fe,
+       0x00f8037e,
 /* 0x001c: queue_put_next */
        0xb60798c4,
        0x8dbb0384,
@@ -72,184 +72,214 @@ uint32_t nvf0_grgpc_code[] = {
 /* 0x0066: queue_get_done */
        0x00f80132,
 /* 0x0068: nv_rd32 */
-       0x0728b7f1,
-       0xb906b4b6,
-       0xc9f002ec,
-       0x00bcd01f,
-/* 0x0078: nv_rd32_wait */
-       0xc800bccf,
-       0x1bf41fcc,
-       0x06a7f0fa,
-       0x010921f5,
-       0xf840bfcf,
-/* 0x008d: nv_wr32 */
-       0x28b7f100,
-       0x06b4b607,
-       0xb980bfd0,
-       0xc9f002ec,
-       0x1ec9f01f,
-/* 0x00a3: nv_wr32_wait */
-       0xcf00bcd0,
-       0xccc800bc,
-       0xfa1bf41f,
-/* 0x00ae: watchdog_reset */
-       0x87f100f8,
-       0x84b60430,
-       0x1ff9f006,
-       0xf8008fd0,
-/* 0x00bd: watchdog_clear */
-       0x3087f100,
-       0x0684b604,
-       0xf80080d0,
-/* 0x00c9: wait_donez */
-       0xf094bd00,
-       0x07f10099,
-       0x03f03700,
-       0x0009d002,
-       0x07f104bd,
-       0x03f00600,
-       0x000ad002,
-/* 0x00e6: wait_donez_ne */
-       0x87f104bd,
-       0x83f00000,
-       0x0088cf01,
-       0xf4888aff,
-       0x94bdf31b,
-       0xf10099f0,
-       0xf0170007,
-       0x09d00203,
-       0xf804bd00,
-/* 0x0109: wait_doneo */
-       0xf094bd00,
+       0xf002ecb9,
+       0x07f11fc9,
+       0x03f0ca00,
+       0x000cd001,
+/* 0x007a: nv_rd32_wait */
+       0xc7f104bd,
+       0xc3f0ca00,
+       0x00cccf01,
+       0xf41fccc8,
+       0xa7f0f31b,
+       0x1021f506,
+       0x00f7f101,
+       0x01f3f0cb,
+       0xf800ffcf,
+/* 0x009d: nv_wr32 */
+       0x0007f100,
+       0x0103f0cc,
+       0xbd000fd0,
+       0x02ecb904,
+       0xf01fc9f0,
+       0x07f11ec9,
+       0x03f0ca00,
+       0x000cd001,
+/* 0x00be: nv_wr32_wait */
+       0xc7f104bd,
+       0xc3f0ca00,
+       0x00cccf01,
+       0xf41fccc8,
+       0x00f8f31b,
+/* 0x00d0: wait_donez */
+       0x99f094bd,
+       0x0007f100,
+       0x0203f037,
+       0xbd0009d0,
+       0x0007f104,
+       0x0203f006,
+       0xbd000ad0,
+/* 0x00ed: wait_donez_ne */
+       0x0087f104,
+       0x0183f000,
+       0xff0088cf,
+       0x1bf4888a,
+       0xf094bdf3,
        0x07f10099,
-       0x03f03700,
+       0x03f01700,
        0x0009d002,
-       0x87f104bd,
-       0x84b60818,
-       0x008ad006,
-/* 0x0124: wait_doneo_e */
-       0x040087f1,
-       0xcf0684b6,
-       0x8aff0088,
-       0xf30bf488,
+       0x00f804bd,
+/* 0x0110: wait_doneo */
        0x99f094bd,
        0x0007f100,
-       0x0203f017,
+       0x0203f037,
        0xbd0009d0,
-/* 0x0147: mmctx_size */
-       0xbd00f804,
-/* 0x0149: nv_mmctx_size_loop */
-       0x00e89894,
-       0xb61a85b6,
-       0x84b60180,
-       0x0098bb02,
-       0xb804e0b6,
-       0x1bf404ef,
-       0x029fb9eb,
-/* 0x0166: mmctx_xfer */
-       0x94bd00f8,
-       0xf10199f0,
-       0xf0370007,
-       0x09d00203,
-       0xf104bd00,
-       0xb6071087,
-       0x94bd0684,
-       0xf405bbfd,
-       0x8bd0090b,
-       0x0099f000,
-/* 0x018c: mmctx_base_disabled */
-       0xf405eefd,
-       0x8ed00c0b,
-       0xc08fd080,
-/* 0x019b: mmctx_multi_disabled */
-       0xb70199f0,
-       0xc8010080,
+       0x0007f104,
+       0x0203f006,
+       0xbd000ad0,
+/* 0x012d: wait_doneo_e */
+       0x0087f104,
+       0x0183f000,
+       0xff0088cf,
+       0x0bf4888a,
+       0xf094bdf3,
+       0x07f10099,
+       0x03f01700,
+       0x0009d002,
+       0x00f804bd,
+/* 0x0150: mmctx_size */
+/* 0x0152: nv_mmctx_size_loop */
+       0xe89894bd,
+       0x1a85b600,
+       0xb60180b6,
+       0x98bb0284,
+       0x04e0b600,
+       0xf404efb8,
+       0x9fb9eb1b,
+/* 0x016f: mmctx_xfer */
+       0xbd00f802,
+       0x0199f094,
+       0x370007f1,
+       0xd00203f0,
+       0x04bd0009,
+       0xbbfd94bd,
+       0x120bf405,
+       0xc40007f1,
+       0xd00103f0,
+       0x04bd000b,
+/* 0x0197: mmctx_base_disabled */
+       0xfd0099f0,
+       0x0bf405ee,
+       0x0007f11e,
+       0x0103f0c6,
+       0xbd000ed0,
+       0x0007f104,
+       0x0103f0c7,
+       0xbd000fd0,
+       0x0199f004,
+/* 0x01b8: mmctx_multi_disabled */
+       0xb600abc8,
+       0xb9f010b4,
+       0x01aec80c,
+       0xfd11e4b6,
+       0x07f105be,
+       0x03f0c500,
+       0x000bd001,
+/* 0x01d6: mmctx_exec_loop */
+/* 0x01d6: mmctx_wait_free */
+       0xe7f104bd,
+       0xe3f0c500,
+       0x00eecf01,
+       0xf41fe4f0,
+       0xce98f30b,
+       0x05e9fd00,
+       0xc80007f1,
+       0xd00103f0,
+       0x04bd000e,
+       0xb804c0b6,
+       0x1bf404cd,
+       0x02abc8d8,
+/* 0x0207: mmctx_fini_wait */
+       0xf11f1bf4,
+       0xf0c500b7,
+       0xbbcf01b3,
+       0x1fb4f000,
+       0xf410b4b0,
+       0xa7f0f01b,
+       0xd021f402,
+/* 0x0223: mmctx_stop */
+       0xc82b0ef4,
        0xb4b600ab,
        0x0cb9f010,
-       0xb601aec8,
-       0xbefd11e4,
-       0x008bd005,
-/* 0x01b4: mmctx_exec_loop */
-/* 0x01b4: mmctx_wait_free */
-       0xf0008ecf,
-       0x0bf41fe4,
-       0x00ce98fa,
-       0xd005e9fd,
-       0xc0b6c08e,
-       0x04cdb804,
-       0xc8e81bf4,
-       0x1bf402ab,
-/* 0x01d5: mmctx_fini_wait */
-       0x008bcf18,
-       0xb01fb4f0,
-       0x1bf410b4,
-       0x02a7f0f7,
-       0xf4c921f4,
-/* 0x01ea: mmctx_stop */
-       0xabc81b0e,
-       0x10b4b600,
-       0xf00cb9f0,
-       0x8bd012b9,
-/* 0x01f9: mmctx_stop_wait */
-       0x008bcf00,
-       0xf412bbc8,
-/* 0x0202: mmctx_done */
-       0x94bdfa1b,
-       0xf10199f0,
-       0xf0170007,
-       0x09d00203,
-       0xf804bd00,
-/* 0x0215: strand_wait */
-       0xf0a0f900,
-       0x21f402a7,
-       0xf8a0fcc9,
-/* 0x0221: strand_pre */
-       0xfc87f100,
-       0x0283f04a,
-       0xd00c97f0,
-       0x21f50089,
-       0x00f80215,
-/* 0x0234: strand_post */
-       0x4afc87f1,
-       0xf00283f0,
-       0x89d00d97,
-       0x1521f500,
-/* 0x0247: strand_set */
-       0xf100f802,
-       0xf04ffca7,
-       0xaba202a3,
-       0xc7f00500,
-       0x00acd00f,
-       0xd00bc7f0,
-       0x21f500bc,
-       0xaed00215,
-       0x0ac7f000,
-       0xf500bcd0,
-       0xf8021521,
-/* 0x0271: strand_ctx_init */
-       0xf094bd00,
-       0x07f10399,
-       0x03f03700,
+       0xf112b9f0,
+       0xf0c50007,
+       0x0bd00103,
+/* 0x023b: mmctx_stop_wait */
+       0xf104bd00,
+       0xf0c500b7,
+       0xbbcf01b3,
+       0x12bbc800,
+/* 0x024b: mmctx_done */
+       0xbdf31bf4,
+       0x0199f094,
+       0x170007f1,
+       0xd00203f0,
+       0x04bd0009,
+/* 0x025e: strand_wait */
+       0xa0f900f8,
+       0xf402a7f0,
+       0xa0fcd021,
+/* 0x026a: strand_pre */
+       0x97f000f8,
+       0xfc07f10c,
+       0x0203f04a,
+       0xbd0009d0,
+       0x5e21f504,
+/* 0x027f: strand_post */
+       0xf000f802,
+       0x07f10d97,
+       0x03f04afc,
        0x0009d002,
        0x21f504bd,
-       0xe7f00221,
-       0x4721f503,
-       0xfca7f102,
-       0x02a3f046,
-       0x0400aba0,
-       0xf040a0d0,
-       0xbcd001c7,
-       0x1521f500,
-       0x010c9202,
-       0xf000acd0,
-       0xbcd002c7,
-       0x1521f500,
-       0x3421f502,
-       0x8087f102,
-       0x0684b608,
-       0xb70089cf,
-       0x95220080,
-/* 0x02ca: ctx_init_strand_loop */
+       0x00f8025e,
+/* 0x0294: strand_set */
+       0xf10fc7f0,
+       0xf04ffc07,
+       0x0cd00203,
+       0xf004bd00,
+       0x07f10bc7,
+       0x03f04afc,
+       0x000cd002,
+       0x07f104bd,
+       0x03f04ffc,
+       0x000ed002,
+       0xc7f004bd,
+       0xfc07f10a,
+       0x0203f04a,
+       0xbd000cd0,
+       0x5e21f504,
+/* 0x02d3: strand_ctx_init */
+       0xbd00f802,
+       0x0399f094,
+       0x370007f1,
+       0xd00203f0,
+       0x04bd0009,
+       0x026a21f5,
+       0xf503e7f0,
+       0xbd029421,
+       0xfc07f1c4,
+       0x0203f047,
+       0xbd000cd0,
+       0x01c7f004,
+       0x4afc07f1,
+       0xd00203f0,
+       0x04bd000c,
+       0x025e21f5,
+       0xf1010c92,
+       0xf046fc07,
+       0x0cd00203,
+       0xf004bd00,
+       0x07f102c7,
+       0x03f04afc,
+       0x000cd002,
+       0x21f504bd,
+       0x21f5025e,
+       0x87f1027f,
+       0x83f04200,
+       0x0097f102,
+       0x0293f020,
+       0x950099cf,
+/* 0x034a: ctx_init_strand_loop */
        0x8ed008fe,
        0x408ed000,
        0xb6808acf,
@@ -263,198 +293,230 @@ uint32_t nvf0_grgpc_code[] = {
        0x170007f1,
        0xd00203f0,
        0x04bd0009,
-/* 0x02fe: error */
+/* 0x037e: error */
        0xe0f900f8,
-       0x9814e7f1,
-       0xf440e3f0,
-       0xe0b78d21,
-       0xf7f0041c,
-       0x8d21f401,
-       0x00f8e0fc,
-/* 0x0318: init */
-       0x04fe04bd,
-       0x0017f100,
-       0x0227f012,
-       0xf10012d0,
-       0xfe047017,
-       0x17f10010,
-       0x10d00400,
-       0x0427f0c0,
-       0xf40012d0,
-       0x17f11031,
-       0x14b60608,
-       0x0012cf06,
+       0xf102ffb9,
+       0xf09814e7,
+       0x21f440e3,
+       0x01f7f09d,
+       0xf102ffb9,
+       0xf09c1ce7,
+       0x21f440e3,
+       0xf8e0fc9d,
+/* 0x03a1: init */
+       0xfe04bd00,
+       0x27f00004,
+       0x0007f102,
+       0x0003f012,
+       0xbd0002d0,
+       0x1f17f104,
+       0x0010fe05,
+       0x070007f1,
+       0xd00003f0,
+       0x04bd0000,
+       0xf10427f0,
+       0xf0040007,
+       0x02d00003,
+       0xf404bd00,
+       0x27f11031,
+       0x23f08200,
+       0x0022cf01,
        0xf00137f0,
        0x32bb1f24,
        0x0132b604,
        0x80050280,
-       0x10b70603,
-       0x12cf0400,
-       0x04028000,
-       0x0c30e7f1,
-       0xbd50e3f0,
-       0xbd34bd24,
-/* 0x0371: init_unk_loop */
-       0x6821f444,
-       0xf400f6b0,
-       0xf7f00f0b,
-       0x04f2bb01,
-       0xb6054ffd,
-/* 0x0386: init_unk_next */
-       0x20b60130,
-       0x04e0b601,
-       0xf40226b0,
-/* 0x0392: init_unk_done */
-       0x0380e21b,
-       0x08048007,
-       0x010027f1,
-       0xcf0223f0,
-       0x34bd0022,
-       0x070047f1,
-       0x950644b6,
-       0x45d00825,
-       0x4045d000,
-       0x98000e98,
-       0x21f5010f,
-       0x2fbb0147,
-       0x003fbb00,
-       0x98010e98,
-       0x21f5020f,
-       0x0e980147,
-       0x00effd05,
-       0xbb002ebb,
-       0x0e98003e,
-       0x030f9802,
-       0x014721f5,
-       0xfd070e98,
+       0x27f10603,
+       0x23f08600,
+       0x0022cf01,
+       0xf1040280,
+       0xf00c30e7,
+       0x24bd50e3,
+       0x44bd34bd,
+/* 0x0410: init_unk_loop */
+       0xb06821f4,
+       0x0bf400f6,
+       0x01f7f00f,
+       0xfd04f2bb,
+       0x30b6054f,
+/* 0x0425: init_unk_next */
+       0x0120b601,
+       0xb004e0b6,
+       0x1bf40226,
+/* 0x0431: init_unk_done */
+       0x070380e2,
+       0xf1080480,
+       0xf0010027,
+       0x22cf0223,
+       0x9534bd00,
+       0x07f10825,
+       0x03f0c000,
+       0x0005d001,
+       0x07f104bd,
+       0x03f0c100,
+       0x0005d001,
+       0x0e9804bd,
+       0x010f9800,
+       0x015021f5,
+       0xbb002fbb,
+       0x0e98003f,
+       0x020f9801,
+       0x015021f5,
+       0xfd050e98,
        0x2ebb00ef,
        0x003ebb00,
-       0x130040b7,
-       0xd00235b6,
-       0x25b60043,
-       0x0635b608,
-       0xb60120b6,
-       0x24b60130,
-       0x0834b608,
-       0xf5022fb9,
-       0xbb027121,
-       0x07f1003f,
-       0x03f00100,
-       0x0003d002,
-       0x24bd04bd,
-       0xf11f29f0,
-       0xf0300007,
-       0x02d00203,
-/* 0x0433: main */
+       0x98020e98,
+       0x21f5030f,
+       0x0e980150,
+       0x00effd07,
+       0xbb002ebb,
+       0x35b6003e,
+       0x0007f102,
+       0x0103f0d3,
+       0xbd0003d0,
+       0x0825b604,
+       0xb60635b6,
+       0x30b60120,
+       0x0824b601,
+       0xb90834b6,
+       0x21f5022f,
+       0x3fbb02d3,
+       0x0007f100,
+       0x0203f001,
+       0xbd0003d0,
+       0xf024bd04,
+       0x07f11f29,
+       0x03f03000,
+       0x0002d002,
+/* 0x04e2: main */
+       0x31f404bd,
+       0x0028f400,
+       0xf424d7f0,
+       0x01f43921,
+       0x04e4b0f4,
+       0xfe1e18f4,
+       0x27f00181,
+       0xfd20bd06,
+       0xe4b60412,
+       0x051efd01,
+       0xf50018fe,
+       0xf405d721,
+/* 0x0512: main_not_ctx_xfer */
+       0xef94d30e,
+       0x01f5f010,
+       0x037e21f5,
+/* 0x051f: ih */
+       0xf9c60ef4,
+       0x0188fe80,
+       0x90f980f9,
+       0xb0f9a0f9,
+       0xe0f9d0f9,
+       0x04bdf0f9,
+       0x0200a7f1,
+       0xcf00a3f0,
+       0xabc400aa,
+       0x2c0bf404,
+       0xf124d7f0,
+       0xf01a00e7,
+       0xeecf00e3,
+       0x00f7f100,
+       0x00f3f019,
+       0xf400ffcf,
+       0xe7f00421,
+       0x0007f101,
+       0x0003f01d,
+       0xbd000ed0,
+/* 0x056d: ih_no_fifo */
+       0x0007f104,
+       0x0003f001,
+       0xbd000ad0,
+       0xfcf0fc04,
+       0xfcd0fce0,
+       0xfca0fcb0,
+       0xfe80fc90,
+       0x80fc0088,
+       0xf80032f4,
+/* 0x0591: hub_barrier_done */
+       0x01f7f001,
+       0xbb040e98,
+       0xffb904fe,
+       0x18e7f102,
+       0x40e3f094,
+       0xf89d21f4,
+/* 0x05a9: ctx_redswitch */
+       0x20f7f000,
+       0x850007f1,
+       0xd00103f0,
+       0x04bd000f,
+/* 0x05bb: ctx_redswitch_delay */
+       0xb608e7f0,
+       0x1bf401e2,
+       0x00f5f1fd,
+       0x00f5f108,
+       0x0007f102,
+       0x0103f085,
+       0xbd000fd0,
+/* 0x05d7: ctx_xfer */
+       0xf100f804,
+       0xf0810007,
+       0x0fd00203,
        0xf404bd00,
-       0x28f40031,
-       0x24d7f000,
-       0xf43921f4,
-       0xe4b0f401,
-       0x1e18f404,
-       0xf00181fe,
-       0x20bd0627,
-       0xb60412fd,
-       0x1efd01e4,
-       0x0018fe05,
-       0x04f721f5,
-/* 0x0463: main_not_ctx_xfer */
-       0x94d30ef4,
-       0xf5f010ef,
-       0xfe21f501,
-       0xc60ef402,
-/* 0x0470: ih */
-       0x88fe80f9,
-       0xf980f901,
-       0xf9a0f990,
-       0xf9d0f9b0,
-       0xbdf0f9e0,
-       0x800acf04,
-       0xf404abc4,
-       0xb7f11d0b,
-       0xd7f01900,
-       0x40becf24,
-       0xf400bfcf,
-       0xb0b70421,
-       0xe7f00400,
-       0x00bed001,
-/* 0x04a8: ih_no_fifo */
-       0xfc400ad0,
-       0xfce0fcf0,
-       0xfcb0fcd0,
-       0xfc90fca0,
-       0x0088fe80,
-       0x32f480fc,
-/* 0x04c3: hub_barrier_done */
-       0xf001f800,
-       0x0e9801f7,
-       0x04febb04,
-       0x9418e7f1,
-       0xf440e3f0,
-       0x00f88d21,
-/* 0x04d8: ctx_redswitch */
-       0x0614e7f1,
-       0xf006e4b6,
-       0xefd020f7,
-       0x08f7f000,
-/* 0x04e8: ctx_redswitch_delay */
-       0xf401f2b6,
-       0xf7f1fd1b,
-       0xefd00a20,
-/* 0x04f7: ctx_xfer */
-       0xf100f800,
-       0xb60a0417,
-       0x1fd00614,
-       0x0711f400,
-       0x04d821f5,
-/* 0x0508: ctx_xfer_not_load */
-       0x4afc17f1,
-       0xf00213f0,
-       0x12d00c27,
-       0x1521f500,
-       0xfc27f102,
-       0x0223f047,
-       0xf00020d0,
-       0x20b6012c,
-       0x0012d003,
-       0xf001acf0,
-       0xb7f002a5,
-       0x50b3f000,
-       0xb6040c98,
-       0xbcbb0fc4,
-       0x000c9800,
-       0xf0010d98,
-       0x21f500e7,
-       0xacf00166,
-       0x00b7f101,
-       0x50b3f040,
-       0xb6040c98,
-       0xbcbb0fc4,
-       0x010c9800,
-       0x98020d98,
-       0xe7f1060f,
-       0x21f50800,
-       0xacf00166,
-       0x04a5f001,
-       0x3000b7f1,
+       0x21f50711,
+/* 0x05ea: ctx_xfer_not_load */
+       0x21f505a9,
+       0x24bd026a,
+       0x47fc07f1,
+       0xd00203f0,
+       0x04bd0002,
+       0xb6012cf0,
+       0x07f10320,
+       0x03f04afc,
+       0x0002d002,
+       0xacf004bd,
+       0x02a5f001,
+       0x0000b7f1,
        0x9850b3f0,
        0xc4b6040c,
        0x00bcbb0f,
-       0x98020c98,
-       0x0f98030d,
-       0x00e7f108,
-       0x6621f502,
-       0x1521f501,
-       0x0601f402,
-/* 0x05a3: ctx_xfer_post */
-       0xf11412f4,
-       0xf04afc17,
-       0x27f00213,
-       0x0012d00d,
-       0x021521f5,
-/* 0x05b4: ctx_xfer_done */
-       0x04c321f5,
-       0x000000f8,
+       0x98000c98,
+       0xe7f0010d,
+       0x6f21f500,
+       0x01acf001,
+       0x4000b7f1,
+       0x9850b3f0,
+       0xc4b6040c,
+       0x00bcbb0f,
+       0x98010c98,
+       0x0f98020d,
+       0x00e7f106,
+       0x6f21f508,
+       0x01acf001,
+       0xf104a5f0,
+       0xf03000b7,
+       0x0c9850b3,
+       0x0fc4b604,
+       0x9800bcbb,
+       0x0d98020c,
+       0x080f9803,
+       0x0200e7f1,
+       0x016f21f5,
+       0x025e21f5,
+       0xf40601f4,
+/* 0x0686: ctx_xfer_post */
+       0x21f50712,
+/* 0x068a: ctx_xfer_done */
+       0x21f5027f,
+       0x00f80591,
+       0x00000000,
+       0x00000000,
+       0x00000000,
+       0x00000000,
+       0x00000000,
+       0x00000000,
+       0x00000000,
+       0x00000000,
+       0x00000000,
+       0x00000000,
+       0x00000000,
        0x00000000,
        0x00000000,
        0x00000000,