aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shared-core/nv50_graph.c724
1 files changed, 723 insertions, 1 deletions
diff --git a/shared-core/nv50_graph.c b/shared-core/nv50_graph.c
index 2fb6f967..9c9156ab 100644
--- a/shared-core/nv50_graph.c
+++ b/shared-core/nv50_graph.c
@@ -7421,6 +7421,722 @@ nv92_graph_init_ctxvals(struct drm_device *dev, struct nouveau_gpuobj_ref *ref)
INSTANCE_WR(ctx, 0x651FC/4, 0x1);
}
+static void
+nvaa_graph_init_ctxvals(struct drm_device *dev, struct nouveau_gpuobj_ref *ref)
+{
+ struct drm_nouveau_private *dev_priv = dev->dev_private;
+ struct nouveau_gpuobj *ctx = ref->gpuobj;
+
+ INSTANCE_WR(ctx, 0x0010c/4, 0x00000030);
+ INSTANCE_WR(ctx, 0x001d0/4, 0x00000003);
+ INSTANCE_WR(ctx, 0x001d4/4, 0x00001000);
+ INSTANCE_WR(ctx, 0x00220/4, 0x0000fe0c);
+ INSTANCE_WR(ctx, 0x00238/4, 0x00001000);
+ INSTANCE_WR(ctx, 0x00264/4, 0x00000187);
+ INSTANCE_WR(ctx, 0x00278/4, 0x00001018);
+ INSTANCE_WR(ctx, 0x0027c/4, 0x000000ff);
+ INSTANCE_WR(ctx, 0x002c8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x002cc/4, 0x042500df);
+ INSTANCE_WR(ctx, 0x002d4/4, 0x00000600);
+ INSTANCE_WR(ctx, 0x002ec/4, 0x01000000);
+ INSTANCE_WR(ctx, 0x002f0/4, 0x000000ff);
+ INSTANCE_WR(ctx, 0x002f8/4, 0x00000800);
+ INSTANCE_WR(ctx, 0x00310/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00310/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00310/4, 0x000e0080);
+ INSTANCE_WR(ctx, 0x00310/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00338/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x0033c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0034c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00350/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x00368/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x0036c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00370/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00380/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00384/4, 0x003fffff);
+ INSTANCE_WR(ctx, 0x00388/4, 0x00001fff);
+ INSTANCE_WR(ctx, 0x00390/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00394/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0039c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0039c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0039c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0039c/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x0039c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0039c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0039c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0039c/4, 0x00000007);
+ INSTANCE_WR(ctx, 0x003bc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x003bc/4, 0x00000007);
+ INSTANCE_WR(ctx, 0x003bc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x003bc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x003bc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x003e0/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x003e4/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x003ec/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x003f8/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x003fc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00400/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x00408/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00414/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x00428/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x0042c/4, 0x00000070);
+ INSTANCE_WR(ctx, 0x00430/4, 0x00000080);
+ INSTANCE_WR(ctx, 0x00444/4, 0x0000000c);
+ INSTANCE_WR(ctx, 0x0044c/4, 0x00000008);
+ INSTANCE_WR(ctx, 0x00450/4, 0x00000014);
+ INSTANCE_WR(ctx, 0x00458/4, 0x00000029);
+ INSTANCE_WR(ctx, 0x00458/4, 0x00000027);
+ INSTANCE_WR(ctx, 0x00458/4, 0x00000026);
+ INSTANCE_WR(ctx, 0x00458/4, 0x00000008);
+ INSTANCE_WR(ctx, 0x00458/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00458/4, 0x00000027);
+ INSTANCE_WR(ctx, 0x00478/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00478/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x00478/4, 0x00000003);
+ INSTANCE_WR(ctx, 0x00478/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00478/4, 0x00000005);
+ INSTANCE_WR(ctx, 0x00478/4, 0x00000006);
+ INSTANCE_WR(ctx, 0x00478/4, 0x00000007);
+ INSTANCE_WR(ctx, 0x00478/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x004d8/4, 0x000000cf);
+ INSTANCE_WR(ctx, 0x00508/4, 0x00000080);
+ INSTANCE_WR(ctx, 0x00508/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00508/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00508/4, 0x00000003);
+ INSTANCE_WR(ctx, 0x00508/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00524/4, 0x00000012);
+ INSTANCE_WR(ctx, 0x00524/4, 0x00000010);
+ INSTANCE_WR(ctx, 0x00524/4, 0x0000000c);
+ INSTANCE_WR(ctx, 0x00524/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00540/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00544/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x00548/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00558/4, 0x003fffff);
+ INSTANCE_WR(ctx, 0x0055c/4, 0x00001fff);
+ INSTANCE_WR(ctx, 0x00584/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00588/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0058c/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x00594/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00598/4, 0x00000014);
+ INSTANCE_WR(ctx, 0x0059c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x005a8/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x005bc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x005c4/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x005c4/4, 0x00001000);
+ INSTANCE_WR(ctx, 0x005c4/4, 0x00000e00);
+ INSTANCE_WR(ctx, 0x005c4/4, 0x00001000);
+ INSTANCE_WR(ctx, 0x005c4/4, 0x00001e00);
+ INSTANCE_WR(ctx, 0x005dc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x005dc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x005dc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x005dc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x005dc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x005fc/4, 0x00000200);
+ INSTANCE_WR(ctx, 0x00604/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00608/4, 0x000000f0);
+ INSTANCE_WR(ctx, 0x0060c/4, 0x000000ff);
+ INSTANCE_WR(ctx, 0x00618/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0061c/4, 0x000000f0);
+ INSTANCE_WR(ctx, 0x00620/4, 0x000000ff);
+ INSTANCE_WR(ctx, 0x00628/4, 0x00000009);
+ INSTANCE_WR(ctx, 0x00634/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00638/4, 0x000000cf);
+ INSTANCE_WR(ctx, 0x00640/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00650/4, 0x000000cf);
+ INSTANCE_WR(ctx, 0x00658/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x00660/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00668/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00670/4, 0x000000cf);
+ INSTANCE_WR(ctx, 0x00674/4, 0x000000cf);
+ INSTANCE_WR(ctx, 0x00678/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00680/4, 0x00001f80);
+ INSTANCE_WR(ctx, 0x00698/4, 0x3b74f821);
+ INSTANCE_WR(ctx, 0x0069c/4, 0x89058001);
+ INSTANCE_WR(ctx, 0x006a4/4, 0x00001000);
+ INSTANCE_WR(ctx, 0x006a8/4, 0x000000ff);
+ INSTANCE_WR(ctx, 0x006b0/4, 0x027c10fa);
+ INSTANCE_WR(ctx, 0x006b4/4, 0x400000c0);
+ INSTANCE_WR(ctx, 0x006b8/4, 0xb7892080);
+ INSTANCE_WR(ctx, 0x006cc/4, 0x003d0040);
+ INSTANCE_WR(ctx, 0x006d4/4, 0x00000022);
+ INSTANCE_WR(ctx, 0x006f4/4, 0x003d0040);
+ INSTANCE_WR(ctx, 0x006f8/4, 0x00000022);
+ INSTANCE_WR(ctx, 0x00740/4, 0x0000ff0a);
+ INSTANCE_WR(ctx, 0x00748/4, 0x01800000);
+ INSTANCE_WR(ctx, 0x0074c/4, 0x00160000);
+ INSTANCE_WR(ctx, 0x00750/4, 0x01800000);
+ INSTANCE_WR(ctx, 0x00760/4, 0x0003ffff);
+ INSTANCE_WR(ctx, 0x00764/4, 0x300c0000);
+ INSTANCE_WR(ctx, 0x00788/4, 0x00010401);
+ INSTANCE_WR(ctx, 0x00790/4, 0x00000078);
+ INSTANCE_WR(ctx, 0x00798/4, 0x000000bf);
+ INSTANCE_WR(ctx, 0x007a0/4, 0x00001210);
+ INSTANCE_WR(ctx, 0x007a4/4, 0x08000080);
+ INSTANCE_WR(ctx, 0x007b0/4, 0x0000003e);
+ INSTANCE_WR(ctx, 0x007c8/4, 0x01800000);
+ INSTANCE_WR(ctx, 0x007cc/4, 0x00160000);
+ INSTANCE_WR(ctx, 0x007d0/4, 0x01800000);
+ INSTANCE_WR(ctx, 0x007e0/4, 0x0003ffff);
+ INSTANCE_WR(ctx, 0x007e4/4, 0x300c0000);
+ INSTANCE_WR(ctx, 0x00808/4, 0x00010401);
+ INSTANCE_WR(ctx, 0x00810/4, 0x00000078);
+ INSTANCE_WR(ctx, 0x00818/4, 0x000000bf);
+ INSTANCE_WR(ctx, 0x00820/4, 0x00001210);
+ INSTANCE_WR(ctx, 0x00824/4, 0x08000080);
+ INSTANCE_WR(ctx, 0x00830/4, 0x0000003e);
+ INSTANCE_WR(ctx, 0x00848/4, 0x01800000);
+ INSTANCE_WR(ctx, 0x0084c/4, 0x00160000);
+ INSTANCE_WR(ctx, 0x00850/4, 0x01800000);
+ INSTANCE_WR(ctx, 0x00860/4, 0x0003ffff);
+ INSTANCE_WR(ctx, 0x00864/4, 0x300c0000);
+ INSTANCE_WR(ctx, 0x00888/4, 0x00010401);
+ INSTANCE_WR(ctx, 0x00890/4, 0x00000078);
+ INSTANCE_WR(ctx, 0x00898/4, 0x000000bf);
+ INSTANCE_WR(ctx, 0x008a0/4, 0x00001210);
+ INSTANCE_WR(ctx, 0x008a4/4, 0x08000080);
+ INSTANCE_WR(ctx, 0x008b0/4, 0x0000003e);
+ INSTANCE_WR(ctx, 0x008c8/4, 0x01800000);
+ INSTANCE_WR(ctx, 0x008cc/4, 0x00160000);
+ INSTANCE_WR(ctx, 0x008d0/4, 0x01800000);
+ INSTANCE_WR(ctx, 0x008e0/4, 0x0003ffff);
+ INSTANCE_WR(ctx, 0x008e4/4, 0x300c0000);
+ INSTANCE_WR(ctx, 0x00908/4, 0x00010401);
+ INSTANCE_WR(ctx, 0x00910/4, 0x00000078);
+ INSTANCE_WR(ctx, 0x00918/4, 0x000000bf);
+ INSTANCE_WR(ctx, 0x00920/4, 0x00001210);
+ INSTANCE_WR(ctx, 0x00924/4, 0x08000080);
+ INSTANCE_WR(ctx, 0x00930/4, 0x0000003e);
+ INSTANCE_WR(ctx, 0x0094c/4, 0x01127070);
+ INSTANCE_WR(ctx, 0x0095c/4, 0x07ffffff);
+ INSTANCE_WR(ctx, 0x00978/4, 0x00120407);
+ INSTANCE_WR(ctx, 0x00978/4, 0x05091507);
+ INSTANCE_WR(ctx, 0x00978/4, 0x05010202);
+ INSTANCE_WR(ctx, 0x00978/4, 0x00030201);
+ INSTANCE_WR(ctx, 0x009a0/4, 0x00000040);
+ INSTANCE_WR(ctx, 0x009a0/4, 0x0d0c0b0a);
+ INSTANCE_WR(ctx, 0x009a0/4, 0x00141210);
+ INSTANCE_WR(ctx, 0x009a0/4, 0x000001f0);
+ INSTANCE_WR(ctx, 0x009a0/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x009a0/4, 0x00000003);
+ INSTANCE_WR(ctx, 0x009a0/4, 0x00008000);
+ INSTANCE_WR(ctx, 0x009c0/4, 0x00039e00);
+ INSTANCE_WR(ctx, 0x009c0/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x009c0/4, 0x00003800);
+ INSTANCE_WR(ctx, 0x009c0/4, 0x003fe006);
+ INSTANCE_WR(ctx, 0x009c0/4, 0x003fe000);
+ INSTANCE_WR(ctx, 0x009c0/4, 0x00404040);
+ INSTANCE_WR(ctx, 0x009c0/4, 0x0cf7f007);
+ INSTANCE_WR(ctx, 0x009c0/4, 0x02bf7fff);
+ INSTANCE_WR(ctx, 0x07ba0/4, 0x00000021);
+ INSTANCE_WR(ctx, 0x07bc0/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x07be0/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x07c00/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x07c20/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x07c40/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x07ca0/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x07cc0/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x07ce0/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x07d00/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x07d20/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x1a7c0/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a7e0/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a800/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a820/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a840/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a860/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a880/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a8a0/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a8c0/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a8e0/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a900/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a920/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a940/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a960/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a980/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1a9a0/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1ae40/4, 0x04e3bfdf);
+ INSTANCE_WR(ctx, 0x1ae60/4, 0x04e3bfdf);
+ INSTANCE_WR(ctx, 0x1aec0/4, 0x0001fe21);
+ INSTANCE_WR(ctx, 0x1aee0/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x1af80/4, 0x08100c12);
+ INSTANCE_WR(ctx, 0x1b020/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x1b080/4, 0x00010001);
+ INSTANCE_WR(ctx, 0x1b0c0/4, 0x00010001);
+ INSTANCE_WR(ctx, 0x1b0e0/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x1b100/4, 0x00010001);
+ INSTANCE_WR(ctx, 0x1b120/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x1b140/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x1b160/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x1be20/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1bf00/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x1bf20/4, 0x0000001a);
+ INSTANCE_WR(ctx, 0x1bf80/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x1c1e0/4, 0x00ffff00);
+ INSTANCE_WR(ctx, 0x1c2c0/4, 0x0000000f);
+ INSTANCE_WR(ctx, 0x1c3c0/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x1c3e0/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x1c5e0/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x1c640/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x1c6a0/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x1c6c0/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1c6e0/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x1c760/4, 0x00000005);
+ INSTANCE_WR(ctx, 0x1c780/4, 0x00000052);
+ INSTANCE_WR(ctx, 0x1c820/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x1ca40/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1ca60/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1ca80/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1caa0/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cac0/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cae0/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cb00/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cb20/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cb40/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cb60/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cb80/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cba0/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cbc0/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cbe0/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cc00/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cc20/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x1cc40/4, 0x00000010);
+ INSTANCE_WR(ctx, 0x1d120/4, 0x08100c12);
+ INSTANCE_WR(ctx, 0x1d140/4, 0x00000005);
+ INSTANCE_WR(ctx, 0x1d1a0/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x1d1e0/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x1d200/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x1d220/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x1d240/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x1d260/4, 0x00000003);
+ INSTANCE_WR(ctx, 0x1d2e0/4, 0x00ffff00);
+ INSTANCE_WR(ctx, 0x1d300/4, 0x0000001a);
+ INSTANCE_WR(ctx, 0x1d340/4, 0x00000003);
+ INSTANCE_WR(ctx, 0x1dae0/4, 0x00000102);
+ INSTANCE_WR(ctx, 0x1db20/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x1db40/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x1db60/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x1db80/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x1dca0/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x1dcc0/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x1dd00/4, 0x000007ff);
+ INSTANCE_WR(ctx, 0x1dd40/4, 0x00000102);
+ INSTANCE_WR(ctx, 0x1de80/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x1dea0/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x1dec0/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x1dee0/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00a04/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00a24/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00a64/4, 0x00000080);
+ INSTANCE_WR(ctx, 0x00a84/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00aa4/4, 0x00080c14);
+ INSTANCE_WR(ctx, 0x00ae4/4, 0x000007ff);
+ INSTANCE_WR(ctx, 0x0b344/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x0b364/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x0b3a4/4, 0x00000080);
+ INSTANCE_WR(ctx, 0x0b3c4/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x0b3e4/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0b424/4, 0x00000027);
+ INSTANCE_WR(ctx, 0x0b464/4, 0x00000026);
+ INSTANCE_WR(ctx, 0x010c8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x010e8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x39a68/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x39a88/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x39aa8/4, 0x08100c12);
+ INSTANCE_WR(ctx, 0x39ac8/4, 0x00000003);
+ INSTANCE_WR(ctx, 0x39b08/4, 0x08100c12);
+ INSTANCE_WR(ctx, 0x39b48/4, 0x00080c14);
+ INSTANCE_WR(ctx, 0x39b68/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x39b88/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x39ba8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x39bc8/4, 0x00080c14);
+ INSTANCE_WR(ctx, 0x39c28/4, 0x08100c12);
+ INSTANCE_WR(ctx, 0x39c48/4, 0x00000027);
+ INSTANCE_WR(ctx, 0x39ca8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x414e8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x417c8/4, 0x08100c12);
+ INSTANCE_WR(ctx, 0x00a2c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00acc/4, 0x0000000f);
+ INSTANCE_WR(ctx, 0x00b6c/4, 0x00000020);
+ INSTANCE_WR(ctx, 0x00d6c/4, 0x0000001a);
+ INSTANCE_WR(ctx, 0x00f2c/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00f4c/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00f8c/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00fac/4, 0x00000008);
+ INSTANCE_WR(ctx, 0x00fec/4, 0x000007ff);
+ INSTANCE_WR(ctx, 0x0118c/4, 0x0000000f);
+ INSTANCE_WR(ctx, 0x0362c/4, 0x0000000f);
+ INSTANCE_WR(ctx, 0x0366c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x041cc/4, 0x0000000f);
+ INSTANCE_WR(ctx, 0x1484c/4, 0x0000000f);
+ INSTANCE_WR(ctx, 0x15950/4, 0x003fffff);
+ INSTANCE_WR(ctx, 0x159b0/4, 0x00001fff);
+ INSTANCE_WR(ctx, 0x00a34/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x00bb4/4, 0x04e3bfdf);
+ INSTANCE_WR(ctx, 0x00bd4/4, 0x04e3bfdf);
+ INSTANCE_WR(ctx, 0x00c74/4, 0x04e3bfdf);
+ INSTANCE_WR(ctx, 0x00c94/4, 0x04e3bfdf);
+ INSTANCE_WR(ctx, 0x00e14/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x00e54/4, 0x001ffe67);
+ INSTANCE_WR(ctx, 0x00ff4/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01014/4, 0x00000010);
+ INSTANCE_WR(ctx, 0x01074/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01114/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x01134/4, 0x00000400);
+ INSTANCE_WR(ctx, 0x01154/4, 0x00000300);
+ INSTANCE_WR(ctx, 0x01174/4, 0x00001001);
+ INSTANCE_WR(ctx, 0x01194/4, 0x00000015);
+ INSTANCE_WR(ctx, 0x01254/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x01374/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01394/4, 0x00000010);
+ INSTANCE_WR(ctx, 0x013d4/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01654/4, 0x00000010);
+ INSTANCE_WR(ctx, 0x01874/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01894/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x018b4/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x018d4/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x018f4/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01914/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01934/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01954/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01974/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01994/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x019b4/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x019d4/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x019f4/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01a14/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01a34/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01a54/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01d94/4, 0x00000010);
+ INSTANCE_WR(ctx, 0x01dd4/4, 0x0000003f);
+ INSTANCE_WR(ctx, 0x01eb4/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01ef4/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01f34/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01f94/4, 0x00001001);
+ INSTANCE_WR(ctx, 0x02114/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x02214/4, 0x0000000f);
+ INSTANCE_WR(ctx, 0x02314/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x023f4/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x02414/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x02434/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x02454/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x02474/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x02494/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x024b4/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x024f4/4, 0x001ffe67);
+ INSTANCE_WR(ctx, 0x02534/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x028b4/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x028d4/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x028f4/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x02914/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x02934/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x02954/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x02974/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x02a14/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x02a34/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00a18/4, 0x0000003f);
+ INSTANCE_WR(ctx, 0x00b78/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x00b98/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x00bb8/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x00cd8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00d58/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00f98/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00fb8/4, 0x00001001);
+ INSTANCE_WR(ctx, 0x00fd8/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x00ff8/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x01018/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x01038/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x01458/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01478/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01498/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x014b8/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x014d8/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x014f8/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01518/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01538/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01558/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01578/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01598/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x015b8/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x015d8/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x015f8/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01618/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01638/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x01658/4, 0x00000010);
+ INSTANCE_WR(ctx, 0x016b8/4, 0x00000003);
+ INSTANCE_WR(ctx, 0x01878/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x01898/4, 0x04000000);
+ INSTANCE_WR(ctx, 0x018d8/4, 0x00000080);
+ INSTANCE_WR(ctx, 0x01958/4, 0x00000080);
+ INSTANCE_WR(ctx, 0x01a38/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01a58/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x01a78/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x01a98/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x01ad8/4, 0x00000008);
+ INSTANCE_WR(ctx, 0x01b98/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01bd8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01bf8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01c18/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01c38/4, 0x000000cf);
+ INSTANCE_WR(ctx, 0x01c58/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x01d38/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01d78/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01d98/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01db8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01e58/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x01e98/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x01eb8/4, 0x00000015);
+ INSTANCE_WR(ctx, 0x01f38/4, 0x04444480);
+ INSTANCE_WR(ctx, 0x02698/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x026d8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x02758/4, 0x2a712488);
+ INSTANCE_WR(ctx, 0x02798/4, 0x4085c000);
+ INSTANCE_WR(ctx, 0x027b8/4, 0x00000040);
+ INSTANCE_WR(ctx, 0x027d8/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x027f8/4, 0x00010100);
+ INSTANCE_WR(ctx, 0x02818/4, 0x02800000);
+ INSTANCE_WR(ctx, 0x02b58/4, 0x0000000f);
+ INSTANCE_WR(ctx, 0x02cd8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x02cf8/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x02d18/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x02d38/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x02d58/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x02e78/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x02ef8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x02fb8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03018/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03178/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03198/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x031b8/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x031d8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x031f8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03218/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x03238/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03278/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x03378/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x033d8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x03458/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x03478/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x034b8/4, 0x000000cf);
+ INSTANCE_WR(ctx, 0x034d8/4, 0x000000cf);
+ INSTANCE_WR(ctx, 0x034f8/4, 0x000000cf);
+ INSTANCE_WR(ctx, 0x03658/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03678/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03698/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x036b8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x036d8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x036f8/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x03718/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03758/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03778/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03798/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x037b8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x037d8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x037f8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03818/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03838/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03858/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x03958/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x03978/4, 0x0000000f);
+ INSTANCE_WR(ctx, 0x03a78/4, 0x001ffe67);
+ INSTANCE_WR(ctx, 0x03ad8/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x03af8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03b78/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x03c38/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03cd8/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x03dd8/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x03e58/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x03e78/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03eb8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03ef8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03f38/4, 0x000007ff);
+ INSTANCE_WR(ctx, 0x03f78/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x03fb8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x04518/4, 0x00000008);
+ INSTANCE_WR(ctx, 0x04538/4, 0x00000008);
+ INSTANCE_WR(ctx, 0x04558/4, 0x00000008);
+ INSTANCE_WR(ctx, 0x04578/4, 0x00000008);
+ INSTANCE_WR(ctx, 0x04598/4, 0x00000008);
+ INSTANCE_WR(ctx, 0x045b8/4, 0x00000008);
+ INSTANCE_WR(ctx, 0x045d8/4, 0x00000008);
+ INSTANCE_WR(ctx, 0x045f8/4, 0x00000008);
+ INSTANCE_WR(ctx, 0x04618/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x04718/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x04738/4, 0x00000400);
+ INSTANCE_WR(ctx, 0x04758/4, 0x00000400);
+ INSTANCE_WR(ctx, 0x04778/4, 0x00000400);
+ INSTANCE_WR(ctx, 0x04798/4, 0x00000400);
+ INSTANCE_WR(ctx, 0x047b8/4, 0x00000400);
+ INSTANCE_WR(ctx, 0x047d8/4, 0x00000400);
+ INSTANCE_WR(ctx, 0x047f8/4, 0x00000400);
+ INSTANCE_WR(ctx, 0x04818/4, 0x00000400);
+ INSTANCE_WR(ctx, 0x04838/4, 0x00000300);
+ INSTANCE_WR(ctx, 0x04858/4, 0x00000300);
+ INSTANCE_WR(ctx, 0x04878/4, 0x00000300);
+ INSTANCE_WR(ctx, 0x04898/4, 0x00000300);
+ INSTANCE_WR(ctx, 0x048b8/4, 0x00000300);
+ INSTANCE_WR(ctx, 0x048d8/4, 0x00000300);
+ INSTANCE_WR(ctx, 0x048f8/4, 0x00000300);
+ INSTANCE_WR(ctx, 0x04918/4, 0x00000300);
+ INSTANCE_WR(ctx, 0x04938/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x04958/4, 0x0000000f);
+ INSTANCE_WR(ctx, 0x04a58/4, 0x00000020);
+ INSTANCE_WR(ctx, 0x04a78/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x04a98/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x04ad8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x04b38/4, 0x00000040);
+ INSTANCE_WR(ctx, 0x04b58/4, 0x00000100);
+ INSTANCE_WR(ctx, 0x04b98/4, 0x00000003);
+ INSTANCE_WR(ctx, 0x04c38/4, 0x001ffe67);
+ INSTANCE_WR(ctx, 0x04cb8/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x04cd8/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x04e18/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x04eb8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x04ef8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x04f18/4, 0x00000400);
+ INSTANCE_WR(ctx, 0x04f38/4, 0x00000300);
+ INSTANCE_WR(ctx, 0x04f58/4, 0x00001001);
+ INSTANCE_WR(ctx, 0x04fd8/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x050d8/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x050f8/4, 0x0000000f);
+ INSTANCE_WR(ctx, 0x053f8/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x05418/4, 0x001ffe67);
+ INSTANCE_WR(ctx, 0x05498/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x054f8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x05538/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x05558/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x055d8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x05678/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x05718/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x05758/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x05778/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x057d8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x05938/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x05958/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x05978/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x05998/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x059b8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x059d8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x059f8/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x05a18/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x05a38/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x05b38/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x05b58/4, 0x0000000f);
+ INSTANCE_WR(ctx, 0x05c58/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x05c78/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x05df8/4, 0x04e3bfdf);
+ INSTANCE_WR(ctx, 0x05e18/4, 0x04e3bfdf);
+ INSTANCE_WR(ctx, 0x05e38/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x05e78/4, 0x00ffff00);
+ INSTANCE_WR(ctx, 0x05e98/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x05ef8/4, 0x00ffff00);
+ INSTANCE_WR(ctx, 0x06018/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x06058/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x06078/4, 0x30201000);
+ INSTANCE_WR(ctx, 0x06098/4, 0x70605040);
+ INSTANCE_WR(ctx, 0x060b8/4, 0xb8a89888);
+ INSTANCE_WR(ctx, 0x060d8/4, 0xf8e8d8c8);
+ INSTANCE_WR(ctx, 0x06118/4, 0x0000001a);
+ INSTANCE_WR(ctx, 0x06158/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x063f8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x06418/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x06438/4, 0x03020100);
+ INSTANCE_WR(ctx, 0x064d8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x06538/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x06558/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x06578/4, 0x00000080);
+ INSTANCE_WR(ctx, 0x06598/4, 0x00001e00);
+ INSTANCE_WR(ctx, 0x065b8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x06a58/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x06a78/4, 0x00000080);
+ INSTANCE_WR(ctx, 0x06a98/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x06ab8/4, 0x03020100);
+ INSTANCE_WR(ctx, 0x06ad8/4, 0x00000003);
+ INSTANCE_WR(ctx, 0x06af8/4, 0x00001e00);
+ INSTANCE_WR(ctx, 0x06b18/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x06bb8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x06bd8/4, 0x00000003);
+ INSTANCE_WR(ctx, 0x06c58/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x0aef8/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x0af18/4, 0x00000003);
+ INSTANCE_WR(ctx, 0x00abc/4, 0x00080c14);
+ INSTANCE_WR(ctx, 0x00b1c/4, 0x00000804);
+ INSTANCE_WR(ctx, 0x00b5c/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00b7c/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00b9c/4, 0x08100c12);
+ INSTANCE_WR(ctx, 0x00bdc/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00bfc/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00c3c/4, 0x00000010);
+ INSTANCE_WR(ctx, 0x00cdc/4, 0x00000804);
+ INSTANCE_WR(ctx, 0x00cfc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00d1c/4, 0x0000001a);
+ INSTANCE_WR(ctx, 0x00d3c/4, 0x0000007f);
+ INSTANCE_WR(ctx, 0x00d7c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00d9c/4, 0x00080c14);
+ INSTANCE_WR(ctx, 0x00ddc/4, 0x08100c12);
+ INSTANCE_WR(ctx, 0x00dfc/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00e1c/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x00e5c/4, 0x00000010);
+ INSTANCE_WR(ctx, 0x00edc/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x00efc/4, 0x08100c12);
+ INSTANCE_WR(ctx, 0x00fdc/4, 0x000007ff);
+ INSTANCE_WR(ctx, 0x00ffc/4, 0x00080c14);
+ INSTANCE_WR(ctx, 0x0171c/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0177c/4, 0x00000010);
+ INSTANCE_WR(ctx, 0x01e9c/4, 0x00000088);
+ INSTANCE_WR(ctx, 0x01ebc/4, 0x00000088);
+ INSTANCE_WR(ctx, 0x01f1c/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x021fc/4, 0x00000026);
+ INSTANCE_WR(ctx, 0x0225c/4, 0x3f800000);
+ INSTANCE_WR(ctx, 0x022dc/4, 0x0000001a);
+ INSTANCE_WR(ctx, 0x022fc/4, 0x00000010);
+ INSTANCE_WR(ctx, 0x0281c/4, 0x00000052);
+ INSTANCE_WR(ctx, 0x0285c/4, 0x00000026);
+ INSTANCE_WR(ctx, 0x0289c/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x028bc/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x028fc/4, 0x0000001a);
+ INSTANCE_WR(ctx, 0x0295c/4, 0x00ffff00);
+ INSTANCE_WR(ctx, 0x41800/4, 0x08100c12);
+ INSTANCE_WR(ctx, 0x41840/4, 0x00000080);
+ INSTANCE_WR(ctx, 0x41860/4, 0x80007004);
+ INSTANCE_WR(ctx, 0x41880/4, 0x04000400);
+ INSTANCE_WR(ctx, 0x418a0/4, 0x000000c0);
+ INSTANCE_WR(ctx, 0x418c0/4, 0x00001000);
+ INSTANCE_WR(ctx, 0x41920/4, 0x00000e00);
+ INSTANCE_WR(ctx, 0x41940/4, 0x00001e00);
+ INSTANCE_WR(ctx, 0x41960/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x419c0/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x41a00/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x41a20/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x41ba0/4, 0x08100c12);
+ INSTANCE_WR(ctx, 0x41be0/4, 0x0001fe21);
+ INSTANCE_WR(ctx, 0x41ca0/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x41cc0/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x41ce0/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x41d00/4, 0x0000ffff);
+ INSTANCE_WR(ctx, 0x41d20/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x41d40/4, 0x00010001);
+ INSTANCE_WR(ctx, 0x41d60/4, 0x00010001);
+ INSTANCE_WR(ctx, 0x41d80/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x41dc0/4, 0x0001fe21);
+ INSTANCE_WR(ctx, 0x41e80/4, 0x08100c12);
+ INSTANCE_WR(ctx, 0x41ea0/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x41ee0/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x41f00/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x42020/4, 0x0fac6881);
+ INSTANCE_WR(ctx, 0x420c0/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x42200/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x42220/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x42240/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x42260/4, 0x00000002);
+ INSTANCE_WR(ctx, 0x42280/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x422a0/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x422c0/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x42300/4, 0x00000004);
+ INSTANCE_WR(ctx, 0x49700/4, 0x00000011);
+ INSTANCE_WR(ctx, 0x49740/4, 0x00000001);
+ INSTANCE_WR(ctx, 0x0012c/4, 0x00000002);
+}
+
int
nv50_graph_create_context(struct nouveau_channel *chan)
{
@@ -7450,7 +8166,10 @@ nv50_graph_create_context(struct nouveau_channel *chan)
INSTANCE_WR(chan->ramin_grctx->gpuobj, 0x00000/4,
chan->ramin->instance >> 12);
- INSTANCE_WR(chan->ramin_grctx->gpuobj, 0x0011c/4, 0x00000002);
+ if (dev_priv->chipset == 0xaa)
+ INSTANCE_WR(chan->ramin_grctx->gpuobj, 0x00004/4, 0x00000002);
+ else
+ INSTANCE_WR(chan->ramin_grctx->gpuobj, 0x0011c/4, 0x00000002);
switch (dev_priv->chipset) {
case 0x50:
@@ -7465,6 +8184,9 @@ nv50_graph_create_context(struct nouveau_channel *chan)
case 0x92:
nv92_graph_init_ctxvals(dev, chan->ramin_grctx);
break;
+ case 0xaa:
+ nvaa_graph_init_ctxvals(dev, chan->ramin_grctx);
+ break;
default:
/* This is complete crack, it accidently used to make at
* least some G8x cards work partially somehow, though there's