summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2007-08-08 13:01:29 +1000
committerBen Skeggs <skeggsb@gmail.com>2007-08-08 13:01:29 +1000
commit296050eee6ca7b496e8702ceca9628de803d79f8 (patch)
tree58faff69b04b9d4e1bf21a17c2d3fe248570100e
parent4ad487190d5b79947c65e238330506db6b77e523 (diff)
nouveau/nv50: hack up initial channel context from current state
We really should be providing static values like the nv40 PGRAPH code does, however, this will do for now to keep X at least working.
-rw-r--r--shared-core/nv50_graph.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/shared-core/nv50_graph.c b/shared-core/nv50_graph.c
index f98fe601..e5bbf65e 100644
--- a/shared-core/nv50_graph.c
+++ b/shared-core/nv50_graph.c
@@ -202,6 +202,7 @@ nv50_graph_create_context(struct nouveau_channel *chan)
{
struct drm_device *dev = chan->dev;
struct drm_nouveau_private *dev_priv = dev->dev_private;
+ struct nouveau_engine *engine = &dev_priv->Engine;
struct nouveau_gpuobj *ramin = chan->ramin->gpuobj;
int grctx_size = 0x60000, hdr;
int ret;
@@ -224,6 +225,11 @@ nv50_graph_create_context(struct nouveau_channel *chan)
INSTANCE_WR(ramin, (hdr + 0x10)/4, 0);
INSTANCE_WR(ramin, (hdr + 0x14)/4, 0x00010000);
+ if ((ret = engine->graph.load_context(chan))) {
+ DRM_ERROR("Error hacking up initial context: %d\n", ret);
+ return ret;
+ }
+
return 0;
}