summaryrefslogtreecommitdiff
path: root/shared-core/nouveau_irq.c
diff options
context:
space:
mode:
authorBen Skeggs <darktama@iinet.net.au>2006-10-17 07:29:31 +1100
committerBen Skeggs <darktama@iinet.net.au>2006-10-17 07:29:31 +1100
commit98e718d48fcd166accf1af3c017c34e331ab09cb (patch)
tree9759691e7557f74d595cce308638091d0b167999 /shared-core/nouveau_irq.c
parent1943f39d8ce27c799f928bab172e521f4d540166 (diff)
NV40: FIFO context switching now WorksForMe(tm)
Diffstat (limited to 'shared-core/nouveau_irq.c')
-rw-r--r--shared-core/nouveau_irq.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/shared-core/nouveau_irq.c b/shared-core/nouveau_irq.c
index da68868b..cff6bbba 100644
--- a/shared-core/nouveau_irq.c
+++ b/shared-core/nouveau_irq.c
@@ -133,7 +133,7 @@ void nouveau_irq_uninstall(drm_device_t *dev)
static void nouveau_fifo_irq_handler(drm_device_t *dev)
{
- uint32_t status, chmode, chstat;
+ uint32_t status, chmode, chstat, channel;
drm_nouveau_private_t *dev_priv = dev->dev_private;
status = NV_READ(NV_PFIFO_INTSTAT);
@@ -141,9 +141,9 @@ static void nouveau_fifo_irq_handler(drm_device_t *dev)
return;
chmode = NV_READ(NV_PFIFO_MODE);
chstat = NV_READ(NV_PFIFO_DMA);
+ channel=NV_READ(NV_PFIFO_CACH1_PSH1)&(nouveau_fifo_number(dev)-1);
- DRM_DEBUG("NV: PFIFO interrupt! INTSTAT=0x%08x/MODE=0x%08x/PEND=0x%08x\n",
- status, chmode, chstat);
+ DRM_DEBUG("NV: PFIFO interrupt! Channel=%d, INTSTAT=0x%08x/MODE=0x%08x/PEND=0x%08x\n", channel, status, chmode, chstat);
if (status & NV_PFIFO_INTR_CACHE_ERROR) {
DRM_ERROR("NV: PFIFO error interrupt\n");