diff options
author | Michel Daenzer <michel@daenzer.net> | 2003-07-25 10:50:39 +0000 |
---|---|---|
committer | Michel Daenzer <michel@daenzer.net> | 2003-07-25 10:50:39 +0000 |
commit | bef7017749c9d3af733bdca4863a012f5d6506d3 (patch) | |
tree | 8152d62dfe6515a9f89c21934c5beb48b53180d2 /linux-core/i830_irq.c | |
parent | 32ef0f59a8d62460da338568af347286aa450146 (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.c | 14 |
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; } |