summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2008-03-10 11:51:05 -0700
committerEric Anholt <eric@anholt.net>2008-06-19 15:01:35 -0700
commitaf13826ed063b60a1e4179101e8889b4ab7a9d0b (patch)
treeb801ba933b07298260701badf24966bf808adbc4
parent9a05662918223477eb1cf6f80ffac08712721c70 (diff)
Add pixel multiplier support for HDMI
-rw-r--r--src/i830_hdmi.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/i830_hdmi.c b/src/i830_hdmi.c
index a5d2265b..77a51c6c 100644
--- a/src/i830_hdmi.c
+++ b/src/i830_hdmi.c
@@ -52,10 +52,25 @@ i830_hdmi_mode_valid(xf86OutputPtr output, DisplayModePtr mode)
return MODE_OK;
}
+static int
+i830_hdmi_get_pixel_multiplier(DisplayModePtr mode)
+{
+ if (mode->Clock >= 100000)
+ return 1;
+ else if (mode->Clock >= 50000)
+ return 2;
+ else
+ return 4;
+}
+
static Bool
i830_hdmi_mode_fixup(xf86OutputPtr output, DisplayModePtr mode,
DisplayModePtr adjusted_mode)
{
+ /* Make the CRTC code factor in the SDVO pixel multiplier.
+ */
+ adjusted_mode->Clock *= i830_hdmi_get_pixel_multiplier(mode);
+
return TRUE;
}