[Intel-gfx] [PATCH-v2 1/3] drm/i915: specify vertical timings in frame units for interlaced modes (gen3+)
Peter Ross
pross at xvid.org
Wed Jan 18 14:30:03 CET 2012
The I945, I965, IronLake and SandyBridge chipsets expect vertical timings in
frame units, whereas the DRM subsystem uses field units internally for
interlaced modes.
Signed-off-by: Peter Ross <pross at xvid.org>
---
drivers/gpu/drm/i915/intel_display.c | 14 ++++++++++++++
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 2a3f707..992f481 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5316,6 +5316,14 @@ static int i9xx_crtc_mode_set(struct drm_crtc *crtc,
adjusted_mode->crtc_vblank_end -= 1;
adjusted_mode->crtc_vsync_end -= 1;
adjusted_mode->crtc_vsync_start -= 1;
+ if (INTEL_INFO(dev)->gen >= 3) {
+ adjusted_mode->crtc_vdisplay *= 2;
+ adjusted_mode->crtc_vtotal *= 2;
+ adjusted_mode->crtc_vblank_start *= 2;
+ adjusted_mode->crtc_vblank_end *= 2;
+ adjusted_mode->crtc_vsync_end *= 2;
+ adjusted_mode->crtc_vsync_start *= 2;
+ }
} else
pipeconf &= ~PIPECONF_INTERLACE_MASK; /* progressive */
@@ -5908,6 +5916,12 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
adjusted_mode->crtc_vblank_end -= 1;
adjusted_mode->crtc_vsync_end -= 1;
adjusted_mode->crtc_vsync_start -= 1;
+ adjusted_mode->crtc_vdisplay *= 2;
+ adjusted_mode->crtc_vtotal *= 2;
+ adjusted_mode->crtc_vblank_start *= 2;
+ adjusted_mode->crtc_vblank_end *= 2;
+ adjusted_mode->crtc_vsync_end *= 2;
+ adjusted_mode->crtc_vsync_start *= 2;
} else
pipeconf &= ~PIPECONF_INTERLACE_W_FIELD_INDICATION; /* progressive */
--
1.7.5.4
-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20120119/dd766c75/attachment.sig>
More information about the Intel-gfx
mailing list