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

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
...@@ -7468,7 +7468,13 @@ static int intel_gen6_queue_flip(struct drm_device *dev, ...@@ -7468,7 +7468,13 @@ static int intel_gen6_queue_flip(struct drm_device *dev,
OUT_RING(fb->pitches[0] | obj->tiling_mode); OUT_RING(fb->pitches[0] | obj->tiling_mode);
OUT_RING(obj->gtt_offset); 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; pipesrc = I915_READ(PIPESRC(intel_crtc->pipe)) & 0x0fff0fff;
OUT_RING(pf | pipesrc); OUT_RING(pf | pipesrc);
ADVANCE_LP_RING(); ADVANCE_LP_RING();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment