diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2013-05-13 23:09:28 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-06-30 23:50:41 -0400 |
commit | 57f0ec159b77df764a6948f8a612b0b825cd8350 (patch) | |
tree | 63fadeaf38daafb1559d2471c3f9f2102cdb7e5d | |
parent | eb12f57be6f457d317562fda251214d1851134fc (diff) |
drm/nvc0/gr: cleanup register lists, and add nvce/nvcf to switches
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c | 205 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc | 197 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h | 180 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc | 111 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h | 111 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c | 140 |
6 files changed, 344 insertions, 600 deletions
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c b/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c index e0305bd8eedb..3be7b950eece 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c +++ b/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c | |||
@@ -1323,21 +1323,6 @@ nvc0_grctx_generate_9097(struct nvc0_graph_priv *priv) | |||
1323 | nv_mthd(priv, 0x9097, 0x1450, 0x00300008); | 1323 | nv_mthd(priv, 0x9097, 0x1450, 0x00300008); |
1324 | nv_mthd(priv, 0x9097, 0x1454, 0x04000080); | 1324 | nv_mthd(priv, 0x9097, 0x1454, 0x04000080); |
1325 | nv_mthd(priv, 0x9097, 0x0214, 0x00000000); | 1325 | nv_mthd(priv, 0x9097, 0x0214, 0x00000000); |
1326 | |||
1327 | switch (nv_device(priv)->chipset) { | ||
1328 | case 0xc0: | ||
1329 | case 0xc3: | ||
1330 | case 0xc4: | ||
1331 | case 0xc1: | ||
1332 | case 0xc8: | ||
1333 | case 0xd9: | ||
1334 | case 0xd7: | ||
1335 | break; | ||
1336 | default: | ||
1337 | /* in trace, right after 0x90c0, not here */ | ||
1338 | nv_mthd(priv, 0x9097, 0x3410, 0x80002006); | ||
1339 | break; | ||
1340 | } | ||
1341 | } | 1326 | } |
1342 | 1327 | ||
1343 | static void | 1328 | static void |
@@ -1481,7 +1466,11 @@ nvc0_grctx_generate_dispatch(struct nvc0_graph_priv *priv) | |||
1481 | case 0xc4: | 1466 | case 0xc4: |
1482 | case 0xc1: | 1467 | case 0xc1: |
1483 | case 0xc8: | 1468 | case 0xc8: |
1469 | case 0xce: | ||
1470 | case 0xcf: | ||
1471 | break; | ||
1484 | default: | 1472 | default: |
1473 | BUG_ON(1); | ||
1485 | break; | 1474 | break; |
1486 | } | 1475 | } |
1487 | nv_wr32(priv, 0x404044, 0x00000000); | 1476 | nv_wr32(priv, 0x404044, 0x00000000); |
@@ -1499,19 +1488,7 @@ nvc0_grctx_generate_dispatch(struct nvc0_graph_priv *priv) | |||
1499 | nv_wr32(priv, 0x4040c0, 0x00000000); | 1488 | nv_wr32(priv, 0x4040c0, 0x00000000); |
1500 | nv_wr32(priv, 0x4040c4, 0x00000000); | 1489 | nv_wr32(priv, 0x4040c4, 0x00000000); |
1501 | nv_wr32(priv, 0x4040c8, 0xf0000087); | 1490 | nv_wr32(priv, 0x4040c8, 0xf0000087); |
1502 | switch (nv_device(priv)->chipset) { | 1491 | nv_wr32(priv, 0x4040d0, 0x00000000); |
1503 | case 0xc0: | ||
1504 | case 0xc3: | ||
1505 | case 0xc4: | ||
1506 | case 0xc1: | ||
1507 | case 0xc8: | ||
1508 | case 0xd9: | ||
1509 | case 0xd7: | ||
1510 | nv_wr32(priv, 0x4040d0, 0x00000000); | ||
1511 | break; | ||
1512 | default: | ||
1513 | break; | ||
1514 | } | ||
1515 | nv_wr32(priv, 0x4040d4, 0x00000000); | 1492 | nv_wr32(priv, 0x4040d4, 0x00000000); |
1516 | nv_wr32(priv, 0x4040d8, 0x00000000); | 1493 | nv_wr32(priv, 0x4040d8, 0x00000000); |
1517 | nv_wr32(priv, 0x4040dc, 0x00000000); | 1494 | nv_wr32(priv, 0x4040dc, 0x00000000); |
@@ -1536,9 +1513,13 @@ nvc0_grctx_generate_dispatch(struct nvc0_graph_priv *priv) | |||
1536 | case 0xc4: | 1513 | case 0xc4: |
1537 | case 0xc1: | 1514 | case 0xc1: |
1538 | case 0xc8: | 1515 | case 0xc8: |
1539 | default: | 1516 | case 0xce: |
1517 | case 0xcf: | ||
1540 | nv_wr32(priv, 0x404174, 0x00000000); | 1518 | nv_wr32(priv, 0x404174, 0x00000000); |
1541 | break; | 1519 | break; |
1520 | default: | ||
1521 | BUG_ON(1); | ||
1522 | break; | ||
1542 | } | 1523 | } |
1543 | nv_wr32(priv, 0x404178, 0x00000000); | 1524 | nv_wr32(priv, 0x404178, 0x00000000); |
1544 | nv_wr32(priv, 0x40417c, 0x00000000); | 1525 | nv_wr32(priv, 0x40417c, 0x00000000); |
@@ -1681,11 +1662,15 @@ nvc0_grctx_generate_shaders(struct nvc0_graph_priv *priv) | |||
1681 | case 0xc3: | 1662 | case 0xc3: |
1682 | case 0xc4: | 1663 | case 0xc4: |
1683 | case 0xc8: | 1664 | case 0xc8: |
1684 | default: | 1665 | case 0xce: |
1666 | case 0xcf: | ||
1685 | nv_wr32(priv, 0x405800, 0x078000bf); | 1667 | nv_wr32(priv, 0x405800, 0x078000bf); |
1686 | nv_wr32(priv, 0x405830, 0x02180000); | 1668 | nv_wr32(priv, 0x405830, 0x02180000); |
1687 | nv_wr32(priv, 0x405834, 0x00000000); | 1669 | nv_wr32(priv, 0x405834, 0x00000000); |
1688 | break; | 1670 | break; |
1671 | default: | ||
1672 | BUG_ON(1); | ||
1673 | break; | ||
1689 | } | 1674 | } |
1690 | nv_wr32(priv, 0x405838, 0x00000000); | 1675 | nv_wr32(priv, 0x405838, 0x00000000); |
1691 | nv_wr32(priv, 0x405854, 0x00000000); | 1676 | nv_wr32(priv, 0x405854, 0x00000000); |
@@ -1720,27 +1705,19 @@ nvc0_grctx_generate_unk64xx(struct nvc0_graph_priv *priv) | |||
1720 | case 0xd9: | 1705 | case 0xd9: |
1721 | case 0xd7: | 1706 | case 0xd7: |
1722 | nv_wr32(priv, 0x4064bc, 0x00000000); | 1707 | nv_wr32(priv, 0x4064bc, 0x00000000); |
1723 | break; | ||
1724 | case 0xc0: | ||
1725 | case 0xc3: | ||
1726 | case 0xc4: | ||
1727 | case 0xc1: | ||
1728 | case 0xc8: | ||
1729 | default: | ||
1730 | break; | ||
1731 | } | ||
1732 | switch (nv_device(priv)->chipset) { | ||
1733 | case 0xc1: | ||
1734 | case 0xd9: | ||
1735 | case 0xd7: | ||
1736 | nv_wr32(priv, 0x4064c0, 0x80140078); | 1708 | nv_wr32(priv, 0x4064c0, 0x80140078); |
1737 | nv_wr32(priv, 0x4064c4, 0x0086ffff); | 1709 | nv_wr32(priv, 0x4064c4, 0x0086ffff); |
1738 | break; | 1710 | break; |
1739 | case 0xc0: | 1711 | case 0xc0: |
1740 | case 0xc3: | 1712 | case 0xc3: |
1741 | case 0xc4: | 1713 | case 0xc4: |
1714 | case 0xc1: | ||
1742 | case 0xc8: | 1715 | case 0xc8: |
1716 | case 0xce: | ||
1717 | case 0xcf: | ||
1718 | break; | ||
1743 | default: | 1719 | default: |
1720 | BUG_ON(1); | ||
1744 | break; | 1721 | break; |
1745 | } | 1722 | } |
1746 | } | 1723 | } |
@@ -1782,6 +1759,8 @@ nvc0_grctx_generate_rop(struct nvc0_graph_priv *priv) | |||
1782 | case 0xc3: | 1759 | case 0xc3: |
1783 | case 0xc4: | 1760 | case 0xc4: |
1784 | case 0xc8: | 1761 | case 0xc8: |
1762 | case 0xce: | ||
1763 | case 0xcf: | ||
1785 | nv_wr32(priv, 0x408808, 0x0003e00d); | 1764 | nv_wr32(priv, 0x408808, 0x0003e00d); |
1786 | nv_wr32(priv, 0x408900, 0x3080b801); | 1765 | nv_wr32(priv, 0x408900, 0x3080b801); |
1787 | nv_wr32(priv, 0x408904, 0x02000001); | 1766 | nv_wr32(priv, 0x408904, 0x02000001); |
@@ -1801,11 +1780,7 @@ nvc0_grctx_generate_rop(struct nvc0_graph_priv *priv) | |||
1801 | nv_wr32(priv, 0x408908, 0x00c8102f); | 1780 | nv_wr32(priv, 0x408908, 0x00c8102f); |
1802 | break; | 1781 | break; |
1803 | default: | 1782 | default: |
1804 | nv_wr32(priv, 0x408808, 0x0003e00d); | 1783 | BUG_ON(1); |
1805 | nv_wr32(priv, 0x408900, 0x3080b801); | ||
1806 | nv_wr32(priv, 0x408904, 0x02000001); | ||
1807 | nv_wr32(priv, 0x408908, 0x00c80929); | ||
1808 | nv_wr32(priv, 0x40890c, 0x00000000); | ||
1809 | break; | 1784 | break; |
1810 | } | 1785 | } |
1811 | nv_wr32(priv, 0x408980, 0x0000011d); | 1786 | nv_wr32(priv, 0x408980, 0x0000011d); |
@@ -1829,9 +1804,13 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1829 | case 0xc4: | 1804 | case 0xc4: |
1830 | case 0xc1: | 1805 | case 0xc1: |
1831 | case 0xc8: | 1806 | case 0xc8: |
1832 | default: | 1807 | case 0xce: |
1808 | case 0xcf: | ||
1833 | nv_wr32(priv, 0x418408, 0x00000000); | 1809 | nv_wr32(priv, 0x418408, 0x00000000); |
1834 | break; | 1810 | break; |
1811 | default: | ||
1812 | BUG_ON(1); | ||
1813 | break; | ||
1835 | } | 1814 | } |
1836 | nv_wr32(priv, 0x41840c, 0x00001008); | 1815 | nv_wr32(priv, 0x41840c, 0x00001008); |
1837 | nv_wr32(priv, 0x418410, 0x0fff0fff); | 1816 | nv_wr32(priv, 0x418410, 0x0fff0fff); |
@@ -1845,9 +1824,13 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1845 | case 0xc4: | 1824 | case 0xc4: |
1846 | case 0xc1: | 1825 | case 0xc1: |
1847 | case 0xc8: | 1826 | case 0xc8: |
1848 | default: | 1827 | case 0xce: |
1828 | case 0xcf: | ||
1849 | nv_wr32(priv, 0x418414, 0x00200fff); | 1829 | nv_wr32(priv, 0x418414, 0x00200fff); |
1850 | break; | 1830 | break; |
1831 | default: | ||
1832 | BUG_ON(1); | ||
1833 | break; | ||
1851 | } | 1834 | } |
1852 | nv_wr32(priv, 0x418450, 0x00000000); | 1835 | nv_wr32(priv, 0x418450, 0x00000000); |
1853 | nv_wr32(priv, 0x418454, 0x00000000); | 1836 | nv_wr32(priv, 0x418454, 0x00000000); |
@@ -1873,9 +1856,13 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1873 | case 0xc4: | 1856 | case 0xc4: |
1874 | case 0xc1: | 1857 | case 0xc1: |
1875 | case 0xc8: | 1858 | case 0xc8: |
1876 | default: | 1859 | case 0xce: |
1860 | case 0xcf: | ||
1877 | nv_wr32(priv, 0x41870c, 0x07c80000); | 1861 | nv_wr32(priv, 0x41870c, 0x07c80000); |
1878 | break; | 1862 | break; |
1863 | default: | ||
1864 | BUG_ON(1); | ||
1865 | break; | ||
1879 | } | 1866 | } |
1880 | nv_wr32(priv, 0x418710, 0x00000000); | 1867 | nv_wr32(priv, 0x418710, 0x00000000); |
1881 | switch (nv_device(priv)->chipset) { | 1868 | switch (nv_device(priv)->chipset) { |
@@ -1888,9 +1875,13 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1888 | case 0xc4: | 1875 | case 0xc4: |
1889 | case 0xc1: | 1876 | case 0xc1: |
1890 | case 0xc8: | 1877 | case 0xc8: |
1891 | default: | 1878 | case 0xce: |
1879 | case 0xcf: | ||
1892 | nv_wr32(priv, 0x418800, 0x0006860a); | 1880 | nv_wr32(priv, 0x418800, 0x0006860a); |
1893 | break; | 1881 | break; |
1882 | default: | ||
1883 | BUG_ON(1); | ||
1884 | break; | ||
1894 | } | 1885 | } |
1895 | nv_wr32(priv, 0x418808, 0x00000000); | 1886 | nv_wr32(priv, 0x418808, 0x00000000); |
1896 | nv_wr32(priv, 0x41880c, 0x00000000); | 1887 | nv_wr32(priv, 0x41880c, 0x00000000); |
@@ -1906,9 +1897,13 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1906 | case 0xc3: | 1897 | case 0xc3: |
1907 | case 0xc4: | 1898 | case 0xc4: |
1908 | case 0xc8: | 1899 | case 0xc8: |
1909 | default: | 1900 | case 0xce: |
1901 | case 0xcf: | ||
1910 | nv_wr32(priv, 0x418830, 0x00000001); | 1902 | nv_wr32(priv, 0x418830, 0x00000001); |
1911 | break; | 1903 | break; |
1904 | default: | ||
1905 | BUG_ON(1); | ||
1906 | break; | ||
1912 | } | 1907 | } |
1913 | nv_wr32(priv, 0x4188d8, 0x00000008); | 1908 | nv_wr32(priv, 0x4188d8, 0x00000008); |
1914 | nv_wr32(priv, 0x4188e0, 0x01000000); | 1909 | nv_wr32(priv, 0x4188e0, 0x01000000); |
@@ -1929,9 +1924,13 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1929 | case 0xc3: | 1924 | case 0xc3: |
1930 | case 0xc4: | 1925 | case 0xc4: |
1931 | case 0xc8: | 1926 | case 0xc8: |
1932 | default: | 1927 | case 0xce: |
1928 | case 0xcf: | ||
1933 | nv_wr32(priv, 0x4188fc, 0x00100000); | 1929 | nv_wr32(priv, 0x4188fc, 0x00100000); |
1934 | break; | 1930 | break; |
1931 | default: | ||
1932 | BUG_ON(1); | ||
1933 | break; | ||
1935 | } | 1934 | } |
1936 | nv_wr32(priv, 0x41891c, 0x00ff00ff); | 1935 | nv_wr32(priv, 0x41891c, 0x00ff00ff); |
1937 | nv_wr32(priv, 0x418924, 0x00000000); | 1936 | nv_wr32(priv, 0x418924, 0x00000000); |
@@ -1956,9 +1955,13 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1956 | case 0xc4: | 1955 | case 0xc4: |
1957 | case 0xc1: | 1956 | case 0xc1: |
1958 | case 0xc8: | 1957 | case 0xc8: |
1959 | default: | 1958 | case 0xce: |
1959 | case 0xcf: | ||
1960 | nv_wr32(priv, 0x418b00, 0x00000000); | 1960 | nv_wr32(priv, 0x418b00, 0x00000000); |
1961 | break; | 1961 | break; |
1962 | default: | ||
1963 | BUG_ON(1); | ||
1964 | break; | ||
1962 | } | 1965 | } |
1963 | nv_wr32(priv, 0x418b08, 0x0a418820); | 1966 | nv_wr32(priv, 0x418b08, 0x0a418820); |
1964 | nv_wr32(priv, 0x418b0c, 0x062080e6); | 1967 | nv_wr32(priv, 0x418b0c, 0x062080e6); |
@@ -1986,7 +1989,11 @@ nvc0_grctx_generate_gpc(struct nvc0_graph_priv *priv) | |||
1986 | case 0xc3: | 1989 | case 0xc3: |
1987 | case 0xc4: | 1990 | case 0xc4: |
1988 | case 0xc8: | 1991 | case 0xc8: |
1992 | case 0xce: | ||
1993 | case 0xcf: | ||
1994 | break; | ||
1989 | default: | 1995 | default: |
1996 | BUG_ON(1); | ||
1990 | break; | 1997 | break; |
1991 | } | 1998 | } |
1992 | nv_wr32(priv, 0x418c80, 0x20200004); | 1999 | nv_wr32(priv, 0x418c80, 0x20200004); |
@@ -2014,9 +2021,13 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2014 | case 0xc3: | 2021 | case 0xc3: |
2015 | case 0xc4: | 2022 | case 0xc4: |
2016 | case 0xc8: | 2023 | case 0xc8: |
2017 | default: | 2024 | case 0xce: |
2025 | case 0xcf: | ||
2018 | nv_wr32(priv, 0x419864, 0x0000012a); | 2026 | nv_wr32(priv, 0x419864, 0x0000012a); |
2019 | break; | 2027 | break; |
2028 | default: | ||
2029 | BUG_ON(1); | ||
2030 | break; | ||
2020 | } | 2031 | } |
2021 | nv_wr32(priv, 0x419888, 0x00000000); | 2032 | nv_wr32(priv, 0x419888, 0x00000000); |
2022 | nv_wr32(priv, 0x419a00, 0x000001f0); | 2033 | nv_wr32(priv, 0x419a00, 0x000001f0); |
@@ -2032,10 +2043,16 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2032 | case 0xc4: | 2043 | case 0xc4: |
2033 | case 0xc1: | 2044 | case 0xc1: |
2034 | case 0xc8: | 2045 | case 0xc8: |
2035 | default: | 2046 | case 0xce: |
2047 | case 0xcf: | ||
2048 | case 0xd9: | ||
2049 | case 0xd7: | ||
2036 | nv_wr32(priv, 0x419a1c, 0x00000000); | 2050 | nv_wr32(priv, 0x419a1c, 0x00000000); |
2037 | nv_wr32(priv, 0x419a20, 0x00000800); | 2051 | nv_wr32(priv, 0x419a20, 0x00000800); |
2038 | break; | 2052 | break; |
2053 | default: | ||
2054 | BUG_ON(1); | ||
2055 | break; | ||
2039 | } | 2056 | } |
2040 | switch (nv_device(priv)->chipset) { | 2057 | switch (nv_device(priv)->chipset) { |
2041 | case 0xc0: | 2058 | case 0xc0: |
@@ -2048,9 +2065,13 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2048 | case 0xc3: | 2065 | case 0xc3: |
2049 | case 0xc4: | 2066 | case 0xc4: |
2050 | case 0xc1: | 2067 | case 0xc1: |
2051 | default: | 2068 | case 0xce: |
2069 | case 0xcf: | ||
2052 | nv_wr32(priv, 0x00419ac4, 0x0007f440); | 2070 | nv_wr32(priv, 0x00419ac4, 0x0007f440); |
2053 | break; | 2071 | break; |
2072 | default: | ||
2073 | BUG_ON(1); | ||
2074 | break; | ||
2054 | } | 2075 | } |
2055 | nv_wr32(priv, 0x419b00, 0x0a418820); | 2076 | nv_wr32(priv, 0x419b00, 0x0a418820); |
2056 | nv_wr32(priv, 0x419b04, 0x062080e6); | 2077 | nv_wr32(priv, 0x419b04, 0x062080e6); |
@@ -2069,9 +2090,13 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2069 | case 0xc3: | 2090 | case 0xc3: |
2070 | case 0xc4: | 2091 | case 0xc4: |
2071 | case 0xc8: | 2092 | case 0xc8: |
2072 | default: | 2093 | case 0xce: |
2094 | case 0xcf: | ||
2073 | nv_wr32(priv, 0x419be0, 0x00000001); | 2095 | nv_wr32(priv, 0x419be0, 0x00000001); |
2074 | break; | 2096 | break; |
2097 | default: | ||
2098 | BUG_ON(1); | ||
2099 | break; | ||
2075 | } | 2100 | } |
2076 | nv_wr32(priv, 0x419be4, 0x00000000); | 2101 | nv_wr32(priv, 0x419be4, 0x00000000); |
2077 | switch (nv_device(priv)->chipset) { | 2102 | switch (nv_device(priv)->chipset) { |
@@ -2084,9 +2109,13 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2084 | case 0xc4: | 2109 | case 0xc4: |
2085 | case 0xc1: | 2110 | case 0xc1: |
2086 | case 0xc8: | 2111 | case 0xc8: |
2087 | default: | 2112 | case 0xce: |
2113 | case 0xcf: | ||
2088 | nv_wr32(priv, 0x419c00, 0x00000002); | 2114 | nv_wr32(priv, 0x419c00, 0x00000002); |
2089 | break; | 2115 | break; |
2116 | default: | ||
2117 | BUG_ON(1); | ||
2118 | break; | ||
2090 | } | 2119 | } |
2091 | nv_wr32(priv, 0x419c04, 0x00000006); | 2120 | nv_wr32(priv, 0x419c04, 0x00000006); |
2092 | nv_wr32(priv, 0x419c08, 0x00000002); | 2121 | nv_wr32(priv, 0x419c08, 0x00000002); |
@@ -2107,9 +2136,11 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2107 | break; | 2136 | break; |
2108 | case 0xc0: | 2137 | case 0xc0: |
2109 | case 0xc8: | 2138 | case 0xc8: |
2110 | default: | ||
2111 | nv_wr32(priv, 0x419cb0, 0x00060048); | 2139 | nv_wr32(priv, 0x419cb0, 0x00060048); |
2112 | break; | 2140 | break; |
2141 | default: | ||
2142 | BUG_ON(1); | ||
2143 | break; | ||
2113 | } | 2144 | } |
2114 | nv_wr32(priv, 0x419ce8, 0x00000000); | 2145 | nv_wr32(priv, 0x419ce8, 0x00000000); |
2115 | nv_wr32(priv, 0x419cf4, 0x00000183); | 2146 | nv_wr32(priv, 0x419cf4, 0x00000183); |
@@ -2123,9 +2154,13 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2123 | case 0xc3: | 2154 | case 0xc3: |
2124 | case 0xc4: | 2155 | case 0xc4: |
2125 | case 0xc8: | 2156 | case 0xc8: |
2126 | default: | 2157 | case 0xce: |
2158 | case 0xcf: | ||
2127 | nv_wr32(priv, 0x419d20, 0x02180000); | 2159 | nv_wr32(priv, 0x419d20, 0x02180000); |
2128 | break; | 2160 | break; |
2161 | default: | ||
2162 | BUG_ON(1); | ||
2163 | break; | ||
2129 | } | 2164 | } |
2130 | nv_wr32(priv, 0x419d24, 0x00001fff); | 2165 | nv_wr32(priv, 0x419d24, 0x00001fff); |
2131 | switch (nv_device(priv)->chipset) { | 2166 | switch (nv_device(priv)->chipset) { |
@@ -2138,7 +2173,11 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2138 | case 0xc3: | 2173 | case 0xc3: |
2139 | case 0xc4: | 2174 | case 0xc4: |
2140 | case 0xc8: | 2175 | case 0xc8: |
2176 | case 0xce: | ||
2177 | case 0xcf: | ||
2178 | break; | ||
2141 | default: | 2179 | default: |
2180 | BUG_ON(1); | ||
2142 | break; | 2181 | break; |
2143 | } | 2182 | } |
2144 | nv_wr32(priv, 0x419e04, 0x00000000); | 2183 | nv_wr32(priv, 0x419e04, 0x00000000); |
@@ -2177,9 +2216,13 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2177 | case 0xc3: | 2216 | case 0xc3: |
2178 | case 0xc4: | 2217 | case 0xc4: |
2179 | case 0xc1: | 2218 | case 0xc1: |
2180 | default: | 2219 | case 0xce: |
2220 | case 0xcf: | ||
2181 | nv_wr32(priv, 0x419ee0, 0x00011110); | 2221 | nv_wr32(priv, 0x419ee0, 0x00011110); |
2182 | break; | 2222 | break; |
2223 | default: | ||
2224 | BUG_ON(1); | ||
2225 | break; | ||
2183 | } | 2226 | } |
2184 | switch (nv_device(priv)->chipset) { | 2227 | switch (nv_device(priv)->chipset) { |
2185 | case 0xc0: | 2228 | case 0xc0: |
@@ -2190,6 +2233,8 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2190 | case 0xc3: | 2233 | case 0xc3: |
2191 | case 0xc4: | 2234 | case 0xc4: |
2192 | case 0xc1: | 2235 | case 0xc1: |
2236 | case 0xce: | ||
2237 | case 0xcf: | ||
2193 | case 0xd9: | 2238 | case 0xd9: |
2194 | case 0xd7: | 2239 | case 0xd7: |
2195 | nv_wr32(priv, 0x419f30, 0x00000000); | 2240 | nv_wr32(priv, 0x419f30, 0x00000000); |
@@ -2204,10 +2249,9 @@ nvc0_grctx_generate_tp(struct nvc0_graph_priv *priv) | |||
2204 | nv_wr32(priv, 0x419f54, 0x00000000); | 2249 | nv_wr32(priv, 0x419f54, 0x00000000); |
2205 | nv_wr32(priv, 0x419f58, 0x00000000); | 2250 | nv_wr32(priv, 0x419f58, 0x00000000); |
2206 | break; | 2251 | break; |
2252 | break; | ||
2207 | default: | 2253 | default: |
2208 | nv_wr32(priv, 0x419f50, 0x00000000); | 2254 | BUG_ON(1); |
2209 | nv_wr32(priv, 0x419f54, 0x00000000); | ||
2210 | nv_wr32(priv, 0x419f58, 0x00000000); | ||
2211 | break; | 2255 | break; |
2212 | } | 2256 | } |
2213 | } | 2257 | } |
@@ -2277,7 +2321,13 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
2277 | } | 2321 | } |
2278 | } | 2322 | } |
2279 | break; | 2323 | break; |
2280 | default: | 2324 | break; |
2325 | case 0xc0: | ||
2326 | case 0xc3: | ||
2327 | case 0xc4: | ||
2328 | case 0xc8: | ||
2329 | case 0xce: | ||
2330 | case 0xcf: | ||
2281 | tmp = 0x02180000; | 2331 | tmp = 0x02180000; |
2282 | mmio_list(0x405830, tmp, 0, 0); | 2332 | mmio_list(0x405830, tmp, 0, 0); |
2283 | for (gpc = 0; gpc < priv->gpc_nr; gpc++) { | 2333 | for (gpc = 0; gpc < priv->gpc_nr; gpc++) { |
@@ -2288,6 +2338,9 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
2288 | } | 2338 | } |
2289 | } | 2339 | } |
2290 | break; | 2340 | break; |
2341 | default: | ||
2342 | BUG_ON(1); | ||
2343 | break; | ||
2291 | } | 2344 | } |
2292 | 2345 | ||
2293 | for (tpc = 0, id = 0; tpc < 4; tpc++) { | 2346 | for (tpc = 0, id = 0; tpc < 4; tpc++) { |
@@ -2530,7 +2583,11 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
2530 | case 0xc4: | 2583 | case 0xc4: |
2531 | case 0xc1: | 2584 | case 0xc1: |
2532 | case 0xc8: | 2585 | case 0xc8: |
2586 | case 0xce: | ||
2587 | case 0xcf: | ||
2588 | break; | ||
2533 | default: | 2589 | default: |
2590 | BUG_ON(1); | ||
2534 | break; | 2591 | break; |
2535 | } | 2592 | } |
2536 | nv_icmd(priv, 0x00000218, 0x0000c080); | 2593 | nv_icmd(priv, 0x00000218, 0x0000c080); |
@@ -2552,8 +2609,11 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
2552 | case 0xc4: | 2609 | case 0xc4: |
2553 | case 0xc1: | 2610 | case 0xc1: |
2554 | case 0xc8: | 2611 | case 0xc8: |
2612 | case 0xce: | ||
2613 | case 0xcf: | ||
2555 | break; | 2614 | break; |
2556 | default: | 2615 | default: |
2616 | BUG_ON(1); | ||
2557 | break; | 2617 | break; |
2558 | } | 2618 | } |
2559 | nv_icmd(priv, 0x000000ad, 0x0000013e); | 2619 | nv_icmd(priv, 0x000000ad, 0x0000013e); |
@@ -3128,7 +3188,11 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
3128 | case 0xc0: | 3188 | case 0xc0: |
3129 | case 0xc3: | 3189 | case 0xc3: |
3130 | case 0xc4: | 3190 | case 0xc4: |
3191 | case 0xce: | ||
3192 | case 0xcf: | ||
3193 | break; | ||
3131 | default: | 3194 | default: |
3195 | BUG_ON(1); | ||
3132 | break; | 3196 | break; |
3133 | } | 3197 | } |
3134 | nv_icmd(priv, 0x00000586, 0x00000040); | 3198 | nv_icmd(priv, 0x00000586, 0x00000040); |
@@ -3241,7 +3305,11 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
3241 | case 0xc3: | 3305 | case 0xc3: |
3242 | case 0xc4: | 3306 | case 0xc4: |
3243 | case 0xc1: | 3307 | case 0xc1: |
3308 | case 0xce: | ||
3309 | case 0xcf: | ||
3310 | break; | ||
3244 | default: | 3311 | default: |
3312 | BUG_ON(1); | ||
3245 | break; | 3313 | break; |
3246 | } | 3314 | } |
3247 | nv_icmd(priv, 0x00000683, 0x00000006); | 3315 | nv_icmd(priv, 0x00000683, 0x00000006); |
@@ -3392,6 +3460,8 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
3392 | case 0xc4: | 3460 | case 0xc4: |
3393 | case 0xc1: | 3461 | case 0xc1: |
3394 | case 0xc8: | 3462 | case 0xc8: |
3463 | case 0xce: | ||
3464 | case 0xcf: | ||
3395 | nv_mthd(priv, 0x902d, 0x3410, 0x00000000); | 3465 | nv_mthd(priv, 0x902d, 0x3410, 0x00000000); |
3396 | break; | 3466 | break; |
3397 | case 0xd9: | 3467 | case 0xd9: |
@@ -3399,6 +3469,7 @@ nvc0_grctx_generate(struct nvc0_graph_priv *priv) | |||
3399 | nv_mthd(priv, 0x902d, 0x3410, 0x80002006); | 3469 | nv_mthd(priv, 0x902d, 0x3410, 0x80002006); |
3400 | break; | 3470 | break; |
3401 | default: | 3471 | default: |
3472 | BUG_ON(1); | ||
3402 | break; | 3473 | break; |
3403 | } | 3474 | } |
3404 | 3475 | ||
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 4539e33174b7..61a6b43ece19 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc | |||
@@ -48,30 +48,30 @@ cmd_queue: queue_init | |||
48 | // chipset descriptions | 48 | // chipset descriptions |
49 | chipsets: | 49 | chipsets: |
50 | .b8 0xc0 0 0 0 | 50 | .b8 0xc0 0 0 0 |
51 | .b16 #nnvc0_gpc_mmio_head | 51 | .b16 #nvc0_gpc_mmio_head |
52 | .b16 #nnvc0_gpc_mmio_tail | 52 | .b16 #nvc0_gpc_mmio_tail |
53 | .b16 #nnvc0_tpc_mmio_head | 53 | .b16 #nvc0_tpc_mmio_head |
54 | .b16 #nnvc0_tpc_mmio_tail | 54 | .b16 #nvc0_tpc_mmio_tail |
55 | .b8 0xc1 0 0 0 | 55 | .b8 0xc1 0 0 0 |
56 | .b16 #nnvc0_gpc_mmio_head | 56 | .b16 #nvc0_gpc_mmio_head |
57 | .b16 #nnvc1_gpc_mmio_tail | 57 | .b16 #nvc1_gpc_mmio_tail |
58 | .b16 #nnvc3_tpc_mmio_head | 58 | .b16 #nvc0_tpc_mmio_head |
59 | .b16 #nnvc1_tpc_mmio_tail | 59 | .b16 #nvc1_tpc_mmio_tail |
60 | .b8 0xc3 0 0 0 | 60 | .b8 0xc3 0 0 0 |
61 | .b16 #nnvc0_gpc_mmio_head | 61 | .b16 #nvc0_gpc_mmio_head |
62 | .b16 #nnvc0_gpc_mmio_tail | 62 | .b16 #nvc0_gpc_mmio_tail |
63 | .b16 #nnvc3_tpc_mmio_head | 63 | .b16 #nvc0_tpc_mmio_head |
64 | .b16 #nnvc3_tpc_mmio_tail | 64 | .b16 #nvc3_tpc_mmio_tail |
65 | .b8 0xc4 0 0 0 | 65 | .b8 0xc4 0 0 0 |
66 | .b16 #nnvc0_gpc_mmio_head | 66 | .b16 #nvc0_gpc_mmio_head |
67 | .b16 #nnvc0_gpc_mmio_tail | 67 | .b16 #nvc0_gpc_mmio_tail |
68 | .b16 #nnvc3_tpc_mmio_head | 68 | .b16 #nvc0_tpc_mmio_head |
69 | .b16 #nnvc3_tpc_mmio_tail | 69 | .b16 #nvc3_tpc_mmio_tail |
70 | .b8 0xc8 0 0 0 | 70 | .b8 0xc8 0 0 0 |
71 | .b16 #nnvc0_gpc_mmio_head | 71 | .b16 #nvc0_gpc_mmio_head |
72 | .b16 #nnvc0_gpc_mmio_tail | 72 | .b16 #nvc0_gpc_mmio_tail |
73 | .b16 #nnvc0_tpc_mmio_head | 73 | .b16 #nvc0_tpc_mmio_head |
74 | .b16 #nnvc0_tpc_mmio_tail | 74 | .b16 #nvc0_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 |
@@ -81,23 +81,26 @@ chipsets: | |||
81 | .b16 #nvc0_gpc_mmio_head | 81 | .b16 #nvc0_gpc_mmio_head |
82 | .b16 #nvc0_gpc_mmio_tail | 82 | .b16 #nvc0_gpc_mmio_tail |
83 | .b16 #nvc0_tpc_mmio_head | 83 | .b16 #nvc0_tpc_mmio_head |
84 | .b16 #nvcf_tpc_mmio_tail | 84 | .b16 #nvc3_tpc_mmio_tail |
85 | .b8 0xd9 0 0 0 | 85 | .b8 0xd9 0 0 0 |
86 | .b16 #nvd9_gpc_mmio_head | 86 | .b16 #nvd9_gpc_mmio_head |
87 | .b16 #nvd9_gpc_mmio_tail | 87 | .b16 #nvc1_gpc_mmio_tail |
88 | .b16 #nvd9_tpc_mmio_head | 88 | .b16 #nvc0_tpc_mmio_head |
89 | .b16 #nvd9_tpc_mmio_tail | 89 | .b16 #nvd9_tpc_mmio_tail |
90 | .b8 0xd7 0 0 0 | 90 | .b8 0xd7 0 0 0 |
91 | .b16 #nvd9_gpc_mmio_head | 91 | .b16 #nvd9_gpc_mmio_head |
92 | .b16 #nvd9_gpc_mmio_tail | 92 | .b16 #nvc1_gpc_mmio_tail |
93 | .b16 #nvd9_tpc_mmio_head | 93 | .b16 #nvc0_tpc_mmio_head |
94 | .b16 #nvd9_tpc_mmio_tail | 94 | .b16 #nvd9_tpc_mmio_tail |
95 | .b8 0 0 0 0 | 95 | .b8 0 0 0 0 |
96 | 96 | ||
97 | // GPC mmio lists | 97 | // GPC mmio lists |
98 | nvc0_gpc_mmio_head: | 98 | nvc0_gpc_mmio_head: |
99 | mmctx_data(0x000408, 1) | ||
100 | nvd9_gpc_mmio_head: | ||
99 | mmctx_data(0x000380, 1) | 101 | mmctx_data(0x000380, 1) |
100 | mmctx_data(0x000400, 6) | 102 | mmctx_data(0x000400, 2); |
103 | mmctx_data(0x00040c, 3); | ||
101 | mmctx_data(0x000450, 9) | 104 | mmctx_data(0x000450, 9) |
102 | mmctx_data(0x000600, 1) | 105 | mmctx_data(0x000600, 1) |
103 | mmctx_data(0x000684, 1) | 106 | mmctx_data(0x000684, 1) |
@@ -121,64 +124,8 @@ mmctx_data(0x000c8c, 1) | |||
121 | mmctx_data(0x001000, 3) | 124 | mmctx_data(0x001000, 3) |
122 | mmctx_data(0x001014, 1) | 125 | mmctx_data(0x001014, 1) |
123 | nvc0_gpc_mmio_tail: | 126 | nvc0_gpc_mmio_tail: |
124 | |||
125 | nnvc0_gpc_mmio_head: | ||
126 | mmctx_data(0x000380, 1) | ||
127 | mmctx_data(0x000400, 6) | ||
128 | mmctx_data(0x000450, 9) | ||
129 | mmctx_data(0x000600, 1) | ||
130 | mmctx_data(0x000684, 1) | ||
131 | mmctx_data(0x000700, 5) | ||
132 | mmctx_data(0x000800, 1) | ||
133 | mmctx_data(0x000808, 3) | ||
134 | mmctx_data(0x000828, 1) | ||
135 | mmctx_data(0x000830, 1) | ||
136 | mmctx_data(0x0008d8, 1) | ||
137 | mmctx_data(0x0008e0, 1) | ||
138 | mmctx_data(0x0008e8, 6) | ||
139 | mmctx_data(0x00091c, 1) | ||
140 | mmctx_data(0x000924, 3) | ||
141 | mmctx_data(0x000b00, 1) | ||
142 | mmctx_data(0x000b08, 6) | ||
143 | mmctx_data(0x000bb8, 1) | ||
144 | mmctx_data(0x000c08, 1) | ||
145 | mmctx_data(0x000c10, 8) | ||
146 | mmctx_data(0x000c80, 1) | ||
147 | mmctx_data(0x000c8c, 1) | ||
148 | mmctx_data(0x001000, 3) | ||
149 | mmctx_data(0x001014, 1) | ||
150 | nnvc0_gpc_mmio_tail: | ||
151 | mmctx_data(0x000c6c, 1); | 127 | mmctx_data(0x000c6c, 1); |
152 | nnvc1_gpc_mmio_tail: | 128 | nvc1_gpc_mmio_tail: |
153 | |||
154 | nvd9_gpc_mmio_head: | ||
155 | mmctx_data(0x000380, 1) | ||
156 | mmctx_data(0x000400, 2) | ||
157 | mmctx_data(0x00040c, 3) | ||
158 | mmctx_data(0x000450, 9) | ||
159 | mmctx_data(0x000600, 1) | ||
160 | mmctx_data(0x000684, 1) | ||
161 | mmctx_data(0x000700, 5) | ||
162 | mmctx_data(0x000800, 1) | ||
163 | mmctx_data(0x000808, 3) | ||
164 | mmctx_data(0x000828, 1) | ||
165 | mmctx_data(0x000830, 1) | ||
166 | mmctx_data(0x0008d8, 1) | ||
167 | mmctx_data(0x0008e0, 1) | ||
168 | mmctx_data(0x0008e8, 6) | ||
169 | mmctx_data(0x00091c, 1) | ||
170 | mmctx_data(0x000924, 3) | ||
171 | mmctx_data(0x000b00, 1) | ||
172 | mmctx_data(0x000b08, 6) | ||
173 | mmctx_data(0x000bb8, 1) | ||
174 | mmctx_data(0x000c08, 1) | ||
175 | mmctx_data(0x000c10, 8) | ||
176 | mmctx_data(0x000c6c, 1) | ||
177 | mmctx_data(0x000c80, 1) | ||
178 | mmctx_data(0x000c8c, 1) | ||
179 | mmctx_data(0x001000, 3) | ||
180 | mmctx_data(0x001014, 1) | ||
181 | nvd9_gpc_mmio_tail: | ||
182 | 129 | ||
183 | // TPC mmio lists | 130 | // TPC mmio lists |
184 | nvc0_tpc_mmio_head: | 131 | nvc0_tpc_mmio_head: |
@@ -188,7 +135,6 @@ mmctx_data(0x000048, 1) | |||
188 | mmctx_data(0x000064, 1) | 135 | mmctx_data(0x000064, 1) |
189 | mmctx_data(0x000088, 1) | 136 | mmctx_data(0x000088, 1) |
190 | mmctx_data(0x000200, 6) | 137 | mmctx_data(0x000200, 6) |
191 | mmctx_data(0x00021c, 2) | ||
192 | mmctx_data(0x000300, 6) | 138 | mmctx_data(0x000300, 6) |
193 | mmctx_data(0x0003d0, 1) | 139 | mmctx_data(0x0003d0, 1) |
194 | mmctx_data(0x0003e0, 2) | 140 | mmctx_data(0x0003e0, 2) |
@@ -203,86 +149,15 @@ mmctx_data(0x000644, 20) | |||
203 | mmctx_data(0x000698, 1) | 149 | mmctx_data(0x000698, 1) |
204 | mmctx_data(0x000750, 2) | 150 | mmctx_data(0x000750, 2) |
205 | nvc0_tpc_mmio_tail: | 151 | nvc0_tpc_mmio_tail: |
206 | mmctx_data(0x000758, 1) | ||
207 | mmctx_data(0x0002c4, 1) | ||
208 | mmctx_data(0x0006e0, 1) | ||
209 | nvcf_tpc_mmio_tail: | ||
210 | mmctx_data(0x0004bc, 1) | ||
211 | nvc3_tpc_mmio_tail: | ||
212 | |||
213 | nnvc0_tpc_mmio_head: | ||
214 | mmctx_data(0x000018, 1) | ||
215 | mmctx_data(0x00003c, 1) | ||
216 | mmctx_data(0x000048, 1) | ||
217 | mmctx_data(0x000064, 1) | ||
218 | mmctx_data(0x000088, 1) | ||
219 | mmctx_data(0x000200, 6) | ||
220 | mmctx_data(0x000300, 6) | ||
221 | mmctx_data(0x0003d0, 1) | ||
222 | mmctx_data(0x0003e0, 2) | ||
223 | mmctx_data(0x000400, 3) | ||
224 | mmctx_data(0x000420, 1) | ||
225 | mmctx_data(0x0004b0, 1) | ||
226 | mmctx_data(0x0004e8, 1) | ||
227 | mmctx_data(0x0004f4, 1) | ||
228 | mmctx_data(0x000520, 2) | ||
229 | mmctx_data(0x000604, 4) | ||
230 | mmctx_data(0x000644, 20) | ||
231 | mmctx_data(0x000698, 1) | ||
232 | mmctx_data(0x000750, 2) | ||
233 | nnvc0_tpc_mmio_tail: | ||
234 | |||
235 | nnvc3_tpc_mmio_head: | ||
236 | mmctx_data(0x000018, 1) | ||
237 | mmctx_data(0x00003c, 1) | ||
238 | mmctx_data(0x000048, 1) | ||
239 | mmctx_data(0x000064, 1) | ||
240 | mmctx_data(0x000088, 1) | ||
241 | mmctx_data(0x000200, 6) | ||
242 | mmctx_data(0x00021c, 2) | 152 | mmctx_data(0x00021c, 2) |
243 | mmctx_data(0x0002c4, 1) | 153 | mmctx_data(0x0002c4, 1) |
244 | mmctx_data(0x000300, 6) | 154 | mmctx_data(0x000730, 8) |
245 | mmctx_data(0x0003d0, 1) | 155 | mmctx_data(0x000758, 1) |
246 | mmctx_data(0x0003e0, 2) | 156 | nvc3_tpc_mmio_tail: |
247 | mmctx_data(0x000400, 3) | ||
248 | mmctx_data(0x000420, 1) | ||
249 | mmctx_data(0x0004b0, 1) | ||
250 | mmctx_data(0x0004e8, 1) | ||
251 | mmctx_data(0x0004f4, 1) | ||
252 | mmctx_data(0x000520, 2) | ||
253 | mmctx_data(0x000604, 4) | ||
254 | mmctx_data(0x000644, 20) | ||
255 | mmctx_data(0x000698, 1) | ||
256 | mmctx_data(0x0006e0, 1) | ||
257 | mmctx_data(0x000730, 11) | ||
258 | nnvc3_tpc_mmio_tail: | ||
259 | mmctx_data(0x000544, 1) | ||
260 | nnvc1_tpc_mmio_tail: | ||
261 | |||
262 | nvd9_tpc_mmio_head: | ||
263 | mmctx_data(0x000018, 1) | ||
264 | mmctx_data(0x00003c, 1) | ||
265 | mmctx_data(0x000048, 1) | ||
266 | mmctx_data(0x000064, 1) | ||
267 | mmctx_data(0x000088, 1) | ||
268 | mmctx_data(0x000200, 6) | ||
269 | mmctx_data(0x00021c, 2) | ||
270 | mmctx_data(0x0002c4, 1) | ||
271 | mmctx_data(0x000300, 6) | ||
272 | mmctx_data(0x0003d0, 1) | ||
273 | mmctx_data(0x0003e0, 2) | ||
274 | mmctx_data(0x000400, 3) | ||
275 | mmctx_data(0x000420, 3) | ||
276 | mmctx_data(0x0004b0, 1) | ||
277 | mmctx_data(0x0004e8, 1) | ||
278 | mmctx_data(0x0004f4, 1) | ||
279 | mmctx_data(0x000520, 2) | ||
280 | mmctx_data(0x000544, 1) | 157 | mmctx_data(0x000544, 1) |
281 | mmctx_data(0x000604, 4) | 158 | nvc1_tpc_mmio_tail: |
282 | mmctx_data(0x000644, 20) | 159 | mmctx_data(0x000424, 2); |
283 | mmctx_data(0x000698, 1) | 160 | mmctx_data(0x0006e0, 1); |
284 | mmctx_data(0x0006e0, 1) | ||
285 | mmctx_data(0x000730, 11) | ||
286 | nvd9_tpc_mmio_tail: | 161 | nvd9_tpc_mmio_tail: |
287 | 162 | ||
288 | .section #nvc0_grgpc_code | 163 | .section #nvc0_grgpc_code |
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 bad9a16a9463..cafcc638042a 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 | |||
@@ -34,88 +34,36 @@ uint32_t nvc0_grgpc_data[] = { | |||
34 | 0x00000000, | 34 | 0x00000000, |
35 | /* 0x0064: chipsets */ | 35 | /* 0x0064: chipsets */ |
36 | 0x000000c0, | 36 | 0x000000c0, |
37 | 0x01940134, | 37 | 0x013c00d4, |
38 | 0x02ac0260, | 38 | 0x018c0140, |
39 | 0x000000c1, | 39 | 0x000000c1, |
40 | 0x01980134, | 40 | 0x014000d4, |
41 | 0x030802ac, | 41 | 0x01a00140, |
42 | 0x000000c3, | 42 | 0x000000c3, |
43 | 0x01940134, | 43 | 0x013c00d4, |
44 | 0x030402ac, | 44 | 0x019c0140, |
45 | 0x000000c4, | 45 | 0x000000c4, |
46 | 0x01940134, | 46 | 0x013c00d4, |
47 | 0x030402ac, | 47 | 0x019c0140, |
48 | 0x000000c8, | 48 | 0x000000c8, |
49 | 0x01940134, | 49 | 0x013c00d4, |
50 | 0x02ac0260, | 50 | 0x018c0140, |
51 | 0x000000ce, | 51 | 0x000000ce, |
52 | 0x013400d4, | 52 | 0x013c00d4, |
53 | 0x02600200, | 53 | 0x019c0140, |
54 | 0x000000cf, | 54 | 0x000000cf, |
55 | 0x013400d4, | 55 | 0x013c00d4, |
56 | 0x025c0200, | 56 | 0x019c0140, |
57 | 0x000000d9, | 57 | 0x000000d9, |
58 | 0x02000198, | 58 | 0x014000d8, |
59 | 0x03640308, | 59 | 0x01a80140, |
60 | 0x000000d7, | 60 | 0x000000d7, |
61 | 0x02000198, | 61 | 0x014000d8, |
62 | 0x03640308, | 62 | 0x01a80140, |
63 | 0x00000000, | 63 | 0x00000000, |
64 | /* 0x00d4: nvc0_gpc_mmio_head */ | 64 | /* 0x00d4: nvc0_gpc_mmio_head */ |
65 | 0x00000380, | 65 | 0x00000408, |
66 | 0x14000400, | 66 | /* 0x00d8: nvd9_gpc_mmio_head */ |
67 | 0x20000450, | ||
68 | 0x00000600, | ||
69 | 0x00000684, | ||
70 | 0x10000700, | ||
71 | 0x00000800, | ||
72 | 0x08000808, | ||
73 | 0x00000828, | ||
74 | 0x00000830, | ||
75 | 0x000008d8, | ||
76 | 0x000008e0, | ||
77 | 0x140008e8, | ||
78 | 0x0000091c, | ||
79 | 0x08000924, | ||
80 | 0x00000b00, | ||
81 | 0x14000b08, | ||
82 | 0x00000bb8, | ||
83 | 0x00000c08, | ||
84 | 0x1c000c10, | ||
85 | 0x00000c80, | ||
86 | 0x00000c8c, | ||
87 | 0x08001000, | ||
88 | 0x00001014, | ||
89 | /* 0x0134: nvc0_gpc_mmio_tail */ | ||
90 | /* 0x0134: nnvc0_gpc_mmio_head */ | ||
91 | 0x00000380, | ||
92 | 0x14000400, | ||
93 | 0x20000450, | ||
94 | 0x00000600, | ||
95 | 0x00000684, | ||
96 | 0x10000700, | ||
97 | 0x00000800, | ||
98 | 0x08000808, | ||
99 | 0x00000828, | ||
100 | 0x00000830, | ||
101 | 0x000008d8, | ||
102 | 0x000008e0, | ||
103 | 0x140008e8, | ||
104 | 0x0000091c, | ||
105 | 0x08000924, | ||
106 | 0x00000b00, | ||
107 | 0x14000b08, | ||
108 | 0x00000bb8, | ||
109 | 0x00000c08, | ||
110 | 0x1c000c10, | ||
111 | 0x00000c80, | ||
112 | 0x00000c8c, | ||
113 | 0x08001000, | ||
114 | 0x00001014, | ||
115 | /* 0x0194: nnvc0_gpc_mmio_tail */ | ||
116 | 0x00000c6c, | ||
117 | /* 0x0198: nnvc1_gpc_mmio_tail */ | ||
118 | /* 0x0198: nvd9_gpc_mmio_head */ | ||
119 | 0x00000380, | 67 | 0x00000380, |
120 | 0x04000400, | 68 | 0x04000400, |
121 | 0x0800040c, | 69 | 0x0800040c, |
@@ -137,41 +85,14 @@ uint32_t nvc0_grgpc_data[] = { | |||
137 | 0x00000bb8, | 85 | 0x00000bb8, |
138 | 0x00000c08, | 86 | 0x00000c08, |
139 | 0x1c000c10, | 87 | 0x1c000c10, |
140 | 0x00000c6c, | ||
141 | 0x00000c80, | 88 | 0x00000c80, |
142 | 0x00000c8c, | 89 | 0x00000c8c, |
143 | 0x08001000, | 90 | 0x08001000, |
144 | 0x00001014, | 91 | 0x00001014, |
145 | /* 0x0200: nvd9_gpc_mmio_tail */ | 92 | /* 0x013c: nvc0_gpc_mmio_tail */ |
146 | /* 0x0200: nvc0_tpc_mmio_head */ | 93 | 0x00000c6c, |
147 | 0x00000018, | 94 | /* 0x0140: nvc1_gpc_mmio_tail */ |
148 | 0x0000003c, | 95 | /* 0x0140: nvc0_tpc_mmio_head */ |
149 | 0x00000048, | ||
150 | 0x00000064, | ||
151 | 0x00000088, | ||
152 | 0x14000200, | ||
153 | 0x0400021c, | ||
154 | 0x14000300, | ||
155 | 0x000003d0, | ||
156 | 0x040003e0, | ||
157 | 0x08000400, | ||
158 | 0x00000420, | ||
159 | 0x000004b0, | ||
160 | 0x000004e8, | ||
161 | 0x000004f4, | ||
162 | 0x04000520, | ||
163 | 0x0c000604, | ||
164 | 0x4c000644, | ||
165 | 0x00000698, | ||
166 | 0x04000750, | ||
167 | /* 0x0250: nvc0_tpc_mmio_tail */ | ||
168 | 0x00000758, | ||
169 | 0x000002c4, | ||
170 | 0x000006e0, | ||
171 | /* 0x025c: nvcf_tpc_mmio_tail */ | ||
172 | 0x000004bc, | ||
173 | /* 0x0260: nvc3_tpc_mmio_tail */ | ||
174 | /* 0x0260: nnvc0_tpc_mmio_head */ | ||
175 | 0x00000018, | 96 | 0x00000018, |
176 | 0x0000003c, | 97 | 0x0000003c, |
177 | 0x00000048, | 98 | 0x00000048, |
@@ -191,57 +112,16 @@ uint32_t nvc0_grgpc_data[] = { | |||
191 | 0x4c000644, | 112 | 0x4c000644, |
192 | 0x00000698, | 113 | 0x00000698, |
193 | 0x04000750, | 114 | 0x04000750, |
194 | /* 0x02ac: nnvc0_tpc_mmio_tail */ | 115 | /* 0x018c: nvc0_tpc_mmio_tail */ |
195 | /* 0x02ac: nnvc3_tpc_mmio_head */ | ||
196 | 0x00000018, | ||
197 | 0x0000003c, | ||
198 | 0x00000048, | ||
199 | 0x00000064, | ||
200 | 0x00000088, | ||
201 | 0x14000200, | ||
202 | 0x0400021c, | ||
203 | 0x000002c4, | ||
204 | 0x14000300, | ||
205 | 0x000003d0, | ||
206 | 0x040003e0, | ||
207 | 0x08000400, | ||
208 | 0x00000420, | ||
209 | 0x000004b0, | ||
210 | 0x000004e8, | ||
211 | 0x000004f4, | ||
212 | 0x04000520, | ||
213 | 0x0c000604, | ||
214 | 0x4c000644, | ||
215 | 0x00000698, | ||
216 | 0x000006e0, | ||
217 | 0x28000730, | ||
218 | /* 0x0304: nnvc3_tpc_mmio_tail */ | ||
219 | 0x00000544, | ||
220 | /* 0x0308: nnvc1_tpc_mmio_tail */ | ||
221 | /* 0x0308: nvd9_tpc_mmio_head */ | ||
222 | 0x00000018, | ||
223 | 0x0000003c, | ||
224 | 0x00000048, | ||
225 | 0x00000064, | ||
226 | 0x00000088, | ||
227 | 0x14000200, | ||
228 | 0x0400021c, | 116 | 0x0400021c, |
229 | 0x000002c4, | 117 | 0x000002c4, |
230 | 0x14000300, | 118 | 0x1c000730, |
231 | 0x000003d0, | 119 | 0x00000758, |
232 | 0x040003e0, | 120 | /* 0x019c: nvc3_tpc_mmio_tail */ |
233 | 0x08000400, | ||
234 | 0x08000420, | ||
235 | 0x000004b0, | ||
236 | 0x000004e8, | ||
237 | 0x000004f4, | ||
238 | 0x04000520, | ||
239 | 0x00000544, | 121 | 0x00000544, |
240 | 0x0c000604, | 122 | /* 0x01a0: nvc1_tpc_mmio_tail */ |
241 | 0x4c000644, | 123 | 0x04000424, |
242 | 0x00000698, | ||
243 | 0x000006e0, | 124 | 0x000006e0, |
244 | 0x28000730, | ||
245 | }; | 125 | }; |
246 | 126 | ||
247 | uint32_t nvc0_grgpc_code[] = { | 127 | uint32_t nvc0_grgpc_code[] = { |
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 6eb5168a3811..9f174be6bc82 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc +++ b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc | |||
@@ -48,20 +48,20 @@ xfer_data: .b32 0 | |||
48 | .align 256 | 48 | .align 256 |
49 | chipsets: | 49 | chipsets: |
50 | .b8 0xc0 0 0 0 | 50 | .b8 0xc0 0 0 0 |
51 | .b16 #nnvc0_hub_mmio_head | 51 | .b16 #nvc0_hub_mmio_head |
52 | .b16 #nnvc0_hub_mmio_tail | 52 | .b16 #nvc0_hub_mmio_tail |
53 | .b8 0xc1 0 0 0 | 53 | .b8 0xc1 0 0 0 |
54 | .b16 #nnvc0_hub_mmio_head | 54 | .b16 #nvc0_hub_mmio_head |
55 | .b16 #nvc1_hub_mmio_tail | 55 | .b16 #nvc1_hub_mmio_tail |
56 | .b8 0xc3 0 0 0 | 56 | .b8 0xc3 0 0 0 |
57 | .b16 #nnvc0_hub_mmio_head | 57 | .b16 #nvc0_hub_mmio_head |
58 | .b16 #nnvc0_hub_mmio_tail | 58 | .b16 #nvc0_hub_mmio_tail |
59 | .b8 0xc4 0 0 0 | 59 | .b8 0xc4 0 0 0 |
60 | .b16 #nnvc0_hub_mmio_head | 60 | .b16 #nvc0_hub_mmio_head |
61 | .b16 #nnvc0_hub_mmio_tail | 61 | .b16 #nvc0_hub_mmio_tail |
62 | .b8 0xc8 0 0 0 | 62 | .b8 0xc8 0 0 0 |
63 | .b16 #nnvc0_hub_mmio_head | 63 | .b16 #nvc0_hub_mmio_head |
64 | .b16 #nnvc0_hub_mmio_tail | 64 | .b16 #nvc0_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 |
@@ -77,91 +77,8 @@ chipsets: | |||
77 | .b8 0 0 0 0 | 77 | .b8 0 0 0 0 |
78 | 78 | ||
79 | nvc0_hub_mmio_head: | 79 | nvc0_hub_mmio_head: |
80 | mmctx_data(0x17e91c, 2) | 80 | mmctx_data(0x40402c, 1) |
81 | mmctx_data(0x400204, 2) | 81 | mmctx_data(0x404174, 1) |
82 | mmctx_data(0x404004, 11) | ||
83 | mmctx_data(0x404044, 1) | ||
84 | mmctx_data(0x404094, 14) | ||
85 | mmctx_data(0x4040d0, 7) | ||
86 | mmctx_data(0x4040f8, 1) | ||
87 | mmctx_data(0x404130, 3) | ||
88 | mmctx_data(0x404150, 3) | ||
89 | mmctx_data(0x404164, 2) | ||
90 | mmctx_data(0x404174, 3) | ||
91 | mmctx_data(0x404200, 8) | ||
92 | mmctx_data(0x404404, 14) | ||
93 | mmctx_data(0x404460, 4) | ||
94 | mmctx_data(0x404480, 1) | ||
95 | mmctx_data(0x404498, 1) | ||
96 | mmctx_data(0x404604, 4) | ||
97 | mmctx_data(0x404618, 32) | ||
98 | mmctx_data(0x404698, 21) | ||
99 | mmctx_data(0x4046f0, 2) | ||
100 | mmctx_data(0x404700, 22) | ||
101 | mmctx_data(0x405800, 1) | ||
102 | mmctx_data(0x405830, 3) | ||
103 | mmctx_data(0x405854, 1) | ||
104 | mmctx_data(0x405870, 4) | ||
105 | mmctx_data(0x405a00, 2) | ||
106 | mmctx_data(0x405a18, 1) | ||
107 | mmctx_data(0x406020, 1) | ||
108 | mmctx_data(0x406028, 4) | ||
109 | mmctx_data(0x4064a8, 2) | ||
110 | mmctx_data(0x4064b4, 2) | ||
111 | mmctx_data(0x407804, 1) | ||
112 | mmctx_data(0x40780c, 6) | ||
113 | mmctx_data(0x4078bc, 1) | ||
114 | mmctx_data(0x408000, 7) | ||
115 | mmctx_data(0x408064, 1) | ||
116 | mmctx_data(0x408800, 3) | ||
117 | mmctx_data(0x408900, 4) | ||
118 | mmctx_data(0x408980, 1) | ||
119 | nvc0_hub_mmio_tail: | ||
120 | |||
121 | nnvc0_hub_mmio_head: | ||
122 | mmctx_data(0x17e91c, 2) | ||
123 | mmctx_data(0x400204, 2) | ||
124 | mmctx_data(0x404004, 11) | ||
125 | mmctx_data(0x404044, 1) | ||
126 | mmctx_data(0x404094, 14) | ||
127 | mmctx_data(0x4040d0, 7) | ||
128 | mmctx_data(0x4040f8, 1) | ||
129 | mmctx_data(0x404130, 3) | ||
130 | mmctx_data(0x404150, 3) | ||
131 | mmctx_data(0x404164, 2) | ||
132 | mmctx_data(0x404174, 3) | ||
133 | mmctx_data(0x404200, 8) | ||
134 | mmctx_data(0x404404, 14) | ||
135 | mmctx_data(0x404460, 4) | ||
136 | mmctx_data(0x404480, 1) | ||
137 | mmctx_data(0x404498, 1) | ||
138 | mmctx_data(0x404604, 4) | ||
139 | mmctx_data(0x404618, 32) | ||
140 | mmctx_data(0x404698, 21) | ||
141 | mmctx_data(0x4046f0, 2) | ||
142 | mmctx_data(0x404700, 22) | ||
143 | mmctx_data(0x405800, 1) | ||
144 | mmctx_data(0x405830, 3) | ||
145 | mmctx_data(0x405854, 1) | ||
146 | mmctx_data(0x405870, 4) | ||
147 | mmctx_data(0x405a00, 2) | ||
148 | mmctx_data(0x405a18, 1) | ||
149 | mmctx_data(0x406020, 1) | ||
150 | mmctx_data(0x406028, 4) | ||
151 | mmctx_data(0x4064a8, 2) | ||
152 | mmctx_data(0x4064b4, 2) | ||
153 | mmctx_data(0x407804, 1) | ||
154 | mmctx_data(0x40780c, 6) | ||
155 | mmctx_data(0x4078bc, 1) | ||
156 | mmctx_data(0x408000, 7) | ||
157 | mmctx_data(0x408064, 1) | ||
158 | mmctx_data(0x408800, 3) | ||
159 | mmctx_data(0x408900, 3) | ||
160 | mmctx_data(0x408980, 1) | ||
161 | nnvc0_hub_mmio_tail: | ||
162 | mmctx_data(0x4064c0, 2) | ||
163 | nvc1_hub_mmio_tail: | ||
164 | |||
165 | nvd9_hub_mmio_head: | 82 | nvd9_hub_mmio_head: |
166 | mmctx_data(0x17e91c, 2) | 83 | mmctx_data(0x17e91c, 2) |
167 | mmctx_data(0x400204, 2) | 84 | mmctx_data(0x400204, 2) |
@@ -193,7 +110,7 @@ mmctx_data(0x405a18, 1) | |||
193 | mmctx_data(0x406020, 1) | 110 | mmctx_data(0x406020, 1) |
194 | mmctx_data(0x406028, 4) | 111 | mmctx_data(0x406028, 4) |
195 | mmctx_data(0x4064a8, 2) | 112 | mmctx_data(0x4064a8, 2) |
196 | mmctx_data(0x4064b4, 5) | 113 | mmctx_data(0x4064b4, 2) |
197 | mmctx_data(0x407804, 1) | 114 | mmctx_data(0x407804, 1) |
198 | mmctx_data(0x40780c, 6) | 115 | mmctx_data(0x40780c, 6) |
199 | mmctx_data(0x4078bc, 1) | 116 | mmctx_data(0x4078bc, 1) |
@@ -202,6 +119,10 @@ mmctx_data(0x408064, 1) | |||
202 | mmctx_data(0x408800, 3) | 119 | mmctx_data(0x408800, 3) |
203 | mmctx_data(0x408900, 3) | 120 | mmctx_data(0x408900, 3) |
204 | mmctx_data(0x408980, 1) | 121 | mmctx_data(0x408980, 1) |
122 | nvc0_hub_mmio_tail: | ||
123 | mmctx_data(0x4064c0, 2) | ||
124 | nvc1_hub_mmio_tail: | ||
125 | mmctx_data(0x4064bc, 3) | ||
205 | nvd9_hub_mmio_tail: | 126 | nvd9_hub_mmio_tail: |
206 | 127 | ||
207 | .section #nvc0_grhub_code | 128 | .section #nvc0_grhub_code |
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 9d5517407dfb..0953c2db2d13 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 | |||
@@ -203,109 +203,28 @@ uint32_t nvc0_grhub_data[] = { | |||
203 | 0x00000000, | 203 | 0x00000000, |
204 | /* 0x0300: chipsets */ | 204 | /* 0x0300: chipsets */ |
205 | 0x000000c0, | 205 | 0x000000c0, |
206 | 0x048403e8, | 206 | 0x03f0034c, |
207 | 0x000000c1, | 207 | 0x000000c1, |
208 | 0x048803e8, | 208 | 0x03f4034c, |
209 | 0x000000c3, | 209 | 0x000000c3, |
210 | 0x048403e8, | 210 | 0x03f0034c, |
211 | 0x000000c4, | 211 | 0x000000c4, |
212 | 0x048403e8, | 212 | 0x03f0034c, |
213 | 0x000000c8, | 213 | 0x000000c8, |
214 | 0x048403e8, | 214 | 0x03f0034c, |
215 | 0x000000ce, | 215 | 0x000000ce, |
216 | 0x03e8034c, | 216 | 0x03f0034c, |
217 | 0x000000cf, | 217 | 0x000000cf, |
218 | 0x03e8034c, | 218 | 0x03f0034c, |
219 | 0x000000d9, | 219 | 0x000000d9, |
220 | 0x05240488, | 220 | 0x03f80354, |
221 | 0x000000d7, | 221 | 0x000000d7, |
222 | 0x05240488, | 222 | 0x03f80354, |
223 | 0x00000000, | 223 | 0x00000000, |
224 | /* 0x034c: nvc0_hub_mmio_head */ | 224 | /* 0x034c: nvc0_hub_mmio_head */ |
225 | 0x0417e91c, | 225 | 0x0040402c, |
226 | 0x04400204, | 226 | 0x00404174, |
227 | 0x28404004, | 227 | /* 0x0354: nvd9_hub_mmio_head */ |
228 | 0x00404044, | ||
229 | 0x34404094, | ||
230 | 0x184040d0, | ||
231 | 0x004040f8, | ||
232 | 0x08404130, | ||
233 | 0x08404150, | ||
234 | 0x04404164, | ||
235 | 0x08404174, | ||
236 | 0x1c404200, | ||
237 | 0x34404404, | ||
238 | 0x0c404460, | ||
239 | 0x00404480, | ||
240 | 0x00404498, | ||
241 | 0x0c404604, | ||
242 | 0x7c404618, | ||
243 | 0x50404698, | ||
244 | 0x044046f0, | ||
245 | 0x54404700, | ||
246 | 0x00405800, | ||
247 | 0x08405830, | ||
248 | 0x00405854, | ||
249 | 0x0c405870, | ||
250 | 0x04405a00, | ||
251 | 0x00405a18, | ||
252 | 0x00406020, | ||
253 | 0x0c406028, | ||
254 | 0x044064a8, | ||
255 | 0x044064b4, | ||
256 | 0x00407804, | ||
257 | 0x1440780c, | ||
258 | 0x004078bc, | ||
259 | 0x18408000, | ||
260 | 0x00408064, | ||
261 | 0x08408800, | ||
262 | 0x0c408900, | ||
263 | 0x00408980, | ||
264 | /* 0x03e8: nvc0_hub_mmio_tail */ | ||
265 | /* 0x03e8: nnvc0_hub_mmio_head */ | ||
266 | 0x0417e91c, | ||
267 | 0x04400204, | ||
268 | 0x28404004, | ||
269 | 0x00404044, | ||
270 | 0x34404094, | ||
271 | 0x184040d0, | ||
272 | 0x004040f8, | ||
273 | 0x08404130, | ||
274 | 0x08404150, | ||
275 | 0x04404164, | ||
276 | 0x08404174, | ||
277 | 0x1c404200, | ||
278 | 0x34404404, | ||
279 | 0x0c404460, | ||
280 | 0x00404480, | ||
281 | 0x00404498, | ||
282 | 0x0c404604, | ||
283 | 0x7c404618, | ||
284 | 0x50404698, | ||
285 | 0x044046f0, | ||
286 | 0x54404700, | ||
287 | 0x00405800, | ||
288 | 0x08405830, | ||
289 | 0x00405854, | ||
290 | 0x0c405870, | ||
291 | 0x04405a00, | ||
292 | 0x00405a18, | ||
293 | 0x00406020, | ||
294 | 0x0c406028, | ||
295 | 0x044064a8, | ||
296 | 0x044064b4, | ||
297 | 0x00407804, | ||
298 | 0x1440780c, | ||
299 | 0x004078bc, | ||
300 | 0x18408000, | ||
301 | 0x00408064, | ||
302 | 0x08408800, | ||
303 | 0x08408900, | ||
304 | 0x00408980, | ||
305 | /* 0x0484: nnvc0_hub_mmio_tail */ | ||
306 | 0x044064c0, | ||
307 | /* 0x0488: nvc1_hub_mmio_tail */ | ||
308 | /* 0x0488: nvd9_hub_mmio_head */ | ||
309 | 0x0417e91c, | 228 | 0x0417e91c, |
310 | 0x04400204, | 229 | 0x04400204, |
311 | 0x24404004, | 230 | 0x24404004, |
@@ -336,7 +255,7 @@ uint32_t nvc0_grhub_data[] = { | |||
336 | 0x00406020, | 255 | 0x00406020, |
337 | 0x0c406028, | 256 | 0x0c406028, |
338 | 0x044064a8, | 257 | 0x044064a8, |
339 | 0x104064b4, | 258 | 0x044064b4, |
340 | 0x00407804, | 259 | 0x00407804, |
341 | 0x1440780c, | 260 | 0x1440780c, |
342 | 0x004078bc, | 261 | 0x004078bc, |
@@ -345,6 +264,10 @@ uint32_t nvc0_grhub_data[] = { | |||
345 | 0x08408800, | 264 | 0x08408800, |
346 | 0x08408900, | 265 | 0x08408900, |
347 | 0x00408980, | 266 | 0x00408980, |
267 | /* 0x03f0: nvc0_hub_mmio_tail */ | ||
268 | 0x044064c0, | ||
269 | /* 0x03f4: nvc1_hub_mmio_tail */ | ||
270 | 0x084064bc, | ||
348 | }; | 271 | }; |
349 | 272 | ||
350 | uint32_t nvc0_grhub_code[] = { | 273 | uint32_t nvc0_grhub_code[] = { |
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c b/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c index f146ebc9c08d..d61c833be09f 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c +++ b/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c | |||
@@ -757,7 +757,11 @@ nvc0_graph_init_unk64xx(struct nvc0_graph_priv *priv) | |||
757 | case 0xc4: | 757 | case 0xc4: |
758 | case 0xc1: | 758 | case 0xc1: |
759 | case 0xc8: | 759 | case 0xc8: |
760 | case 0xce: | ||
761 | case 0xcf: | ||
762 | break; | ||
760 | default: | 763 | default: |
764 | BUG_ON(1); | ||
761 | break; | 765 | break; |
762 | } | 766 | } |
763 | } | 767 | } |
@@ -771,13 +775,17 @@ nvc0_graph_init_unk58xx(struct nvc0_graph_priv *priv) | |||
771 | case 0xc3: | 775 | case 0xc3: |
772 | case 0xc4: | 776 | case 0xc4: |
773 | case 0xc1: | 777 | case 0xc1: |
778 | case 0xce: | ||
779 | case 0xcf: | ||
774 | case 0xd9: | 780 | case 0xd9: |
775 | case 0xd7: | 781 | case 0xd7: |
776 | nv_wr32(priv, 0x405900, 0x00002834); | 782 | nv_wr32(priv, 0x405900, 0x00002834); |
777 | break; | 783 | break; |
778 | case 0xc0: | 784 | case 0xc0: |
779 | case 0xc8: | 785 | case 0xc8: |
786 | break; | ||
780 | default: | 787 | default: |
788 | BUG_ON(1); | ||
781 | break; | 789 | break; |
782 | } | 790 | } |
783 | nv_wr32(priv, 0x405908, 0x00000000); | 791 | nv_wr32(priv, 0x405908, 0x00000000); |
@@ -792,7 +800,11 @@ nvc0_graph_init_unk58xx(struct nvc0_graph_priv *priv) | |||
792 | case 0xc4: | 800 | case 0xc4: |
793 | case 0xc1: | 801 | case 0xc1: |
794 | case 0xc8: | 802 | case 0xc8: |
803 | case 0xce: | ||
804 | case 0xcf: | ||
805 | break; | ||
795 | default: | 806 | default: |
807 | BUG_ON(1); | ||
796 | break; | 808 | break; |
797 | } | 809 | } |
798 | } | 810 | } |
@@ -816,7 +828,11 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
816 | case 0xc4: | 828 | case 0xc4: |
817 | case 0xc1: | 829 | case 0xc1: |
818 | case 0xc8: | 830 | case 0xc8: |
831 | case 0xce: | ||
832 | case 0xcf: | ||
833 | break; | ||
819 | default: | 834 | default: |
835 | BUG_ON(1); | ||
820 | break; | 836 | break; |
821 | } | 837 | } |
822 | nv_wr32(priv, 0x4184a0, 0x00000000); | 838 | nv_wr32(priv, 0x4184a0, 0x00000000); |
@@ -831,7 +847,11 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
831 | case 0xc4: | 847 | case 0xc4: |
832 | case 0xc1: | 848 | case 0xc1: |
833 | case 0xc8: | 849 | case 0xc8: |
850 | case 0xce: | ||
851 | case 0xcf: | ||
852 | break; | ||
834 | default: | 853 | default: |
854 | BUG_ON(1); | ||
835 | break; | 855 | break; |
836 | } | 856 | } |
837 | nv_wr32(priv, 0x418604, 0x00000000); | 857 | nv_wr32(priv, 0x418604, 0x00000000); |
@@ -846,9 +866,13 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
846 | case 0xc3: | 866 | case 0xc3: |
847 | case 0xc4: | 867 | case 0xc4: |
848 | case 0xc8: | 868 | case 0xc8: |
849 | default: | 869 | case 0xce: |
870 | case 0xcf: | ||
850 | nv_wr32(priv, 0x418714, 0x80000000); | 871 | nv_wr32(priv, 0x418714, 0x80000000); |
851 | break; | 872 | break; |
873 | default: | ||
874 | BUG_ON(1); | ||
875 | break; | ||
852 | } | 876 | } |
853 | nv_wr32(priv, 0x418384, 0x00000000); | 877 | nv_wr32(priv, 0x418384, 0x00000000); |
854 | nv_wr32(priv, 0x418814, 0x00000000); | 878 | nv_wr32(priv, 0x418814, 0x00000000); |
@@ -865,9 +889,13 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
865 | case 0xc0: | 889 | case 0xc0: |
866 | case 0xc3: | 890 | case 0xc3: |
867 | case 0xc4: | 891 | case 0xc4: |
868 | default: | 892 | case 0xce: |
893 | case 0xcf: | ||
869 | nv_wr32(priv, 0x4188c8, 0x80000000); | 894 | nv_wr32(priv, 0x4188c8, 0x80000000); |
870 | break; | 895 | break; |
896 | default: | ||
897 | BUG_ON(1); | ||
898 | break; | ||
871 | } | 899 | } |
872 | nv_wr32(priv, 0x4188cc, 0x00000000); | 900 | nv_wr32(priv, 0x4188cc, 0x00000000); |
873 | nv_wr32(priv, 0x4188d0, 0x00010000); | 901 | nv_wr32(priv, 0x4188d0, 0x00010000); |
@@ -891,7 +919,11 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
891 | case 0xc4: | 919 | case 0xc4: |
892 | case 0xc1: | 920 | case 0xc1: |
893 | case 0xc8: | 921 | case 0xc8: |
922 | case 0xce: | ||
923 | case 0xcf: | ||
924 | break; | ||
894 | default: | 925 | default: |
926 | BUG_ON(1); | ||
895 | break; | 927 | break; |
896 | } | 928 | } |
897 | nv_wr32(priv, 0x418c88, 0x00000000); | 929 | nv_wr32(priv, 0x418c88, 0x00000000); |
@@ -906,7 +938,11 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
906 | case 0xc4: | 938 | case 0xc4: |
907 | case 0xc1: | 939 | case 0xc1: |
908 | case 0xc8: | 940 | case 0xc8: |
941 | case 0xce: | ||
942 | case 0xcf: | ||
943 | break; | ||
909 | default: | 944 | default: |
945 | BUG_ON(1); | ||
910 | break; | 946 | break; |
911 | } | 947 | } |
912 | nv_wr32(priv, 0x418d00, 0x00000000); | 948 | nv_wr32(priv, 0x418d00, 0x00000000); |
@@ -922,7 +958,11 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
922 | case 0xc4: | 958 | case 0xc4: |
923 | case 0xc1: | 959 | case 0xc1: |
924 | case 0xc8: | 960 | case 0xc8: |
961 | case 0xce: | ||
962 | case 0xcf: | ||
963 | break; | ||
925 | default: | 964 | default: |
965 | BUG_ON(1); | ||
926 | break; | 966 | break; |
927 | } | 967 | } |
928 | nv_wr32(priv, 0x418f08, 0x00000000); | 968 | nv_wr32(priv, 0x418f08, 0x00000000); |
@@ -939,9 +979,13 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
939 | case 0xc3: | 979 | case 0xc3: |
940 | case 0xc4: | 980 | case 0xc4: |
941 | case 0xc8: | 981 | case 0xc8: |
942 | default: | 982 | case 0xce: |
983 | case 0xcf: | ||
943 | nv_wr32(priv, 0x418e00, 0x00000050); | 984 | nv_wr32(priv, 0x418e00, 0x00000050); |
944 | break; | 985 | break; |
986 | default: | ||
987 | BUG_ON(1); | ||
988 | break; | ||
945 | } | 989 | } |
946 | nv_wr32(priv, 0x418e08, 0x00000000); | 990 | nv_wr32(priv, 0x418e08, 0x00000000); |
947 | switch (nv_device(priv)->chipset) { | 991 | switch (nv_device(priv)->chipset) { |
@@ -955,7 +999,11 @@ nvc0_graph_init_gpc(struct nvc0_graph_priv *priv) | |||
955 | case 0xc4: | 999 | case 0xc4: |
956 | case 0xc1: | 1000 | case 0xc1: |
957 | case 0xc8: | 1001 | case 0xc8: |
1002 | case 0xce: | ||
1003 | case 0xcf: | ||
1004 | break; | ||
958 | default: | 1005 | default: |
1006 | BUG_ON(1); | ||
959 | break; | 1007 | break; |
960 | } | 1008 | } |
961 | nv_wr32(priv, 0x41900c, 0x00000000); | 1009 | nv_wr32(priv, 0x41900c, 0x00000000); |
@@ -973,13 +1021,17 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
973 | case 0xc3: | 1021 | case 0xc3: |
974 | case 0xc4: | 1022 | case 0xc4: |
975 | case 0xc1: | 1023 | case 0xc1: |
1024 | case 0xce: | ||
1025 | case 0xcf: | ||
976 | case 0xd9: | 1026 | case 0xd9: |
977 | case 0xd7: | 1027 | case 0xd7: |
978 | nv_wr32(priv, 0x419ac8, 0x00000000); | 1028 | nv_wr32(priv, 0x419ac8, 0x00000000); |
979 | break; | 1029 | break; |
980 | case 0xc0: | 1030 | case 0xc0: |
981 | case 0xc8: | 1031 | case 0xc8: |
1032 | break; | ||
982 | default: | 1033 | default: |
1034 | BUG_ON(1); | ||
983 | break; | 1035 | break; |
984 | } | 1036 | } |
985 | nv_wr32(priv, 0x419ab8, 0x000000e7); | 1037 | nv_wr32(priv, 0x419ab8, 0x000000e7); |
@@ -996,9 +1048,13 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
996 | case 0xc4: | 1048 | case 0xc4: |
997 | case 0xc1: | 1049 | case 0xc1: |
998 | case 0xc8: | 1050 | case 0xc8: |
999 | default: | 1051 | case 0xce: |
1052 | case 0xcf: | ||
1000 | nv_wr32(priv, 0x41980c, 0x00000000); | 1053 | nv_wr32(priv, 0x41980c, 0x00000000); |
1001 | break; | 1054 | break; |
1055 | default: | ||
1056 | BUG_ON(1); | ||
1057 | break; | ||
1002 | } | 1058 | } |
1003 | nv_wr32(priv, 0x419810, 0x00000000); | 1059 | nv_wr32(priv, 0x419810, 0x00000000); |
1004 | switch (nv_device(priv)->chipset) { | 1060 | switch (nv_device(priv)->chipset) { |
@@ -1011,9 +1067,13 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1011 | case 0xc3: | 1067 | case 0xc3: |
1012 | case 0xc4: | 1068 | case 0xc4: |
1013 | case 0xc8: | 1069 | case 0xc8: |
1014 | default: | 1070 | case 0xce: |
1071 | case 0xcf: | ||
1015 | nv_wr32(priv, 0x419814, 0x00000000); | 1072 | nv_wr32(priv, 0x419814, 0x00000000); |
1016 | break; | 1073 | break; |
1074 | default: | ||
1075 | BUG_ON(1); | ||
1076 | break; | ||
1017 | } | 1077 | } |
1018 | nv_wr32(priv, 0x419844, 0x00000000); | 1078 | nv_wr32(priv, 0x419844, 0x00000000); |
1019 | switch (nv_device(priv)->chipset) { | 1079 | switch (nv_device(priv)->chipset) { |
@@ -1026,9 +1086,13 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1026 | case 0xc4: | 1086 | case 0xc4: |
1027 | case 0xc1: | 1087 | case 0xc1: |
1028 | case 0xc8: | 1088 | case 0xc8: |
1029 | default: | 1089 | case 0xce: |
1090 | case 0xcf: | ||
1030 | nv_wr32(priv, 0x41984c, 0x00005bc5); | 1091 | nv_wr32(priv, 0x41984c, 0x00005bc5); |
1031 | break; | 1092 | break; |
1093 | default: | ||
1094 | BUG_ON(1); | ||
1095 | break; | ||
1032 | } | 1096 | } |
1033 | nv_wr32(priv, 0x419850, 0x00000000); | 1097 | nv_wr32(priv, 0x419850, 0x00000000); |
1034 | nv_wr32(priv, 0x419854, 0x00000000); | 1098 | nv_wr32(priv, 0x419854, 0x00000000); |
@@ -1038,13 +1102,17 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1038 | case 0xc3: | 1102 | case 0xc3: |
1039 | case 0xc4: | 1103 | case 0xc4: |
1040 | case 0xc1: | 1104 | case 0xc1: |
1105 | case 0xce: | ||
1106 | case 0xcf: | ||
1041 | case 0xd9: | 1107 | case 0xd9: |
1042 | case 0xd7: | 1108 | case 0xd7: |
1043 | nv_wr32(priv, 0x419880, 0x00000002); | 1109 | nv_wr32(priv, 0x419880, 0x00000002); |
1044 | break; | 1110 | break; |
1045 | case 0xc0: | 1111 | case 0xc0: |
1046 | case 0xc8: | 1112 | case 0xc8: |
1113 | break; | ||
1047 | default: | 1114 | default: |
1115 | BUG_ON(1); | ||
1048 | break; | 1116 | break; |
1049 | } | 1117 | } |
1050 | nv_wr32(priv, 0x419c98, 0x00000000); | 1118 | nv_wr32(priv, 0x419c98, 0x00000000); |
@@ -1067,7 +1135,11 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1067 | case 0xc4: | 1135 | case 0xc4: |
1068 | case 0xc1: | 1136 | case 0xc1: |
1069 | case 0xc8: | 1137 | case 0xc8: |
1138 | case 0xce: | ||
1139 | case 0xcf: | ||
1140 | break; | ||
1070 | default: | 1141 | default: |
1142 | BUG_ON(1); | ||
1071 | break; | 1143 | break; |
1072 | } | 1144 | } |
1073 | nv_wr32(priv, 0x419d2c, 0x00000000); | 1145 | nv_wr32(priv, 0x419d2c, 0x00000000); |
@@ -1082,7 +1154,11 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1082 | case 0xc4: | 1154 | case 0xc4: |
1083 | case 0xc1: | 1155 | case 0xc1: |
1084 | case 0xc8: | 1156 | case 0xc8: |
1157 | case 0xce: | ||
1158 | case 0xcf: | ||
1159 | break; | ||
1085 | default: | 1160 | default: |
1161 | BUG_ON(1); | ||
1086 | break; | 1162 | break; |
1087 | } | 1163 | } |
1088 | nv_wr32(priv, 0x419c0c, 0x00000000); | 1164 | nv_wr32(priv, 0x419c0c, 0x00000000); |
@@ -1099,9 +1175,13 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1099 | case 0xc4: | 1175 | case 0xc4: |
1100 | case 0xc1: | 1176 | case 0xc1: |
1101 | case 0xc8: | 1177 | case 0xc8: |
1102 | default: | 1178 | case 0xce: |
1179 | case 0xcf: | ||
1103 | nv_wr32(priv, 0x419ea8, 0x00001100); | 1180 | nv_wr32(priv, 0x419ea8, 0x00001100); |
1104 | break; | 1181 | break; |
1182 | default: | ||
1183 | BUG_ON(1); | ||
1184 | break; | ||
1105 | } | 1185 | } |
1106 | 1186 | ||
1107 | switch (nv_device(priv)->chipset) { | 1187 | switch (nv_device(priv)->chipset) { |
@@ -1112,11 +1192,15 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1112 | case 0xc3: | 1192 | case 0xc3: |
1113 | case 0xc4: | 1193 | case 0xc4: |
1114 | case 0xc1: | 1194 | case 0xc1: |
1195 | case 0xce: | ||
1196 | case 0xcf: | ||
1115 | case 0xd9: | 1197 | case 0xd9: |
1116 | case 0xd7: | 1198 | case 0xd7: |
1117 | default: | ||
1118 | nv_wr32(priv, 0x419eac, 0x11100702); | 1199 | nv_wr32(priv, 0x419eac, 0x11100702); |
1119 | break; | 1200 | break; |
1201 | default: | ||
1202 | BUG_ON(1); | ||
1203 | break; | ||
1120 | } | 1204 | } |
1121 | nv_wr32(priv, 0x419eb0, 0x00000003); | 1205 | nv_wr32(priv, 0x419eb0, 0x00000003); |
1122 | nv_wr32(priv, 0x419eb4, 0x00000000); | 1206 | nv_wr32(priv, 0x419eb4, 0x00000000); |
@@ -1127,6 +1211,8 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1127 | case 0xc3: | 1211 | case 0xc3: |
1128 | case 0xc4: | 1212 | case 0xc4: |
1129 | case 0xc1: | 1213 | case 0xc1: |
1214 | case 0xce: | ||
1215 | case 0xcf: | ||
1130 | case 0xd9: | 1216 | case 0xd9: |
1131 | case 0xd7: | 1217 | case 0xd7: |
1132 | nv_wr32(priv, 0x419ec8, 0x0e063818); | 1218 | nv_wr32(priv, 0x419ec8, 0x0e063818); |
@@ -1135,10 +1221,12 @@ nvc0_graph_init_tpc(struct nvc0_graph_priv *priv) | |||
1135 | break; | 1221 | break; |
1136 | case 0xc0: | 1222 | case 0xc0: |
1137 | case 0xc8: | 1223 | case 0xc8: |
1138 | default: | ||
1139 | nv_wr32(priv, 0x419ec8, 0x06060618); | 1224 | nv_wr32(priv, 0x419ec8, 0x06060618); |
1140 | nv_wr32(priv, 0x419ed0, 0x0eff0e38); | 1225 | nv_wr32(priv, 0x419ed0, 0x0eff0e38); |
1141 | break; | 1226 | break; |
1227 | default: | ||
1228 | BUG_ON(1); | ||
1229 | break; | ||
1142 | } | 1230 | } |
1143 | nv_wr32(priv, 0x419ed4, 0x011104f1); | 1231 | nv_wr32(priv, 0x419ed4, 0x011104f1); |
1144 | nv_wr32(priv, 0x419edc, 0x00000000); | 1232 | nv_wr32(priv, 0x419edc, 0x00000000); |
@@ -1407,30 +1495,16 @@ nvc0_graph_init(struct nouveau_object *object) | |||
1407 | 1495 | ||
1408 | nvc0_graph_init_obj418880(priv); | 1496 | nvc0_graph_init_obj418880(priv); |
1409 | nvc0_graph_init_regs(priv); | 1497 | nvc0_graph_init_regs(priv); |
1410 | 1498 | nvc0_graph_init_unk40xx(priv); | |
1411 | switch (nv_device(priv)->chipset) { | 1499 | nvc0_graph_init_unk44xx(priv); |
1412 | case 0xc0: | 1500 | nvc0_graph_init_unk78xx(priv); |
1413 | case 0xc3: | 1501 | nvc0_graph_init_unk60xx(priv); |
1414 | case 0xc4: | 1502 | nvc0_graph_init_unk64xx(priv); |
1415 | case 0xc1: | 1503 | nvc0_graph_init_unk58xx(priv); |
1416 | case 0xc8: | 1504 | nvc0_graph_init_unk80xx(priv); |
1417 | case 0xd9: | 1505 | nvc0_graph_init_gpc(priv); |
1418 | case 0xd7: | 1506 | nvc0_graph_init_tpc(priv); |
1419 | nvc0_graph_init_unk40xx(priv); | 1507 | nvc0_graph_init_unk88xx(priv); |
1420 | nvc0_graph_init_unk44xx(priv); | ||
1421 | nvc0_graph_init_unk78xx(priv); | ||
1422 | nvc0_graph_init_unk60xx(priv); | ||
1423 | nvc0_graph_init_unk64xx(priv); | ||
1424 | nvc0_graph_init_unk58xx(priv); | ||
1425 | nvc0_graph_init_unk80xx(priv); | ||
1426 | nvc0_graph_init_gpc(priv); | ||
1427 | nvc0_graph_init_tpc(priv); | ||
1428 | nvc0_graph_init_unk88xx(priv); | ||
1429 | break; | ||
1430 | default: | ||
1431 | break; | ||
1432 | } | ||
1433 | |||
1434 | nvc0_graph_init_gpc_0(priv); | 1508 | nvc0_graph_init_gpc_0(priv); |
1435 | /*nvc0_graph_init_unitplemented_c242(priv);*/ | 1509 | /*nvc0_graph_init_unitplemented_c242(priv);*/ |
1436 | 1510 | ||