diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2013-05-13 20:54:32 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-06-30 23:50:41 -0400 |
commit | eb12f57be6f457d317562fda251214d1851134fc (patch) | |
tree | 8bccd95a97247832e7e0537bc3c7de55eb1d1054 | |
parent | dba50728fdf22d9c7e7d2cac7fc5d2e8715aadcd (diff) |
drm/nvc8/gr: update initial register/context values
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
6 files changed, 74 insertions, 10 deletions
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c b/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c index 52712fbc856b..e0305bd8eedb 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c +++ b/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c | |||
@@ -1329,6 +1329,7 @@ nvc0_grctx_generate_9097(struct nvc0_graph_priv *priv) | |||
1329 | case 0xc3: | 1329 | case 0xc3: |
1330 | case 0xc4: | 1330 | case 0xc4: |
1331 | case 0xc1: | 1331 | case 0xc1: |
1332 | case 0xc8: | ||
1332 | case 0xd9: | 1333 | case 0xd9: |
1333 | case 0xd7: | 1334 | case 0xd7: |
1334 | break; | 1335 | break; |
@@ -1479,6 +1480,7 @@ nvc0_grctx_generate_dispatch(struct nvc0_graph_priv *priv) | |||
1479 | case 0xc3: | 1480 | case 0xc3: |
1480 | case 0xc4: | 1481 | case 0xc4: |
1481 | case 0xc1: | 1482 | case 0xc1: |
1483 | case 0xc8: | ||
1482 | default: | 1484 | default: |
1483 | break; | 1485 | break; |
1484 | } | 1486 | } |
@@ -1502,6 +1504,7 @@ nvc0_grctx_generate_dispatch(struct nvc0_graph_priv *priv) | |||
1502 | case 0xc3: | 1504 | case 0xc3: |
1503 | case 0xc4: | 1505 | case 0xc4: |
1504 | case 0xc1: | 1506 | case 0xc1: |
1507 | case 0xc8: | ||
1505 | case 0xd9: | 1508 | case 0xd9: |
1506 | case 0xd7: | 1509 | case 0xd7: |
1507 | nv_wr32(priv, 0x4040d0, 0x00000000); | 1510 | nv_wr32(priv, 0x4040d0, 0x00000000); |
@@ -1532,6 +1535,7 @@ nvc0_grctx_generate_dispatch(struct nvc0_graph_priv *priv) | |||
1532 | case 0xc3: | 1535 | case 0xc3: |
1533 | case 0xc4: | 1536 | case 0xc4: |
1534 | case 0xc1: | 1537 | case 0xc1: |
1538 | case 0xc8: | ||
1535 | default: | 1539 | default: |
1536 | nv_wr32(priv, 0x404174, 0x00000000); | 1540 | nv_wr32(priv, 0x404174, 0x00000000); |
1537 | break; | 1541 | break; |
@@ -1676,6 +1680,7 @@ nvc0_grctx_generate_shaders(struct nvc0_graph_priv *priv) | |||
1676 | case 0xc0: | 1680 | case 0xc0: |
1677 | case 0xc3: | 1681 | case 0xc3: |
1678 | case 0xc4: | 1682 | case 0xc4: |
1683 | case 0xc8: | ||
1679 | default: | 1684 | default: |
1680 | nv_wr32(priv, 0x405800, 0x078000bf); | 1685 | nv_wr32(priv, 0x405800, 0x078000bf); |
1681 | nv_wr32(priv, 0x405830, 0x02180000); | 1686 | nv_wr32(priv, 0x405830, 0x02180000); |
@@ -1720,6 +1725,7 @@ nvc0_grctx_generate_unk64xx(struct nvc0_graph_priv *priv) | |||
1720 | case 0xc3: | 1725 | case 0xc3: |
1721 | case 0xc4: | 1726 | case 0xc4: |
1722 | case 0xc1: | 1727 | case 0xc1: |
1728 | case 0xc8: | ||
1723 | default: | 1729 | default: |
1724 | break; | 1730 | break; |
1725 | } | 1731 | } |
@@ -1733,6 +1739,7 @@ nvc0_grctx_generate_unk64xx(struct nvc0_graph_priv *priv) | |||
1733 | case 0xc0: | 1739 | case 0xc0: |
1734 | case 0xc3: | 1740 | case 0xc3: |
1735 | case 0xc4: | 1741 | case 0xc4: |
1742 | case 0xc8: | ||
1736 | default: | 1743 | default: |
1737 | break; | 1744 | break; |
1738 | } | 1745 | } |
@@ -1774,6 +1781,7 @@ nvc0_grctx_generate_rop(struct nvc0_graph_priv *priv) | |||
1774 | case 0xc0: | 1781 | case 0xc0: |
1775 | case 0xc3: | 1782 | case 0xc3: |
1776 | case 0xc4: | 1783 | case 0xc4: |
1784 | case 0xc8: | ||
1777 | nv_wr32(priv, 0x408808, 0x0003e00d); | 1785 | nv_wr32(priv, 0x408808, 0x0003e00d); |
1778 | nv_wr32(priv, 0x408900, 0x3080b801); | 1786 | nv_wr32(priv, 0x408900, 0x3080b801); |
1779 | nv_wr32(priv, 0x408904, 0x02000001); | 1787 | nv_wr32(priv, 0x408904, 0x02000001); |
@@ -1820,6 +1828,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1820 | case 0xc3: | 1828 | case 0xc3: |
1821 | case 0xc4: | 1829 | case 0xc4: |
1822 | case 0xc1: | 1830 | case 0xc1: |
1831 | case 0xc8: | ||
1823 | default: | 1832 | default: |
1824 | nv_wr32(priv, 0x418408, 0x00000000); | 1833 | nv_wr32(priv, 0x418408, 0x00000000); |
1825 | break; | 1834 | break; |
@@ -1835,6 +1844,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1835 | case 0xc3: | 1844 | case 0xc3: |
1836 | case 0xc4: | 1845 | case 0xc4: |
1837 | case 0xc1: | 1846 | case 0xc1: |
1847 | case 0xc8: | ||
1838 | default: | 1848 | default: |
1839 | nv_wr32(priv, 0x418414, 0x00200fff); | 1849 | nv_wr32(priv, 0x418414, 0x00200fff); |
1840 | break; | 1850 | break; |
@@ -1862,6 +1872,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1862 | case 0xc3: | 1872 | case 0xc3: |
1863 | case 0xc4: | 1873 | case 0xc4: |
1864 | case 0xc1: | 1874 | case 0xc1: |
1875 | case 0xc8: | ||
1865 | default: | 1876 | default: |
1866 | nv_wr32(priv, 0x41870c, 0x07c80000); | 1877 | nv_wr32(priv, 0x41870c, 0x07c80000); |
1867 | break; | 1878 | break; |
@@ -1876,6 +1887,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1876 | case 0xc3: | 1887 | case 0xc3: |
1877 | case 0xc4: | 1888 | case 0xc4: |
1878 | case 0xc1: | 1889 | case 0xc1: |
1890 | case 0xc8: | ||
1879 | default: | 1891 | default: |
1880 | nv_wr32(priv, 0x418800, 0x0006860a); | 1892 | nv_wr32(priv, 0x418800, 0x0006860a); |
1881 | break; | 1893 | break; |
@@ -1893,6 +1905,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1893 | case 0xc0: | 1905 | case 0xc0: |
1894 | case 0xc3: | 1906 | case 0xc3: |
1895 | case 0xc4: | 1907 | case 0xc4: |
1908 | case 0xc8: | ||
1896 | default: | 1909 | default: |
1897 | nv_wr32(priv, 0x418830, 0x00000001); | 1910 | nv_wr32(priv, 0x418830, 0x00000001); |
1898 | break; | 1911 | break; |
@@ -1915,6 +1928,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1915 | case 0xc0: | 1928 | case 0xc0: |
1916 | case 0xc3: | 1929 | case 0xc3: |
1917 | case 0xc4: | 1930 | case 0xc4: |
1931 | case 0xc8: | ||
1918 | default: | 1932 | default: |
1919 | nv_wr32(priv, 0x4188fc, 0x00100000); | 1933 | nv_wr32(priv, 0x4188fc, 0x00100000); |
1920 | break; | 1934 | break; |
@@ -1941,6 +1955,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1941 | case 0xc3: | 1955 | case 0xc3: |
1942 | case 0xc4: | 1956 | case 0xc4: |
1943 | case 0xc1: | 1957 | case 0xc1: |
1958 | case 0xc8: | ||
1944 | default: | 1959 | default: |
1945 | nv_wr32(priv, 0x418b00, 0x00000000); | 1960 | nv_wr32(priv, 0x418b00, 0x00000000); |
1946 | break; | 1961 | break; |
@@ -1970,6 +1985,7 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1970 | case 0xc0: | 1985 | case 0xc0: |
1971 | case 0xc3: | 1986 | case 0xc3: |
1972 | case 0xc4: | 1987 | case 0xc4: |
1988 | case 0xc8: | ||
1973 | default: | 1989 | default: |
1974 | break; | 1990 | break; |
1975 | } | 1991 | } |
@@ -1997,6 +2013,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
1997 | case 0xc0: | 2013 | case 0xc0: |
1998 | case 0xc3: | 2014 | case 0xc3: |
1999 | case 0xc4: | 2015 | case 0xc4: |
2016 | case 0xc8: | ||
2000 | default: | 2017 | default: |
2001 | nv_wr32(priv, 0x419864, 0x0000012a); | 2018 | nv_wr32(priv, 0x419864, 0x0000012a); |
2002 | break; | 2019 | break; |
@@ -2014,6 +2031,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2014 | case 0xc3: | 2031 | case 0xc3: |
2015 | case 0xc4: | 2032 | case 0xc4: |
2016 | case 0xc1: | 2033 | case 0xc1: |
2034 | case 0xc8: | ||
2017 | default: | 2035 | default: |
2018 | nv_wr32(priv, 0x419a1c, 0x00000000); | 2036 | nv_wr32(priv, 0x419a1c, 0x00000000); |
2019 | nv_wr32(priv, 0x419a20, 0x00000800); | 2037 | nv_wr32(priv, 0x419a20, 0x00000800); |
@@ -2050,6 +2068,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2050 | case 0xc0: | 2068 | case 0xc0: |
2051 | case 0xc3: | 2069 | case 0xc3: |
2052 | case 0xc4: | 2070 | case 0xc4: |
2071 | case 0xc8: | ||
2053 | default: | 2072 | default: |
2054 | nv_wr32(priv, 0x419be0, 0x00000001); | 2073 | nv_wr32(priv, 0x419be0, 0x00000001); |
2055 | break; | 2074 | break; |
@@ -2064,6 +2083,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2064 | case 0xc3: | 2083 | case 0xc3: |
2065 | case 0xc4: | 2084 | case 0xc4: |
2066 | case 0xc1: | 2085 | case 0xc1: |
2086 | case 0xc8: | ||
2067 | default: | 2087 | default: |
2068 | nv_wr32(priv, 0x419c00, 0x00000002); | 2088 | nv_wr32(priv, 0x419c00, 0x00000002); |
2069 | break; | 2089 | break; |
@@ -2086,6 +2106,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2086 | nv_wr32(priv, 0x419cb0, 0x00020048); | 2106 | nv_wr32(priv, 0x419cb0, 0x00020048); |
2087 | break; | 2107 | break; |
2088 | case 0xc0: | 2108 | case 0xc0: |
2109 | case 0xc8: | ||
2089 | default: | 2110 | default: |
2090 | nv_wr32(priv, 0x419cb0, 0x00060048); | 2111 | nv_wr32(priv, 0x419cb0, 0x00060048); |
2091 | break; | 2112 | break; |
@@ -2101,6 +2122,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2101 | case 0xc0: | 2122 | case 0xc0: |
2102 | case 0xc3: | 2123 | case 0xc3: |
2103 | case 0xc4: | 2124 | case 0xc4: |
2125 | case 0xc8: | ||
2104 | default: | 2126 | default: |
2105 | nv_wr32(priv, 0x419d20, 0x02180000); | 2127 | nv_wr32(priv, 0x419d20, 0x02180000); |
2106 | break; | 2128 | break; |
@@ -2115,6 +2137,7 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2115 | case 0xc0: | 2137 | case 0xc0: |
2116 | case 0xc3: | 2138 | case 0xc3: |
2117 | case 0xc4: | 2139 | case 0xc4: |
2140 | case 0xc8: | ||
2118 | default: | 2141 | default: |
2119 | break; | 2142 | break; |
2120 | } | 2143 | } |
@@ -2506,6 +2529,7 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
2506 | case 0xc3: | 2529 | case 0xc3: |
2507 | case 0xc4: | 2530 | case 0xc4: |
2508 | case 0xc1: | 2531 | case 0xc1: |
2532 | case 0xc8: | ||
2509 | default: | 2533 | default: |
2510 | break; | 2534 | break; |
2511 | } | 2535 | } |
@@ -2527,6 +2551,7 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
2527 | case 0xc3: | 2551 | case 0xc3: |
2528 | case 0xc4: | 2552 | case 0xc4: |
2529 | case 0xc1: | 2553 | case 0xc1: |
2554 | case 0xc8: | ||
2530 | break; | 2555 | break; |
2531 | default: | 2556 | default: |
2532 | break; | 2557 | break; |
@@ -3095,6 +3120,7 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
3095 | nv_icmd(priv, 0x00000576, 0x00000003); | 3120 | nv_icmd(priv, 0x00000576, 0x00000003); |
3096 | switch (nv_device(priv)->chipset) { | 3121 | switch (nv_device(priv)->chipset) { |
3097 | case 0xc1: | 3122 | case 0xc1: |
3123 | case 0xc8: | ||
3098 | case 0xd9: | 3124 | case 0xd9: |
3099 | case 0xd7: | 3125 | case 0xd7: |
3100 | nv_icmd(priv, 0x0000057b, 0x00000059); | 3126 | nv_icmd(priv, 0x0000057b, 0x00000059); |
@@ -3208,6 +3234,7 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
3208 | switch (nv_device(priv)->chipset) { | 3234 | switch (nv_device(priv)->chipset) { |
3209 | case 0xd9: | 3235 | case 0xd9: |
3210 | case 0xd7: | 3236 | case 0xd7: |
3237 | case 0xc8: | ||
3211 | nv_icmd(priv, 0x0000097d, 0x00000020); | 3238 | nv_icmd(priv, 0x0000097d, 0x00000020); |
3212 | break; | 3239 | break; |
3213 | case 0xc0: | 3240 | case 0xc0: |
@@ -3364,6 +3391,7 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
3364 | case 0xc3: | 3391 | case 0xc3: |
3365 | case 0xc4: | 3392 | case 0xc4: |
3366 | case 0xc1: | 3393 | case 0xc1: |
3394 | case 0xc8: | ||
3367 | nv_mthd(priv, 0x902d, 0x3410, 0x00000000); | 3395 | nv_mthd(priv, 0x902d, 0x3410, 0x00000000); |
3368 | break; | 3396 | break; |
3369 | case 0xd9: | 3397 | case 0xd9: |
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc index c5dd2f68d41c..4539e33174b7 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc | |||
@@ -68,10 +68,10 @@ chipsets: | |||
68 | .b16 #nnvc3_tpc_mmio_head | 68 | .b16 #nnvc3_tpc_mmio_head |
69 | .b16 #nnvc3_tpc_mmio_tail | 69 | .b16 #nnvc3_tpc_mmio_tail |
70 | .b8 0xc8 0 0 0 | 70 | .b8 0xc8 0 0 0 |
71 | .b16 #nvc0_gpc_mmio_head | 71 | .b16 #nnvc0_gpc_mmio_head |
72 | .b16 #nvc0_gpc_mmio_tail | 72 | .b16 #nnvc0_gpc_mmio_tail |
73 | .b16 #nvc0_tpc_mmio_head | 73 | .b16 #nnvc0_tpc_mmio_head |
74 | .b16 #nvc0_tpc_mmio_tail | 74 | .b16 #nnvc0_tpc_mmio_tail |
75 | .b8 0xce 0 0 0 | 75 | .b8 0xce 0 0 0 |
76 | .b16 #nvc0_gpc_mmio_head | 76 | .b16 #nvc0_gpc_mmio_head |
77 | .b16 #nvc0_gpc_mmio_tail | 77 | .b16 #nvc0_gpc_mmio_tail |
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h index f3a560ce438e..bad9a16a9463 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h | |||
@@ -46,8 +46,8 @@ uint32_t nvc0_grgpc_data[] = { | |||
46 | 0x01940134, | 46 | 0x01940134, |
47 | 0x030402ac, | 47 | 0x030402ac, |
48 | 0x000000c8, | 48 | 0x000000c8, |
49 | 0x013400d4, | 49 | 0x01940134, |
50 | 0x02500200, | 50 | 0x02ac0260, |
51 | 0x000000ce, | 51 | 0x000000ce, |
52 | 0x013400d4, | 52 | 0x013400d4, |
53 | 0x02600200, | 53 | 0x02600200, |
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc index 92df038abc48..6eb5168a3811 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc | |||
@@ -60,8 +60,8 @@ chipsets: | |||
60 | .b16 #nnvc0_hub_mmio_head | 60 | .b16 #nnvc0_hub_mmio_head |
61 | .b16 #nnvc0_hub_mmio_tail | 61 | .b16 #nnvc0_hub_mmio_tail |
62 | .b8 0xc8 0 0 0 | 62 | .b8 0xc8 0 0 0 |
63 | .b16 #nvc0_hub_mmio_head | 63 | .b16 #nnvc0_hub_mmio_head |
64 | .b16 #nvc0_hub_mmio_tail | 64 | .b16 #nnvc0_hub_mmio_tail |
65 | .b8 0xce 0 0 0 | 65 | .b8 0xce 0 0 0 |
66 | .b16 #nvc0_hub_mmio_head | 66 | .b16 #nvc0_hub_mmio_head |
67 | .b16 #nvc0_hub_mmio_tail | 67 | .b16 #nvc0_hub_mmio_tail |
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h index bf4f4b32e25b..9d5517407dfb 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h | |||
@@ -211,7 +211,7 @@ uint32_t nvc0_grhub_data[] = { | |||
211 | 0x000000c4, | 211 | 0x000000c4, |
212 | 0x048403e8, | 212 | 0x048403e8, |
213 | 0x000000c8, | 213 | 0x000000c8, |
214 | 0x03e8034c, | 214 | 0x048403e8, |
215 | 0x000000ce, | 215 | 0x000000ce, |
216 | 0x03e8034c, | 216 | 0x03e8034c, |
217 | 0x000000cf, | 217 | 0x000000cf, |
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c b/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c index 664747d62906..f146ebc9c08d 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c +++ b/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c | |||
@@ -756,6 +756,7 @@ nvc0_graph_init_unk64xx(struct nvc0_graph_priv *priv) | |||
756 | case 0xc3: | 756 | case 0xc3: |
757 | case 0xc4: | 757 | case 0xc4: |
758 | case 0xc1: | 758 | case 0xc1: |
759 | case 0xc8: | ||
759 | default: | 760 | default: |
760 | break; | 761 | break; |
761 | } | 762 | } |
@@ -775,6 +776,7 @@ nvc0_graph_init_unk58xx(struct nvc0_graph_priv *priv) | |||
775 | nv_wr32(priv, 0x405900, 0x00002834); | 776 | nv_wr32(priv, 0x405900, 0x00002834); |
776 | break; | 777 | break; |
777 | case 0xc0: | 778 | case 0xc0: |
779 | case 0xc8: | ||
778 | default: | 780 | default: |
779 | break; | 781 | break; |
780 | } | 782 | } |
@@ -789,6 +791,7 @@ nvc0_graph_init_unk58xx(struct nvc0_graph_priv *priv) | |||
789 | case 0xc3: | 791 | case 0xc3: |
790 | case 0xc4: | 792 | case 0xc4: |
791 | case 0xc1: | 793 | case 0xc1: |
794 | case 0xc8: | ||
792 | default: | 795 | default: |
793 | break; | 796 | break; |
794 | } | 797 | } |
@@ -812,6 +815,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
812 | case 0xc3: | 815 | case 0xc3: |
813 | case 0xc4: | 816 | case 0xc4: |
814 | case 0xc1: | 817 | case 0xc1: |
818 | case 0xc8: | ||
815 | default: | 819 | default: |
816 | break; | 820 | break; |
817 | } | 821 | } |
@@ -826,6 +830,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
826 | case 0xc3: | 830 | case 0xc3: |
827 | case 0xc4: | 831 | case 0xc4: |
828 | case 0xc1: | 832 | case 0xc1: |
833 | case 0xc8: | ||
829 | default: | 834 | default: |
830 | break; | 835 | break; |
831 | } | 836 | } |
@@ -840,6 +845,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
840 | case 0xc0: | 845 | case 0xc0: |
841 | case 0xc3: | 846 | case 0xc3: |
842 | case 0xc4: | 847 | case 0xc4: |
848 | case 0xc8: | ||
843 | default: | 849 | default: |
844 | nv_wr32(priv, 0x418714, 0x80000000); | 850 | nv_wr32(priv, 0x418714, 0x80000000); |
845 | break; | 851 | break; |
@@ -853,6 +859,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
853 | case 0xd9: | 859 | case 0xd9: |
854 | case 0xd7: | 860 | case 0xd7: |
855 | case 0xc1: | 861 | case 0xc1: |
862 | case 0xc8: | ||
856 | nv_wr32(priv, 0x4188c8, 0x00000000); | 863 | nv_wr32(priv, 0x4188c8, 0x00000000); |
857 | break; | 864 | break; |
858 | case 0xc0: | 865 | case 0xc0: |
@@ -883,6 +890,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
883 | case 0xc3: | 890 | case 0xc3: |
884 | case 0xc4: | 891 | case 0xc4: |
885 | case 0xc1: | 892 | case 0xc1: |
893 | case 0xc8: | ||
886 | default: | 894 | default: |
887 | break; | 895 | break; |
888 | } | 896 | } |
@@ -897,6 +905,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
897 | case 0xc3: | 905 | case 0xc3: |
898 | case 0xc4: | 906 | case 0xc4: |
899 | case 0xc1: | 907 | case 0xc1: |
908 | case 0xc8: | ||
900 | default: | 909 | default: |
901 | break; | 910 | break; |
902 | } | 911 | } |
@@ -912,6 +921,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
912 | case 0xc3: | 921 | case 0xc3: |
913 | case 0xc4: | 922 | case 0xc4: |
914 | case 0xc1: | 923 | case 0xc1: |
924 | case 0xc8: | ||
915 | default: | 925 | default: |
916 | break; | 926 | break; |
917 | } | 927 | } |
@@ -928,6 +938,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
928 | case 0xc0: | 938 | case 0xc0: |
929 | case 0xc3: | 939 | case 0xc3: |
930 | case 0xc4: | 940 | case 0xc4: |
941 | case 0xc8: | ||
931 | default: | 942 | default: |
932 | nv_wr32(priv, 0x418e00, 0x00000050); | 943 | nv_wr32(priv, 0x418e00, 0x00000050); |
933 | break; | 944 | break; |
@@ -943,6 +954,7 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
943 | case 0xc3: | 954 | case 0xc3: |
944 | case 0xc4: | 955 | case 0xc4: |
945 | case 0xc1: | 956 | case 0xc1: |
957 | case 0xc8: | ||
946 | default: | 958 | default: |
947 | break; | 959 | break; |
948 | } | 960 | } |
@@ -966,6 +978,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
966 | nv_wr32(priv, 0x419ac8, 0x00000000); | 978 | nv_wr32(priv, 0x419ac8, 0x00000000); |
967 | break; | 979 | break; |
968 | case 0xc0: | 980 | case 0xc0: |
981 | case 0xc8: | ||
969 | default: | 982 | default: |
970 | break; | 983 | break; |
971 | } | 984 | } |
@@ -982,6 +995,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
982 | case 0xc3: | 995 | case 0xc3: |
983 | case 0xc4: | 996 | case 0xc4: |
984 | case 0xc1: | 997 | case 0xc1: |
998 | case 0xc8: | ||
985 | default: | 999 | default: |
986 | nv_wr32(priv, 0x41980c, 0x00000000); | 1000 | nv_wr32(priv, 0x41980c, 0x00000000); |
987 | break; | 1001 | break; |
@@ -996,6 +1010,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
996 | case 0xc0: | 1010 | case 0xc0: |
997 | case 0xc3: | 1011 | case 0xc3: |
998 | case 0xc4: | 1012 | case 0xc4: |
1013 | case 0xc8: | ||
999 | default: | 1014 | default: |
1000 | nv_wr32(priv, 0x419814, 0x00000000); | 1015 | nv_wr32(priv, 0x419814, 0x00000000); |
1001 | break; | 1016 | break; |
@@ -1010,6 +1025,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1010 | case 0xc3: | 1025 | case 0xc3: |
1011 | case 0xc4: | 1026 | case 0xc4: |
1012 | case 0xc1: | 1027 | case 0xc1: |
1028 | case 0xc8: | ||
1013 | default: | 1029 | default: |
1014 | nv_wr32(priv, 0x41984c, 0x00005bc5); | 1030 | nv_wr32(priv, 0x41984c, 0x00005bc5); |
1015 | break; | 1031 | break; |
@@ -1027,6 +1043,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1027 | nv_wr32(priv, 0x419880, 0x00000002); | 1043 | nv_wr32(priv, 0x419880, 0x00000002); |
1028 | break; | 1044 | break; |
1029 | case 0xc0: | 1045 | case 0xc0: |
1046 | case 0xc8: | ||
1030 | default: | 1047 | default: |
1031 | break; | 1048 | break; |
1032 | } | 1049 | } |
@@ -1049,6 +1066,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1049 | case 0xc3: | 1066 | case 0xc3: |
1050 | case 0xc4: | 1067 | case 0xc4: |
1051 | case 0xc1: | 1068 | case 0xc1: |
1069 | case 0xc8: | ||
1052 | default: | 1070 | default: |
1053 | break; | 1071 | break; |
1054 | } | 1072 | } |
@@ -1063,6 +1081,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1063 | case 0xc3: | 1081 | case 0xc3: |
1064 | case 0xc4: | 1082 | case 0xc4: |
1065 | case 0xc1: | 1083 | case 0xc1: |
1084 | case 0xc8: | ||
1066 | default: | 1085 | default: |
1067 | break; | 1086 | break; |
1068 | } | 1087 | } |
@@ -1079,11 +1098,26 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1079 | case 0xc3: | 1098 | case 0xc3: |
1080 | case 0xc4: | 1099 | case 0xc4: |
1081 | case 0xc1: | 1100 | case 0xc1: |
1101 | case 0xc8: | ||
1082 | default: | 1102 | default: |
1083 | nv_wr32(priv, 0x419ea8, 0x00001100); | 1103 | nv_wr32(priv, 0x419ea8, 0x00001100); |
1084 | break; | 1104 | break; |
1085 | } | 1105 | } |
1086 | nv_wr32(priv, 0x419eac, 0x11100702); | 1106 | |
1107 | switch (nv_device(priv)->chipset) { | ||
1108 | case 0xc8: | ||
1109 | nv_wr32(priv, 0x419eac, 0x11100f02); | ||
1110 | break; | ||
1111 | case 0xc0: | ||
1112 | case 0xc3: | ||
1113 | case 0xc4: | ||
1114 | case 0xc1: | ||
1115 | case 0xd9: | ||
1116 | case 0xd7: | ||
1117 | default: | ||
1118 | nv_wr32(priv, 0x419eac, 0x11100702); | ||
1119 | break; | ||
1120 | } | ||
1087 | nv_wr32(priv, 0x419eb0, 0x00000003); | 1121 | nv_wr32(priv, 0x419eb0, 0x00000003); |
1088 | nv_wr32(priv, 0x419eb4, 0x00000000); | 1122 | nv_wr32(priv, 0x419eb4, 0x00000000); |
1089 | nv_wr32(priv, 0x419eb8, 0x00000000); | 1123 | nv_wr32(priv, 0x419eb8, 0x00000000); |
@@ -1100,6 +1134,7 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1100 | nv_wr32(priv, 0x419ed0, 0x00003818); | 1134 | nv_wr32(priv, 0x419ed0, 0x00003818); |
1101 | break; | 1135 | break; |
1102 | case 0xc0: | 1136 | case 0xc0: |
1137 | case 0xc8: | ||
1103 | default: | 1138 | default: |
1104 | nv_wr32(priv, 0x419ec8, 0x06060618); | 1139 | nv_wr32(priv, 0x419ec8, 0x06060618); |
1105 | nv_wr32(priv, 0x419ed0, 0x0eff0e38); | 1140 | nv_wr32(priv, 0x419ed0, 0x0eff0e38); |
@@ -1378,6 +1413,7 @@ nvc0_graph_init(struct nouveau_object *object) | |||
1378 | case 0xc3: | 1413 | case 0xc3: |
1379 | case 0xc4: | 1414 | case 0xc4: |
1380 | case 0xc1: | 1415 | case 0xc1: |
1416 | case 0xc8: | ||
1381 | case 0xd9: | 1417 | case 0xd9: |
1382 | case 0xd7: | 1418 | case 0xd7: |
1383 | nvc0_graph_init_unk40xx(priv); | 1419 | nvc0_graph_init_unk40xx(priv); |