|
@@ -5307,6 +5307,7 @@ static int i9xx_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ pipeconf &= ~PIPECONF_INTERLACE_MASK;
|
|
|
if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) {
|
|
|
pipeconf |= PIPECONF_INTERLACE_W_FIELD_INDICATION;
|
|
|
/* the chip adds 2 halflines automatically */
|
|
@@ -5317,7 +5318,7 @@ static int i9xx_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
adjusted_mode->crtc_vsync_end -= 1;
|
|
|
adjusted_mode->crtc_vsync_start -= 1;
|
|
|
} else
|
|
|
- pipeconf &= ~PIPECONF_INTERLACE_MASK; /* progressive */
|
|
|
+ pipeconf |= PIPECONF_PROGRESSIVE;
|
|
|
|
|
|
I915_WRITE(HTOTAL(pipe),
|
|
|
(adjusted_mode->crtc_hdisplay - 1) |
|
|
@@ -5902,6 +5903,7 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ pipeconf &= ~PIPECONF_INTERLACE_MASK;
|
|
|
if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) {
|
|
|
pipeconf |= PIPECONF_INTERLACE_W_FIELD_INDICATION;
|
|
|
/* the chip adds 2 halflines automatically */
|
|
@@ -5912,7 +5914,7 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
|
|
|
adjusted_mode->crtc_vsync_end -= 1;
|
|
|
adjusted_mode->crtc_vsync_start -= 1;
|
|
|
} else
|
|
|
- pipeconf &= ~PIPECONF_INTERLACE_MASK; /* progressive */
|
|
|
+ pipeconf |= PIPECONF_PROGRESSIVE;
|
|
|
|
|
|
I915_WRITE(HTOTAL(pipe),
|
|
|
(adjusted_mode->crtc_hdisplay - 1) |
|