From b609f18b7b6096e1a397cf8e7ddf77e1884f2858 Mon Sep 17 00:00:00 2001 From: Malcolm Priestley Date: Thu, 20 Nov 2014 16:05:15 +0000 Subject: [PATCH] drm/i915: revert changes to i915_handle_vblank in d6bbafa1 Commit d6bbafa1 causes system to hang on call to i915_handle_vblank on call to intel_check_page_flip. This reverts change made to i915_handle_vblank in commit d6bbafa183793537d8dca4d4c2e448805e59448a drm/i915: Check for a stalled page flip after each vblank --- drivers/gpu/drm/i915/i915_irq.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index f66392b..b95523b 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -4208,7 +4208,7 @@ static bool i915_handle_vblank(struct drm_device *dev, return false; if ((iir & flip_pending) == 0) - goto check_page_flip; + return false; intel_prepare_page_flip(dev, plane); @@ -4219,14 +4219,10 @@ static bool i915_handle_vblank(struct drm_device *dev, * an interrupt per se, we watch for the change at vblank. */ if (I915_READ(ISR) & flip_pending) - goto check_page_flip; + return false; intel_finish_page_flip(dev, pipe); return true; - -check_page_flip: - intel_check_page_flip(dev, pipe); - return false; } static irqreturn_t i915_irq_handler(int irq, void *arg) -- 2.1.0