aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index dc6ffe82d2cd..c161ace7132d 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4180,7 +4180,8 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
4180 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); 4180 struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
4181 struct intel_unpin_work *work; 4181 struct intel_unpin_work *work;
4182 unsigned long flags; 4182 unsigned long flags;
4183 int ret; 4183 int pipesrc_reg = (intel_crtc->pipe == 0) ? PIPEASRC : PIPEBSRC;
4184 int ret, pipesrc;
4184 RING_LOCALS; 4185 RING_LOCALS;
4185 4186
4186 work = kzalloc(sizeof *work, GFP_KERNEL); 4187 work = kzalloc(sizeof *work, GFP_KERNEL);
@@ -4236,7 +4237,8 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
4236 OUT_RING(fb->pitch); 4237 OUT_RING(fb->pitch);
4237 if (IS_I965G(dev)) { 4238 if (IS_I965G(dev)) {
4238 OUT_RING(obj_priv->gtt_offset | obj_priv->tiling_mode); 4239 OUT_RING(obj_priv->gtt_offset | obj_priv->tiling_mode);
4239 OUT_RING((fb->width << 16) | fb->height); 4240 pipesrc = I915_READ(pipesrc_reg);
4241 OUT_RING(pipesrc & 0x0fff0fff);
4240 } else { 4242 } else {
4241 OUT_RING(obj_priv->gtt_offset); 4243 OUT_RING(obj_priv->gtt_offset);
4242 OUT_RING(MI_NOOP); 4244 OUT_RING(MI_NOOP);