diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2011-05-24 00:57:53 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-06-23 01:57:16 -0400 |
commit | e1b89b1ca59f558d4f7ec18e0b6a8eb34437c8d9 (patch) | |
tree | b9425112ddf6acbbf3fd4d6b79e45900580ae22a | |
parent | 6f376460e42220dfd44711cff3ef8d0309e277d4 (diff) |
drm/nvc0/gr: some initial state modifications
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/nvc0_graph.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nvc0_grctx.c | 16 |
2 files changed, 5 insertions, 13 deletions
diff --git a/drivers/gpu/drm/nouveau/nvc0_graph.c b/drivers/gpu/drm/nouveau/nvc0_graph.c index a57fba3da941..c99b3caa568c 100644 --- a/drivers/gpu/drm/nouveau/nvc0_graph.c +++ b/drivers/gpu/drm/nouveau/nvc0_graph.c | |||
@@ -159,7 +159,7 @@ nvc0_graph_create_context_mmio_list(struct nouveau_channel *chan) | |||
159 | nv_wo32(grch->mmio, i++ * 4, 0x00405830); | 159 | nv_wo32(grch->mmio, i++ * 4, 0x00405830); |
160 | nv_wo32(grch->mmio, i++ * 4, magic); | 160 | nv_wo32(grch->mmio, i++ * 4, magic); |
161 | for (gpc = 0; gpc < priv->gpc_nr; gpc++) { | 161 | for (gpc = 0; gpc < priv->gpc_nr; gpc++) { |
162 | for (tp = 0; tp < priv->tp_nr[gpc]; tp++, magic += 0x02fc) { | 162 | for (tp = 0; tp < priv->tp_nr[gpc]; tp++, magic += 0x0324) { |
163 | u32 reg = 0x504520 + (gpc * 0x8000) + (tp * 0x0800); | 163 | u32 reg = 0x504520 + (gpc * 0x8000) + (tp * 0x0800); |
164 | nv_wo32(grch->mmio, i++ * 4, reg); | 164 | nv_wo32(grch->mmio, i++ * 4, reg); |
165 | nv_wo32(grch->mmio, i++ * 4, magic); | 165 | nv_wo32(grch->mmio, i++ * 4, magic); |
diff --git a/drivers/gpu/drm/nouveau/nvc0_grctx.c b/drivers/gpu/drm/nouveau/nvc0_grctx.c index b74f84cc0c53..3ac376235d29 100644 --- a/drivers/gpu/drm/nouveau/nvc0_grctx.c +++ b/drivers/gpu/drm/nouveau/nvc0_grctx.c | |||
@@ -1531,21 +1531,11 @@ nvc0_grctx_generate_ccache(struct drm_device *dev) | |||
1531 | static void | 1531 | static void |
1532 | nvc0_grctx_generate_rop(struct drm_device *dev) | 1532 | nvc0_grctx_generate_rop(struct drm_device *dev) |
1533 | { | 1533 | { |
1534 | struct drm_nouveau_private *dev_priv = dev->dev_private; | ||
1535 | |||
1536 | /* ROPC_BROADCAST */ | 1534 | /* ROPC_BROADCAST */ |
1537 | nv_wr32(dev, 0x408800, 0x02802a3c); | 1535 | nv_wr32(dev, 0x408800, 0x02802a3c); |
1538 | nv_wr32(dev, 0x408804, 0x00000040); | 1536 | nv_wr32(dev, 0x408804, 0x00000040); |
1539 | nv_wr32(dev, 0x408808, 0x0003e00d); | 1537 | nv_wr32(dev, 0x408808, 0x0003e00d); |
1540 | switch (dev_priv->chipset) { | 1538 | nv_wr32(dev, 0x408900, 0x3080b801); |
1541 | case 0xc0: | ||
1542 | nv_wr32(dev, 0x408900, 0x0080b801); | ||
1543 | break; | ||
1544 | case 0xc3: | ||
1545 | case 0xc4: | ||
1546 | nv_wr32(dev, 0x408900, 0x3080b801); | ||
1547 | break; | ||
1548 | } | ||
1549 | nv_wr32(dev, 0x408904, 0x02000001); | 1539 | nv_wr32(dev, 0x408904, 0x02000001); |
1550 | nv_wr32(dev, 0x408908, 0x00c80929); | 1540 | nv_wr32(dev, 0x408908, 0x00c80929); |
1551 | nv_wr32(dev, 0x40890c, 0x00000000); | 1541 | nv_wr32(dev, 0x40890c, 0x00000000); |
@@ -1639,6 +1629,8 @@ nvc0_grctx_generate_tp(struct drm_device *dev) | |||
1639 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 1629 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
1640 | 1630 | ||
1641 | /* GPC_BROADCAST.TP_BROADCAST */ | 1631 | /* GPC_BROADCAST.TP_BROADCAST */ |
1632 | nv_wr32(dev, 0x419818, 0x00000000); | ||
1633 | nv_wr32(dev, 0x41983c, 0x00038bc7); | ||
1642 | nv_wr32(dev, 0x419848, 0x00000000); | 1634 | nv_wr32(dev, 0x419848, 0x00000000); |
1643 | nv_wr32(dev, 0x419864, 0x0000012a); | 1635 | nv_wr32(dev, 0x419864, 0x0000012a); |
1644 | nv_wr32(dev, 0x419888, 0x00000000); | 1636 | nv_wr32(dev, 0x419888, 0x00000000); |
@@ -1665,7 +1657,7 @@ nvc0_grctx_generate_tp(struct drm_device *dev) | |||
1665 | nv_wr32(dev, 0x419c04, 0x00000006); | 1657 | nv_wr32(dev, 0x419c04, 0x00000006); |
1666 | nv_wr32(dev, 0x419c08, 0x00000002); | 1658 | nv_wr32(dev, 0x419c08, 0x00000002); |
1667 | nv_wr32(dev, 0x419c20, 0x00000000); | 1659 | nv_wr32(dev, 0x419c20, 0x00000000); |
1668 | nv_wr32(dev, 0x419cbc, 0x28137606); | 1660 | nv_wr32(dev, 0x419cb0, 0x00060048); |
1669 | nv_wr32(dev, 0x419ce8, 0x00000000); | 1661 | nv_wr32(dev, 0x419ce8, 0x00000000); |
1670 | nv_wr32(dev, 0x419cf4, 0x00000183); | 1662 | nv_wr32(dev, 0x419cf4, 0x00000183); |
1671 | nv_wr32(dev, 0x419d20, 0x02180000); | 1663 | nv_wr32(dev, 0x419d20, 0x02180000); |