summaryrefslogtreecommitdiff
path: root/shared-core/nouveau_irq.c
diff options
context:
space:
mode:
authorStephane Marchesin <marchesin@icps.u-strasbg.fr>2006-10-12 01:08:15 +0200
committerStephane Marchesin <marchesin@icps.u-strasbg.fr>2006-10-12 01:08:15 +0200
commita749d9d5b49ea0e402848bd6024e5c44826e784f (patch)
tree4f836e1dcd578d884c27f1e681054c8e7bf4391c /shared-core/nouveau_irq.c
parentdd473411f889cc16af255437d2a61c616bcee695 (diff)
More work on the context switch code. Still doesn't work. I'm mostly convinced it's an initialization issue.
Diffstat (limited to 'shared-core/nouveau_irq.c')
-rw-r--r--shared-core/nouveau_irq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/shared-core/nouveau_irq.c b/shared-core/nouveau_irq.c
index 9cd2c77f..39b33ea6 100644
--- a/shared-core/nouveau_irq.c
+++ b/shared-core/nouveau_irq.c
@@ -211,9 +211,11 @@ static void nouveau_nv10_context_switch(drm_device_t *dev)
channel=0;
dev_priv->cur_fifo=channel;
+ NV_WRITE(NV_PGRAPH_CTX_CONTROL, 0x10000100);
NV_WRITE(NV_PGRAPH_CTX_USER, (NV_READ(NV_PGRAPH_CTX_USER)&0xE0FFFFFF)|(dev_priv->cur_fifo<<24));
- NV_WRITE(NV_PGRAPH_CTX_CONTROL, 0x10010100);
NV_WRITE(NV_PGRAPH_FFINTFC_ST2, NV_READ(NV_PGRAPH_FFINTFC_ST2)&0xCFFFFFFF);
+ /* touch PGRAPH_CTX_SWITCH* here ? */
+ NV_WRITE(NV_PGRAPH_CTX_CONTROL, 0x10010100);
}
static void nouveau_pgraph_irq_handler(drm_device_t *dev)