diff options
-rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index b6e4a762806b..eacbb2f9e091 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c | |||
@@ -698,6 +698,12 @@ static int i915_get_crtc_scanoutpos(struct drm_device *dev, int pipe, | |||
698 | vbl_start = mode->crtc_vblank_start; | 698 | vbl_start = mode->crtc_vblank_start; |
699 | vbl_end = mode->crtc_vblank_end; | 699 | vbl_end = mode->crtc_vblank_end; |
700 | 700 | ||
701 | if (mode->flags & DRM_MODE_FLAG_INTERLACE) { | ||
702 | vbl_start = DIV_ROUND_UP(vbl_start, 2); | ||
703 | vbl_end /= 2; | ||
704 | vtotal /= 2; | ||
705 | } | ||
706 | |||
701 | ret |= DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_ACCURATE; | 707 | ret |= DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_ACCURATE; |
702 | 708 | ||
703 | /* | 709 | /* |