From: Ville Syrjälä <ville.syrj...@linux.intel.com>

The vbt on my Fujitsu-Siemens Lifebook S6010 provides two 800x600 modes,
60Hz and 56Hz. The magic register values we have correspond to the 60Hz
mode, and as I don't know how one would trick the VGA BIOS to set up
the 56Hz mode we can't get the magic values for the orther mode. So
when checking whether a mode is valid also check the pixel clock so that
we filter out the 56Hz variant.

Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/dvo_ns2501.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/dvo_ns2501.c 
b/drivers/gpu/drm/i915/dvo_ns2501.c
index b278571..64103cb 100644
--- a/drivers/gpu/drm/i915/dvo_ns2501.c
+++ b/drivers/gpu/drm/i915/dvo_ns2501.c
@@ -515,9 +515,9 @@ static enum drm_mode_status ns2501_mode_valid(struct 
intel_dvo_device *dvo,
         * of the panel in here so we could always accept it
         * by disabling the scaler.
         */
-       if ((mode->hdisplay == 800 && mode->vdisplay == 600) ||
-           (mode->hdisplay == 640 && mode->vdisplay == 480) ||
-           (mode->hdisplay == 1024 && mode->vdisplay == 768)) {
+       if ((mode->hdisplay == 640 && mode->vdisplay == 480 && mode->clock == 
25175) ||
+           (mode->hdisplay == 800 && mode->vdisplay == 600 && mode->clock == 
40000) ||
+           (mode->hdisplay == 1024 && mode->vdisplay == 768 && mode->clock == 
65000)) {
                return MODE_OK;
        } else {
                return MODE_ONE_SIZE;   /* Is this a reasonable error? */
-- 
1.8.5.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to