From 77b6d1b7363d3ff28f063ed92c9ed47194f70b20 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Mon, 8 Mar 2010 23:17:28 +0100 Subject: Translate KMS pixel clock values -> X values There's a factor of 1000 difference, which seems to confuse X and prevent switching of resolution without general carnage. --- src/glamo-kms-crtc.c | 2 +- src/glamo-kms-output.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/glamo-kms-crtc.c b/src/glamo-kms-crtc.c index fdf0e9f..e00c41e 100644 --- a/src/glamo-kms-crtc.c +++ b/src/glamo-kms-crtc.c @@ -119,7 +119,7 @@ static void crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, drmModeCrtcPtr drm_crtc = crtcp->drm_crtc; drmModeModeInfo drm_mode; - drm_mode.clock = mode->Clock; + drm_mode.clock = mode->Clock * 1000.0; drm_mode.hdisplay = mode->HDisplay; drm_mode.hsync_start = mode->HSyncStart; drm_mode.hsync_end = mode->HSyncEnd; diff --git a/src/glamo-kms-output.c b/src/glamo-kms-output.c index 7b9f997..1f67eb0 100644 --- a/src/glamo-kms-output.c +++ b/src/glamo-kms-output.c @@ -152,7 +152,7 @@ static DisplayModePtr get_modes(xf86OutputPtr output) if (!mode) continue; mode->type = 0; - mode->Clock = drm_mode->clock; + mode->Clock = drm_mode->clock / 1000.0; mode->HDisplay = drm_mode->hdisplay; mode->HSyncStart = drm_mode->hsync_start; mode->HSyncEnd = drm_mode->hsync_end; -- cgit v1.2.3