38 lines
1.3 KiB
Diff
38 lines
1.3 KiB
Diff
From 7f588d4ca94f4efd146b47cdcb6483edda4886f4 Mon Sep 17 00:00:00 2001
|
|
From: Adam Jackson <ajax@redhat.com>
|
|
Date: Fri, 28 May 2010 17:17:37 -0400
|
|
Subject: [PATCH 2/4] drm/i915: Honor sync polarity from VBT panel timing descriptors
|
|
|
|
I'm actually kind of shocked that it works at all otherwise.
|
|
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
---
|
|
drivers/gpu/drm/i915/intel_bios.c | 10 ++++++++++
|
|
1 files changed, 10 insertions(+), 0 deletions(-)
|
|
|
|
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
|
|
index f9ba452..8905070 100644
|
|
--- a/drivers/gpu/drm/i915/intel_bios.c
|
|
+++ b/drivers/gpu/drm/i915/intel_bios.c
|
|
@@ -95,6 +95,16 @@ fill_detail_timing_data(struct drm_display_mode *panel_fixed_mode,
|
|
panel_fixed_mode->clock = dvo_timing->clock * 10;
|
|
panel_fixed_mode->type = DRM_MODE_TYPE_PREFERRED;
|
|
|
|
+ if (dvo_timing->hsync_positive)
|
|
+ panel_fixed_mode->flags |= DRM_MODE_FLAG_PHSYNC;
|
|
+ else
|
|
+ panel_fixed_mode->flags |= DRM_MODE_FLAG_NHSYNC;
|
|
+
|
|
+ if (dvo_timing->vsync_positive)
|
|
+ panel_fixed_mode->flags |= DRM_MODE_FLAG_PVSYNC;
|
|
+ else
|
|
+ panel_fixed_mode->flags |= DRM_MODE_FLAG_NVSYNC;
|
|
+
|
|
/* Some VBTs have bogus h/vtotal values */
|
|
if (panel_fixed_mode->hsync_end > panel_fixed_mode->htotal)
|
|
panel_fixed_mode->htotal = panel_fixed_mode->hsync_end + 1;
|
|
--
|
|
1.7.0.1
|
|
|