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 12:55:09 +0200
commit17a640419a447083470880f1266e14063cd5acd0 (patch)
treed9bb9ecdec537bc6c4475dab795d26312f745224 /shared-core/i915_irq.c
parent48367fdfe677adada52ad61d850e2980e1070632 (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. (cherry picked from 7af93dd9849442270ec89cb4bbeef5bfd4f9e424 commit)
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 4f72d885..71b7230f 100644
--- a/shared-core/i915_irq.c
+++ b/shared-core/i915_irq.c
@@ -176,7 +176,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;