Merge branch 'for-linus' of git://git.kernel.dk/linux-block
[pandora-kernel.git] / drivers / gpu / drm / i915 / i915_irq.c
index 3b03f85..23d1ae6 100644 (file)
@@ -361,10 +361,12 @@ static void notify_ring(struct drm_device *dev,
 
        ring->irq_seqno = seqno;
        wake_up_all(&ring->irq_queue);
-
-       dev_priv->hangcheck_count = 0;
-       mod_timer(&dev_priv->hangcheck_timer,
-                 jiffies + msecs_to_jiffies(DRM_I915_HANGCHECK_PERIOD));
+       if (i915_enable_hangcheck) {
+               dev_priv->hangcheck_count = 0;
+               mod_timer(&dev_priv->hangcheck_timer,
+                         jiffies +
+                         msecs_to_jiffies(DRM_I915_HANGCHECK_PERIOD));
+       }
 }
 
 static void gen6_pm_rps_work(struct work_struct *work)
@@ -1664,6 +1666,9 @@ void i915_hangcheck_elapsed(unsigned long data)
        uint32_t acthd, instdone, instdone1;
        bool err = false;
 
+       if (!i915_enable_hangcheck)
+               return;
+
        /* If all work is done then ACTHD clearly hasn't advanced. */
        if (i915_hangcheck_ring_idle(&dev_priv->ring[RCS], &err) &&
            i915_hangcheck_ring_idle(&dev_priv->ring[VCS], &err) &&