Commit 5f288ab3 authored by Linus Torvalds's avatar Linus Torvalds Committed by David S. Miller

Merge i830 IRQ handler cleanups from DRI CVS tree

parent 157d8f6d
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#include <linux/delay.h> #include <linux/delay.h>
void DRM(dma_service)(int irq, void *device, struct pt_regs *regs) irqreturn_t DRM(dma_service)(int irq, void *device, struct pt_regs *regs)
{ {
drm_device_t *dev = (drm_device_t *)device; drm_device_t *dev = (drm_device_t *)device;
drm_i830_private_t *dev_priv = (drm_i830_private_t *)dev->dev_private; drm_i830_private_t *dev_priv = (drm_i830_private_t *)dev->dev_private;
...@@ -44,15 +44,15 @@ void DRM(dma_service)(int irq, void *device, struct pt_regs *regs) ...@@ -44,15 +44,15 @@ void DRM(dma_service)(int irq, void *device, struct pt_regs *regs)
temp = I830_READ16(I830REG_INT_IDENTITY_R); temp = I830_READ16(I830REG_INT_IDENTITY_R);
DRM_DEBUG("%x\n", temp); DRM_DEBUG("%x\n", temp);
if (temp == 0) if ( !( temp & 2 ) )
return; return IRQ_NONE;
I830_WRITE16(I830REG_INT_IDENTITY_R, temp); I830_WRITE16(I830REG_INT_IDENTITY_R, temp);
if (temp & 2) { atomic_inc(&dev_priv->irq_received);
atomic_inc(&dev_priv->irq_received); wake_up_interruptible(&dev_priv->irq_queue);
wake_up_interruptible(&dev_priv->irq_queue);
} return IRQ_HANDLED;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment