summaryrefslogtreecommitdiff
path: root/shared-core/i915_irq.c
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2006-09-29 10:27:29 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2006-09-29 10:27:29 +0200
commit7af93dd9849442270ec89cb4bbeef5bfd4f9e424 (patch)
tree72cec3ac4a9cc84e8a850cff104705da940e6e4d /shared-core/i915_irq.c
parent881ba569929ceafd42e3c86228b0172099083d1d (diff)
i915: Only schedule vblank tasklet if there are scheduled swaps pending.
This fixes issues on X server startup with versions of xf86-video-intel that enable the IRQ before they have a context ID.
Diffstat (limited to 'shared-core/i915_irq.c')
-rw-r--r--shared-core/i915_irq.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/shared-core/i915_irq.c b/shared-core/i915_irq.c
index fbc66749..76c3a810 100644
--- a/shared-core/i915_irq.c
+++ b/shared-core/i915_irq.c
@@ -171,7 +171,8 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
DRM_WAKEUP(&dev->vbl_queue);
drm_vbl_send_signals(dev);
- drm_locked_tasklet(dev, i915_vblank_tasklet);
+ if (dev_priv->swaps_pending > 0)
+ drm_locked_tasklet(dev, i915_vblank_tasklet);
}
return IRQ_HANDLED;