Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 99d9acdd authored by Chris Wilson's avatar Chris Wilson Committed by Daniel Vetter
Browse files

drm/i915: Do not set "Enable Panel Fitter" on SNB pageflips



Not only do the pageflip work without it at non-native modes (i.e. with
the panel fitter enabled), it also causes normal (non-pageflipped)
modesets to fail.

Reported-by: default avatarAdam Jackson <ajax@redhat.com>
Tested-by: default avatarAdam Jackson <ajax@redhat.com>
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Wanted-by-for-fixes: Dave Airlie <airlied@gmail.com>
Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent c291be9d
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -7468,7 +7468,13 @@ static int intel_gen6_queue_flip(struct drm_device *dev,
	OUT_RING(fb->pitches[0] | obj->tiling_mode);
	OUT_RING(obj->gtt_offset);

	pf = I915_READ(PF_CTL(intel_crtc->pipe)) & PF_ENABLE;
	/* Contrary to the suggestions in the documentation,
	 * "Enable Panel Fitter" does not seem to be required when page
	 * flipping with a non-native mode, and worse causes a normal
	 * modeset to fail.
	 * pf = I915_READ(PF_CTL(intel_crtc->pipe)) & PF_ENABLE;
	 */
	pf = 0;
	pipesrc = I915_READ(PIPESRC(intel_crtc->pipe)) & 0x0fff0fff;
	OUT_RING(pf | pipesrc);
	ADVANCE_LP_RING();