summaryrefslogtreecommitdiff
path: root/src/i830_lvds.c
diff options
context:
space:
mode:
authorOwain G. Ainsworth <oga@openbsd.org>2010-05-30 16:18:44 +0100
committerOwain G. Ainsworth <oga@openbsd.org>2010-05-30 16:18:44 +0100
commit230fe4c51f414e020061ceb60d2d6028a7a1ab8e (patch)
treea97f473ff34c34dfbb2460762f302a1f2040c3ec /src/i830_lvds.c
parent17c9899b3f4923a33619173970585daffbd61071 (diff)
A few more assorted lvds bits just to keep us the same as kms.
doesn't change anything here.
Diffstat (limited to 'src/i830_lvds.c')
-rw-r--r--src/i830_lvds.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/i830_lvds.c b/src/i830_lvds.c
index 8f7044d9..eaba664c 100644
--- a/src/i830_lvds.c
+++ b/src/i830_lvds.c
@@ -725,6 +725,10 @@ i830_lvds_mode_fixup(xf86OutputPtr output, DisplayModePtr mode,
goto out;
}
+ /* only full screen scale for now */
+ if (IS_IGDNG(intel))
+ goto out;
+
/* 965+ wants fuzzy fitting */
if (IS_I965G(intel))
pfit_control |= (intel_crtc->pipe << PFIT_PIPE_SHIFT) |
@@ -751,8 +755,10 @@ i830_lvds_mode_fixup(xf86OutputPtr output, DisplayModePtr mode,
* register description and PRM.
*/
/* Change the value here to see the borders for debugging */
- OUTREG(BCLRPAT_A, 0);
- OUTREG(BCLRPAT_B, 0);
+ if (!IS_IDGNG(intel)) {
+ OUTREG(BCLRPAT_A, 0);
+ OUTREG(BCLRPAT_B, 0);
+ }
switch (dev_priv->fitting_mode) {
case CENTER:
/*
@@ -958,6 +964,15 @@ i830_lvds_mode_set(xf86OutputPtr output, DisplayModePtr mode,
intel_screen_private *intel = intel_get_screen_private(scrn);
/*
+ * The LVDS pin pair will already have been turned on in the
+ * main modesetting function since it has a large impact on the
+ * DPLL settings.
+ */
+
+ if (IS_IGDNG(intel))
+ return;
+
+ /*
* PFIT must be enabled/disabled while LVDS is on but pipes are still off
*/
OUTREG(PFIT_PGM_RATIOS, dev_priv->pfit_pgm_ratios);