From 7af93dd9849442270ec89cb4bbeef5bfd4f9e424 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel@tungstengraphics.com>
Date: Fri, 29 Sep 2006 10:27:29 +0200
Subject: 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.
---
 shared-core/i915_irq.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

(limited to 'shared-core')

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;
-- 
cgit v1.2.3