aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2013-06-25 18:38:18 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-07-01 13:38:17 -0400
commit4d6a3e63bce0cb604864e36585ca8983160a421a (patch)
treee9dedae77edf9d30bc052637fc0a243364fcaffc /drivers/gpu/drm/i915/intel_display.c
parentbabea61dfb82b4bdfdbc57ebf081ef6c16ffd524 (diff)
drm/i915: turn off panel fitting at flip time if needed v2
Need better pfit tracking to do this right. v2: use fastboot param around this hack Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 2e6fc4ce8ec9..6c0014d84812 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2221,6 +2221,20 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
2221 return ret; 2221 return ret;
2222 } 2222 }
2223 2223
2224 /* Update pipe size and adjust fitter if needed */
2225 if (i915_fastboot) {
2226 I915_WRITE(PIPESRC(intel_crtc->pipe),
2227 ((crtc->mode.hdisplay - 1) << 16) |
2228 (crtc->mode.vdisplay - 1));
2229 if (!intel_crtc->config.pch_pfit.size &&
2230 (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) ||
2231 intel_pipe_has_type(crtc, INTEL_OUTPUT_EDP))) {
2232 I915_WRITE(PF_CTL(intel_crtc->pipe), 0);
2233 I915_WRITE(PF_WIN_POS(intel_crtc->pipe), 0);
2234 I915_WRITE(PF_WIN_SZ(intel_crtc->pipe), 0);
2235 }
2236 }
2237
2224 ret = dev_priv->display.update_plane(crtc, fb, x, y); 2238 ret = dev_priv->display.update_plane(crtc, fb, x, y);
2225 if (ret) { 2239 if (ret) {
2226 intel_unpin_fb_obj(to_intel_framebuffer(fb)->obj); 2240 intel_unpin_fb_obj(to_intel_framebuffer(fb)->obj);