xf86-video-intel: Branch 'modesetting' - src/i830_xf86Crtc.c

Keith Packard keithp at kemper.freedesktop.org
Sun Dec 31 08:48:01 EET 2006


 src/i830_xf86Crtc.c |   10 ++++++++++
 1 files changed, 10 insertions(+)

New commits:
diff-tree 2330b341c925e60bc2c991b4ca8450badbc459a4 (from c70e7bc701cba3092acfdd66ed4d63487ac8ff9f)
Author: Keith Packard <keithp at neko.keithp.com>
Date:   Sat Dec 30 22:47:58 2006 -0800

    Prune default modes to EDID clock limit.
    
    Pick out the EDID max clock value and use that to elide default modes which
    are too fast.

diff --git a/src/i830_xf86Crtc.c b/src/i830_xf86Crtc.c
index 6e9e52a..91f6071 100644
--- a/src/i830_xf86Crtc.c
+++ b/src/i830_xf86Crtc.c
@@ -546,6 +546,8 @@ xf86ProbeOutputModes (ScrnInfoPtr pScrn)
 	XF86ConfMonitorPtr  conf_monitor;
 	xf86MonPtr	    edid_monitor;
 	MonRec		    mon_rec;
+	int		    min_clock = 0;
+	int		    max_clock = 0;
 	enum { sync_config, sync_edid, sync_default } sync_source = sync_default;
 	
 	while (output->probed_modes != NULL)
@@ -615,6 +617,8 @@ xf86ProbeOutputModes (ScrnInfoPtr pScrn)
 			if (sync_source == sync_default)
 			    sync_source = sync_edid;
 		    }
+		    if (ranges->max_clock > max_clock)
+			max_clock = ranges->max_clock;
 		}
 	    }
 	}
@@ -650,6 +654,12 @@ xf86ProbeOutputModes (ScrnInfoPtr pScrn)
 	 * Check default modes against sync range
 	 */
         i830xf86ValidateModesSync (pScrn, default_modes, &mon_rec);
+	/*
+	 * Check default modes against monitor max clock
+	 */
+	if (max_clock)
+	    i830xf86ValidateModesClocks(pScrn, default_modes,
+					&min_clock, &max_clock, 1);
 	
 	output->probed_modes = NULL;
 	output->probed_modes = xf86ModesAdd (output->probed_modes, config_modes);



More information about the xorg-commit mailing list