summaryrefslogtreecommitdiff
path: root/linux-core/i830_irq.c
diff options
context:
space:
mode:
authorMichel Daenzer <michel@daenzer.net>2003-07-25 10:50:39 +0000
committerMichel Daenzer <michel@daenzer.net>2003-07-25 10:50:39 +0000
commitbef7017749c9d3af733bdca4863a012f5d6506d3 (patch)
tree8152d62dfe6515a9f89c21934c5beb48b53180d2 /linux-core/i830_irq.c
parent32ef0f59a8d62460da338568af347286aa450146 (diff)
Compile fixes for recent 2.5/2.6 Linux kernels. I hope this doesn't break
the i830 driver or the BSDs. :)
Diffstat (limited to 'linux-core/i830_irq.c')
-rw-r--r--linux-core/i830_irq.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/linux-core/i830_irq.c b/linux-core/i830_irq.c
index 1fcd9f0a..301afc8a 100644
--- a/linux-core/i830_irq.c
+++ b/linux-core/i830_irq.c
@@ -36,7 +36,7 @@
#include <linux/delay.h>
-void DRM(dma_service)(int irq, void *device, struct pt_regs *regs)
+DRM_IRQ_RET DRM(dma_service)( DRM_IRQ_ARGS )
{
drm_device_t *dev = (drm_device_t *)device;
drm_i830_private_t *dev_priv = (drm_i830_private_t *)dev->dev_private;
@@ -45,15 +45,15 @@ void DRM(dma_service)(int irq, void *device, struct pt_regs *regs)
temp = I830_READ16(I830REG_INT_IDENTITY_R);
DRM_DEBUG("%x\n", temp);
- if (temp == 0)
- return;
+ if ( !( temp & 2 ) )
+ return DRM_IRQ_NONE;
I830_WRITE16(I830REG_INT_IDENTITY_R, temp);
- if (temp & 2) {
- atomic_inc(&dev_priv->irq_received);
- wake_up_interruptible(&dev_priv->irq_queue);
- }
+ atomic_inc(&dev_priv->irq_received);
+ wake_up_interruptible(&dev_priv->irq_queue);
+
+ return DRM_IRQ_HANDLED;
}