From: Ben Hutchings Date: Thu, 7 Feb 2013 05:28:14 +0000 (+0000) Subject: drm/i915: Fix misplaced intel_mark_page_flip_active() X-Git-Tag: v3.2.39~66 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=60721982a634a2f88f2887fab3eab2853c6b7b0d;p=thirdparty%2Fkernel%2Fstable.git drm/i915: Fix misplaced intel_mark_page_flip_active() In commit 28c4566d30b8, backport of commit e7d841ca03b7 ('drm/i915: Close race between processing unpin task and queueing the flip') I somehow added two calls to intel_mark_page_flip_active() from intel_gen4_queue_flip() and none from intel_gen6_queue_flip(). There should of course be one from each. Reported-by: Julien Cristau Cc: Chris Wilson Cc: Daniel Vetter Signed-off-by: Ben Hutchings --- diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index c05e825900e9a..781742930caf8 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -7155,8 +7155,6 @@ static int intel_gen4_queue_flip(struct drm_device *dev, pipesrc = I915_READ(PIPESRC(intel_crtc->pipe)) & 0x0fff0fff; OUT_RING(pf | pipesrc); - intel_mark_page_flip_active(intel_crtc); - intel_mark_page_flip_active(intel_crtc); ADVANCE_LP_RING(); return 0; @@ -7193,6 +7191,8 @@ static int intel_gen6_queue_flip(struct drm_device *dev, pf = I915_READ(PF_CTL(intel_crtc->pipe)) & PF_ENABLE; pipesrc = I915_READ(PIPESRC(intel_crtc->pipe)) & 0x0fff0fff; OUT_RING(pf | pipesrc); + + intel_mark_page_flip_active(intel_crtc); ADVANCE_LP_RING(); return 0;