aboutsummaryrefslogtreecommitdiff
path: root/shared-core/nouveau_irq.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2007-10-16 13:32:03 +1100
committerBen Skeggs <skeggsb@gmail.com>2007-10-16 13:32:03 +1100
commit3af053779cb0fe9b75a657df76c3dd0cc08966b6 (patch)
tree635db7d890211c22085b078de903e58b346c9fed /shared-core/nouveau_irq.c
parent6398325ba11da8a01c72f6203af0a2e4b43125c2 (diff)
nouveau: Survive PFIFO_CACHE_ERROR.
Diffstat (limited to 'shared-core/nouveau_irq.c')
-rw-r--r--shared-core/nouveau_irq.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/shared-core/nouveau_irq.c b/shared-core/nouveau_irq.c
index 5a696d5e..ea93c3fd 100644
--- a/shared-core/nouveau_irq.c
+++ b/shared-core/nouveau_irq.c
@@ -92,6 +92,9 @@ static void nouveau_fifo_irq_handler(struct drm_device *dev)
"Ch %d/%d Mthd 0x%04x Data 0x%08x\n",
chid, (mthd >> 13) & 7, mthd & 0x1ffc, data);
+ NV_WRITE(NV03_PFIFO_CACHE1_GET, get + 4);
+ NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 1);
+
status &= ~NV_PFIFO_INTR_CACHE_ERROR;
NV_WRITE(NV03_PFIFO_INTR_0, NV_PFIFO_INTR_CACHE_ERROR);
}