From: Greg Kroah-Hartman Date: Wed, 22 Jun 2016 22:23:03 +0000 (-0700) Subject: Revert "drm/i915: Exit cherryview_irq_handler() after one pass" X-Git-Tag: v4.6.3~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd218276595f35a9a3e2fe1d0f1ed34634cac623;p=thirdparty%2Fkernel%2Fstable.git Revert "drm/i915: Exit cherryview_irq_handler() after one pass" This reverts commit 9dbaab56ac09f07a73fe83bf69bec3e31060080a. Turns out it was a bad idea and was fixed up "properly" in 4.7 but those patches are too big to put into 4.6, so let's just revert it for now. Reported-by: Ville Syrjälä Cc: Daniel Vetter Cc: Peter Frühberger Cc: Chris Wilson Cc: Jani Nikula Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 1c212205d0e7f..d1a46ef5ab3f4 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -1829,7 +1829,7 @@ static irqreturn_t cherryview_irq_handler(int irq, void *arg) /* IRQs are synced during runtime_suspend, we don't require a wakeref */ disable_rpm_wakeref_asserts(dev_priv); - do { + for (;;) { master_ctl = I915_READ(GEN8_MASTER_IRQ) & ~GEN8_MASTER_IRQ_CONTROL; iir = I915_READ(VLV_IIR); @@ -1857,7 +1857,7 @@ static irqreturn_t cherryview_irq_handler(int irq, void *arg) I915_WRITE(GEN8_MASTER_IRQ, DE_MASTER_IRQ_CONTROL); POSTING_READ(GEN8_MASTER_IRQ); - } while (0); + } enable_rpm_wakeref_asserts(dev_priv);