| Date | Sun, 17 Feb 2013 22:50:02 +0000 | From | Ben Hutchings <> | Subject | [ 01/66] drm/i915: Fix misplaced intel_mark_page_flip_active() |
| |
3.2-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ben Hutchings <ben@decadent.org.uk>
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 <jcristau@debian.org> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -7156,8 +7156,6 @@ static int intel_gen4_queue_flip(struct 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 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;
|