Commit 8b637ae3 authored by Ben Skeggs's avatar Ben Skeggs

drm/nvc3/gr: update initial register/context values

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent d8b02dbb
...@@ -1326,6 +1326,7 @@ nvc0_grctx_generate_9097(struct nvc0_graph_priv *priv) ...@@ -1326,6 +1326,7 @@ nvc0_grctx_generate_9097(struct nvc0_graph_priv *priv)
switch (nv_device(priv)->chipset) { switch (nv_device(priv)->chipset) {
case 0xc0: case 0xc0:
case 0xc3:
case 0xd9: case 0xd9:
case 0xd7: case 0xd7:
break; break;
...@@ -1473,6 +1474,7 @@ nvc0_grctx_generate_dispatch(struct nvc0_graph_priv *priv) ...@@ -1473,6 +1474,7 @@ nvc0_grctx_generate_dispatch(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x40402c, 0x00000000); nv_wr32(priv, 0x40402c, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -1493,6 +1495,7 @@ nvc0_grctx_generate_dispatch(struct nvc0_graph_priv *priv) ...@@ -1493,6 +1495,7 @@ nvc0_grctx_generate_dispatch(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x4040c8, 0xf0000087); nv_wr32(priv, 0x4040c8, 0xf0000087);
switch (nv_device(priv)->chipset) { switch (nv_device(priv)->chipset) {
case 0xc0: case 0xc0:
case 0xc3:
case 0xd9: case 0xd9:
case 0xd7: case 0xd7:
nv_wr32(priv, 0x4040d0, 0x00000000); nv_wr32(priv, 0x4040d0, 0x00000000);
...@@ -1520,6 +1523,7 @@ nvc0_grctx_generate_dispatch(struct nvc0_graph_priv *priv) ...@@ -1520,6 +1523,7 @@ nvc0_grctx_generate_dispatch(struct nvc0_graph_priv *priv)
case 0xd7: case 0xd7:
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x404174, 0x00000000); nv_wr32(priv, 0x404174, 0x00000000);
break; break;
...@@ -1662,6 +1666,7 @@ nvc0_grctx_generate_shaders(struct nvc0_graph_priv *priv) ...@@ -1662,6 +1666,7 @@ nvc0_grctx_generate_shaders(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x405834, 0x08000000); nv_wr32(priv, 0x405834, 0x08000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x405800, 0x078000bf); nv_wr32(priv, 0x405800, 0x078000bf);
nv_wr32(priv, 0x405830, 0x02180000); nv_wr32(priv, 0x405830, 0x02180000);
...@@ -1703,6 +1708,7 @@ nvc0_grctx_generate_unk64xx(struct nvc0_graph_priv *priv) ...@@ -1703,6 +1708,7 @@ nvc0_grctx_generate_unk64xx(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x4064bc, 0x00000000); nv_wr32(priv, 0x4064bc, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -1714,6 +1720,7 @@ nvc0_grctx_generate_unk64xx(struct nvc0_graph_priv *priv) ...@@ -1714,6 +1720,7 @@ nvc0_grctx_generate_unk64xx(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x4064c4, 0x0086ffff); nv_wr32(priv, 0x4064c4, 0x0086ffff);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -1753,6 +1760,7 @@ nvc0_grctx_generate_rop(struct nvc0_graph_priv *priv) ...@@ -1753,6 +1760,7 @@ nvc0_grctx_generate_rop(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x408804, 0x00000040); nv_wr32(priv, 0x408804, 0x00000040);
switch (nv_device(priv)->chipset) { switch (nv_device(priv)->chipset) {
case 0xc0: case 0xc0:
case 0xc3:
nv_wr32(priv, 0x408808, 0x0003e00d); nv_wr32(priv, 0x408808, 0x0003e00d);
nv_wr32(priv, 0x408900, 0x3080b801); nv_wr32(priv, 0x408900, 0x3080b801);
nv_wr32(priv, 0x408904, 0x02000001); nv_wr32(priv, 0x408904, 0x02000001);
...@@ -1797,6 +1805,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) ...@@ -1797,6 +1805,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv)
case 0xd7: case 0xd7:
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x418408, 0x00000000); nv_wr32(priv, 0x418408, 0x00000000);
break; break;
...@@ -1809,6 +1818,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) ...@@ -1809,6 +1818,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x418414, 0x02200fff); nv_wr32(priv, 0x418414, 0x02200fff);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x418414, 0x00200fff); nv_wr32(priv, 0x418414, 0x00200fff);
break; break;
...@@ -1833,6 +1843,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) ...@@ -1833,6 +1843,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x41870c, 0x00000000); nv_wr32(priv, 0x41870c, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x41870c, 0x07c80000); nv_wr32(priv, 0x41870c, 0x07c80000);
break; break;
...@@ -1844,6 +1855,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) ...@@ -1844,6 +1855,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x418800, 0x7006860a); nv_wr32(priv, 0x418800, 0x7006860a);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x418800, 0x0006860a); nv_wr32(priv, 0x418800, 0x0006860a);
break; break;
...@@ -1859,6 +1871,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) ...@@ -1859,6 +1871,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x418830, 0x10000001); nv_wr32(priv, 0x418830, 0x10000001);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x418830, 0x00000001); nv_wr32(priv, 0x418830, 0x00000001);
break; break;
...@@ -1879,6 +1892,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) ...@@ -1879,6 +1892,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x4188fc, 0x20100008); nv_wr32(priv, 0x4188fc, 0x20100008);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x4188fc, 0x00100000); nv_wr32(priv, 0x4188fc, 0x00100000);
break; break;
...@@ -1902,6 +1916,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) ...@@ -1902,6 +1916,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x418b00, 0x00000006); nv_wr32(priv, 0x418b00, 0x00000006);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x418b00, 0x00000000); nv_wr32(priv, 0x418b00, 0x00000000);
break; break;
...@@ -1929,6 +1944,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) ...@@ -1929,6 +1944,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x418c6c, 0x00000001); nv_wr32(priv, 0x418c6c, 0x00000001);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -1954,6 +1970,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) ...@@ -1954,6 +1970,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419864, 0x00000129); nv_wr32(priv, 0x419864, 0x00000129);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x419864, 0x0000012a); nv_wr32(priv, 0x419864, 0x0000012a);
break; break;
...@@ -1968,6 +1985,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) ...@@ -1968,6 +1985,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv)
switch (nv_device(priv)->chipset) { switch (nv_device(priv)->chipset) {
case 0xc0: case 0xc0:
break; break;
case 0xc3:
default: default:
nv_wr32(priv, 0x419a1c, 0x00000000); nv_wr32(priv, 0x419a1c, 0x00000000);
nv_wr32(priv, 0x419a20, 0x00000800); nv_wr32(priv, 0x419a20, 0x00000800);
...@@ -1981,6 +1999,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) ...@@ -1981,6 +1999,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv)
case 0xd7: case 0xd7:
nv_wr32(priv, 0x00419ac4, 0x0017f440); nv_wr32(priv, 0x00419ac4, 0x0017f440);
break; break;
case 0xc3:
default: default:
nv_wr32(priv, 0x00419ac4, 0x0007f440); nv_wr32(priv, 0x00419ac4, 0x0007f440);
break; break;
...@@ -1999,6 +2018,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) ...@@ -1999,6 +2018,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419be0, 0x00400001); nv_wr32(priv, 0x419be0, 0x00400001);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x419be0, 0x00000001); nv_wr32(priv, 0x419be0, 0x00000001);
break; break;
...@@ -2010,6 +2030,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) ...@@ -2010,6 +2030,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419c00, 0x0000000a); nv_wr32(priv, 0x419c00, 0x0000000a);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x419c00, 0x00000002); nv_wr32(priv, 0x419c00, 0x00000002);
break; break;
...@@ -2018,6 +2039,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) ...@@ -2018,6 +2039,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419c08, 0x00000002); nv_wr32(priv, 0x419c08, 0x00000002);
nv_wr32(priv, 0x419c20, 0x00000000); nv_wr32(priv, 0x419c20, 0x00000000);
switch (nv_device(priv)->chipset) { switch (nv_device(priv)->chipset) {
case 0xc3:
case 0xce: case 0xce:
case 0xcf: case 0xcf:
nv_wr32(priv, 0x419cb0, 0x00020048); nv_wr32(priv, 0x419cb0, 0x00020048);
...@@ -2042,6 +2064,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) ...@@ -2042,6 +2064,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419d20, 0x12180000); nv_wr32(priv, 0x419d20, 0x12180000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x419d20, 0x02180000); nv_wr32(priv, 0x419d20, 0x02180000);
break; break;
...@@ -2054,6 +2077,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) ...@@ -2054,6 +2077,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419d44, 0x02180218); nv_wr32(priv, 0x419d44, 0x02180218);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -2090,6 +2114,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) ...@@ -2090,6 +2114,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv)
case 0xd7: case 0xd7:
nv_wr32(priv, 0x419ee0, 0x00010110); nv_wr32(priv, 0x419ee0, 0x00010110);
break; break;
case 0xc3:
default: default:
nv_wr32(priv, 0x419ee0, 0x00011110); nv_wr32(priv, 0x419ee0, 0x00011110);
break; break;
...@@ -2100,6 +2125,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) ...@@ -2100,6 +2125,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419f50, 0x00000000); nv_wr32(priv, 0x419f50, 0x00000000);
nv_wr32(priv, 0x419f54, 0x00000000); nv_wr32(priv, 0x419f54, 0x00000000);
break; break;
case 0xc3:
case 0xd9: case 0xd9:
case 0xd7: case 0xd7:
nv_wr32(priv, 0x419f30, 0x00000000); nv_wr32(priv, 0x419f30, 0x00000000);
...@@ -2436,6 +2462,7 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) ...@@ -2436,6 +2462,7 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv)
nv_icmd(priv, i, 0x00000040); nv_icmd(priv, i, 0x00000040);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -2454,6 +2481,7 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) ...@@ -2454,6 +2481,7 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv)
nv_icmd(priv, i, 0x0000c080); nv_icmd(priv, i, 0x0000c080);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
break; break;
default: default:
break; break;
...@@ -3282,6 +3310,7 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) ...@@ -3282,6 +3310,7 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv)
switch (nv_device(priv)->chipset) { switch (nv_device(priv)->chipset) {
case 0xc0: case 0xc0:
case 0xc3:
nv_mthd(priv, 0x902d, 0x3410, 0x00000000); nv_mthd(priv, 0x902d, 0x3410, 0x00000000);
break; break;
case 0xd9: case 0xd9:
......
...@@ -58,10 +58,10 @@ chipsets: ...@@ -58,10 +58,10 @@ chipsets:
.b16 #nvc0_tpc_mmio_head .b16 #nvc0_tpc_mmio_head
.b16 #nvc1_tpc_mmio_tail .b16 #nvc1_tpc_mmio_tail
.b8 0xc3 0 0 0 .b8 0xc3 0 0 0
.b16 #nvc0_gpc_mmio_head .b16 #nnvc0_gpc_mmio_head
.b16 #nvc0_gpc_mmio_tail .b16 #nnvc0_gpc_mmio_tail
.b16 #nvc0_tpc_mmio_head .b16 #nnvc3_tpc_mmio_head
.b16 #nvc3_tpc_mmio_tail .b16 #nnvc3_tpc_mmio_tail
.b8 0xc4 0 0 0 .b8 0xc4 0 0 0
.b16 #nvc0_gpc_mmio_head .b16 #nvc0_gpc_mmio_head
.b16 #nvc0_gpc_mmio_tail .b16 #nvc0_gpc_mmio_tail
...@@ -234,6 +234,31 @@ mmctx_data(0x000698, 1) ...@@ -234,6 +234,31 @@ mmctx_data(0x000698, 1)
mmctx_data(0x000750, 2) mmctx_data(0x000750, 2)
nnvc0_tpc_mmio_tail: nnvc0_tpc_mmio_tail:
nnvc3_tpc_mmio_head:
mmctx_data(0x000018, 1)
mmctx_data(0x00003c, 1)
mmctx_data(0x000048, 1)
mmctx_data(0x000064, 1)
mmctx_data(0x000088, 1)
mmctx_data(0x000200, 6)
mmctx_data(0x00021c, 2)
mmctx_data(0x0002c4, 1)
mmctx_data(0x000300, 6)
mmctx_data(0x0003d0, 1)
mmctx_data(0x0003e0, 2)
mmctx_data(0x000400, 3)
mmctx_data(0x000420, 1)
mmctx_data(0x0004b0, 1)
mmctx_data(0x0004e8, 1)
mmctx_data(0x0004f4, 1)
mmctx_data(0x000520, 2)
mmctx_data(0x000604, 4)
mmctx_data(0x000644, 20)
mmctx_data(0x000698, 1)
mmctx_data(0x0006e0, 1)
mmctx_data(0x000730, 11)
nnvc3_tpc_mmio_tail:
nvd9_tpc_mmio_head: nvd9_tpc_mmio_head:
mmctx_data(0x000018, 1) mmctx_data(0x000018, 1)
mmctx_data(0x00003c, 1) mmctx_data(0x00003c, 1)
......
...@@ -40,8 +40,8 @@ uint32_t nvc0_grgpc_data[] = { ...@@ -40,8 +40,8 @@ uint32_t nvc0_grgpc_data[] = {
0x013800d4, 0x013800d4,
0x02640200, 0x02640200,
0x000000c3, 0x000000c3,
0x013400d4, 0x01980138,
0x02600200, 0x030802b0,
0x000000c4, 0x000000c4,
0x013400d4, 0x013400d4,
0x02600200, 0x02600200,
...@@ -56,10 +56,10 @@ uint32_t nvc0_grgpc_data[] = { ...@@ -56,10 +56,10 @@ uint32_t nvc0_grgpc_data[] = {
0x025c0200, 0x025c0200,
0x000000d9, 0x000000d9,
0x02000198, 0x02000198,
0x030c02b0, 0x03640308,
0x000000d7, 0x000000d7,
0x02000198, 0x02000198,
0x030c02b0, 0x03640308,
0x00000000, 0x00000000,
/* 0x00d4: nvc0_gpc_mmio_head */ /* 0x00d4: nvc0_gpc_mmio_head */
0x00000380, 0x00000380,
...@@ -194,7 +194,31 @@ uint32_t nvc0_grgpc_data[] = { ...@@ -194,7 +194,31 @@ uint32_t nvc0_grgpc_data[] = {
0x00000698, 0x00000698,
0x04000750, 0x04000750,
/* 0x02b0: nnvc0_tpc_mmio_tail */ /* 0x02b0: nnvc0_tpc_mmio_tail */
/* 0x02b0: nvd9_tpc_mmio_head */ /* 0x02b0: nnvc3_tpc_mmio_head */
0x00000018,
0x0000003c,
0x00000048,
0x00000064,
0x00000088,
0x14000200,
0x0400021c,
0x000002c4,
0x14000300,
0x000003d0,
0x040003e0,
0x08000400,
0x00000420,
0x000004b0,
0x000004e8,
0x000004f4,
0x04000520,
0x0c000604,
0x4c000644,
0x00000698,
0x000006e0,
0x28000730,
/* 0x0308: nnvc3_tpc_mmio_tail */
/* 0x0308: nvd9_tpc_mmio_head */
0x00000018, 0x00000018,
0x0000003c, 0x0000003c,
0x00000048, 0x00000048,
......
...@@ -54,8 +54,8 @@ chipsets: ...@@ -54,8 +54,8 @@ chipsets:
.b16 #nvc0_hub_mmio_head .b16 #nvc0_hub_mmio_head
.b16 #nvc1_hub_mmio_tail .b16 #nvc1_hub_mmio_tail
.b8 0xc3 0 0 0 .b8 0xc3 0 0 0
.b16 #nvc0_hub_mmio_head .b16 #nnvc0_hub_mmio_head
.b16 #nvc0_hub_mmio_tail .b16 #nnvc0_hub_mmio_tail
.b8 0xc4 0 0 0 .b8 0xc4 0 0 0
.b16 #nvc0_hub_mmio_head .b16 #nvc0_hub_mmio_head
.b16 #nvc0_hub_mmio_tail .b16 #nvc0_hub_mmio_tail
......
...@@ -207,7 +207,7 @@ uint32_t nvc0_grhub_data[] = { ...@@ -207,7 +207,7 @@ uint32_t nvc0_grhub_data[] = {
0x000000c1, 0x000000c1,
0x03ec034c, 0x03ec034c,
0x000000c3, 0x000000c3,
0x03e8034c, 0x048803ec,
0x000000c4, 0x000000c4,
0x03e8034c, 0x03e8034c,
0x000000c8, 0x000000c8,
......
...@@ -753,6 +753,7 @@ nvc0_graph_init_unk64xx(struct nvc0_graph_priv *priv) ...@@ -753,6 +753,7 @@ nvc0_graph_init_unk64xx(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x4064f8, 0x00000000); nv_wr32(priv, 0x4064f8, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -764,6 +765,7 @@ nvc0_graph_init_unk58xx(struct nvc0_graph_priv *priv) ...@@ -764,6 +765,7 @@ nvc0_graph_init_unk58xx(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x405844, 0x00ffffff); nv_wr32(priv, 0x405844, 0x00ffffff);
nv_wr32(priv, 0x405850, 0x00000000); nv_wr32(priv, 0x405850, 0x00000000);
switch (nv_device(priv)->chipset) { switch (nv_device(priv)->chipset) {
case 0xc3:
case 0xd9: case 0xd9:
case 0xd7: case 0xd7:
nv_wr32(priv, 0x405900, 0x00002834); nv_wr32(priv, 0x405900, 0x00002834);
...@@ -780,6 +782,7 @@ nvc0_graph_init_unk58xx(struct nvc0_graph_priv *priv) ...@@ -780,6 +782,7 @@ nvc0_graph_init_unk58xx(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x40592c, 0x00000000); nv_wr32(priv, 0x40592c, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -800,6 +803,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) ...@@ -800,6 +803,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x418408, 0x00000000); nv_wr32(priv, 0x418408, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -811,6 +815,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) ...@@ -811,6 +815,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x4184a8, 0x00000000); nv_wr32(priv, 0x4184a8, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -822,6 +827,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) ...@@ -822,6 +827,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x418714, 0x00000000); nv_wr32(priv, 0x418714, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x418714, 0x80000000); nv_wr32(priv, 0x418714, 0x80000000);
break; break;
...@@ -837,6 +843,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) ...@@ -837,6 +843,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x4188c8, 0x00000000); nv_wr32(priv, 0x4188c8, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x4188c8, 0x80000000); nv_wr32(priv, 0x4188c8, 0x80000000);
break; break;
...@@ -859,6 +866,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) ...@@ -859,6 +866,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x418c68, 0x00000000); nv_wr32(priv, 0x418c68, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -870,6 +878,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) ...@@ -870,6 +878,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x418cb8, 0x00000000); nv_wr32(priv, 0x418cb8, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -882,6 +891,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) ...@@ -882,6 +891,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x418f00, 0x00000000); nv_wr32(priv, 0x418f00, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -894,6 +904,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) ...@@ -894,6 +904,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x418e00, 0x00000003); nv_wr32(priv, 0x418e00, 0x00000003);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x418e00, 0x00000050); nv_wr32(priv, 0x418e00, 0x00000050);
break; break;
...@@ -906,6 +917,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) ...@@ -906,6 +917,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x418e20, 0x00000000); nv_wr32(priv, 0x418e20, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -921,6 +933,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) ...@@ -921,6 +933,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419d10, 0x00000014); nv_wr32(priv, 0x419d10, 0x00000014);
nv_wr32(priv, 0x419ab0, 0x00000000); nv_wr32(priv, 0x419ab0, 0x00000000);
switch (nv_device(priv)->chipset) { switch (nv_device(priv)->chipset) {
case 0xc3:
case 0xd9: case 0xd9:
case 0xd7: case 0xd7:
nv_wr32(priv, 0x419ac8, 0x00000000); nv_wr32(priv, 0x419ac8, 0x00000000);
...@@ -939,6 +952,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) ...@@ -939,6 +952,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x41980c, 0x00000010); nv_wr32(priv, 0x41980c, 0x00000010);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x41980c, 0x00000000); nv_wr32(priv, 0x41980c, 0x00000000);
break; break;
...@@ -950,6 +964,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) ...@@ -950,6 +964,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419814, 0x00000004); nv_wr32(priv, 0x419814, 0x00000004);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x419814, 0x00000000); nv_wr32(priv, 0x419814, 0x00000000);
break; break;
...@@ -961,6 +976,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) ...@@ -961,6 +976,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x41984c, 0x0000a918); nv_wr32(priv, 0x41984c, 0x0000a918);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x41984c, 0x00005bc5); nv_wr32(priv, 0x41984c, 0x00005bc5);
break; break;
...@@ -970,6 +986,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) ...@@ -970,6 +986,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419858, 0x00000000); nv_wr32(priv, 0x419858, 0x00000000);
nv_wr32(priv, 0x41985c, 0x00000000); nv_wr32(priv, 0x41985c, 0x00000000);
switch (nv_device(priv)->chipset) { switch (nv_device(priv)->chipset) {
case 0xc3:
case 0xd9: case 0xd9:
case 0xd7: case 0xd7:
nv_wr32(priv, 0x419880, 0x00000002); nv_wr32(priv, 0x419880, 0x00000002);
...@@ -994,6 +1011,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) ...@@ -994,6 +1011,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419bfc, 0x00000000); nv_wr32(priv, 0x419bfc, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -1005,6 +1023,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) ...@@ -1005,6 +1023,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419d4c, 0x00000000); nv_wr32(priv, 0x419d4c, 0x00000000);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
break; break;
} }
...@@ -1018,6 +1037,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) ...@@ -1018,6 +1037,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419ea8, 0x02001100); nv_wr32(priv, 0x419ea8, 0x02001100);
break; break;
case 0xc0: case 0xc0:
case 0xc3:
default: default:
nv_wr32(priv, 0x419ea8, 0x00001100); nv_wr32(priv, 0x419ea8, 0x00001100);
break; break;
...@@ -1029,6 +1049,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) ...@@ -1029,6 +1049,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv)
nv_wr32(priv, 0x419ebc, 0x00000000); nv_wr32(priv, 0x419ebc, 0x00000000);
nv_wr32(priv, 0x419ec0, 0x00000000); nv_wr32(priv, 0x419ec0, 0x00000000);
switch (nv_device(priv)->chipset) { switch (nv_device(priv)->chipset) {
case 0xc3:
case 0xd9: case 0xd9:
case 0xd7: case 0xd7:
nv_wr32(priv, 0x419ec8, 0x0e063818); nv_wr32(priv, 0x419ec8, 0x0e063818);
...@@ -1311,6 +1332,7 @@ nvc0_graph_init(struct nouveau_object *object) ...@@ -1311,6 +1332,7 @@ nvc0_graph_init(struct nouveau_object *object)
switch (nv_device(priv)->chipset) { switch (nv_device(priv)->chipset) {
case 0xc0: case 0xc0:
case 0xc3:
case 0xd9: case 0xd9:
case 0xd7: case 0xd7:
nvc0_graph_init_unk40xx(priv); nvc0_graph_init_unk40xx(priv);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment