Blob Blame History Raw
--- xf86-video-ati-6.6.192/src/radeon_display.c.dotclock-filter	2007-05-20 17:20:41.000000000 -0400
+++ xf86-video-ati-6.6.192/src/radeon_display.c	2007-06-27 11:07:55.000000000 -0400
@@ -222,9 +222,15 @@
 {
     MonPtr      mon = pScrn->monitor;
     xf86MonPtr  ddc = mon->DDC;
-    int         i;
+    int         i, clock;
 
-    if (flag) { /* HSync */
+    (void)flag;
+
+    clock = ddc->det_mon[i].section.ranges.max_clock * 1000;
+    if (clock < pScrn->monitor->maxPixClock || !pScrn->monitor->maxPixClock)
+	pScrn->monitor->maxPixClock = clock;
+
+    if (pScrn->monitor->nHsync <= 0) {
 	for (i = 0; i < 4; i++) {
 	    if (ddc->det_mon[i].type == DS_RANGES) {
 		mon->nHsync = 1;
@@ -270,7 +276,8 @@
 	    i++;
 	}
 	mon->nHsync = i;
-    } else {  /* Vrefresh */
+    }
+    if (pScrn->monitor->nVrefresh <= 0) {
 	for (i = 0; i < 4; i++) {
 	    if (ddc->det_mon[i].type == DS_RANGES) {
 		mon->nVrefresh = 1;
--- xf86-video-ati-6.6.192/src/radeon_driver.c.dotclock-filter	2007-05-20 17:20:14.000000000 -0400
+++ xf86-video-ati-6.6.192/src/radeon_driver.c	2007-06-27 11:08:47.000000000 -0400
@@ -2115,10 +2115,7 @@
          * additional way to auto-detect sync ranges if they haven't
          * been added to XF86Config manually.
          */
-        if (pScrn->monitor->nHsync <= 0)
-            RADEONSetSyncRangeFromEdid(pScrn, 1);
-        if (pScrn->monitor->nVrefresh <= 0)
-            RADEONSetSyncRangeFromEdid(pScrn, 0);
+        RADEONSetSyncRangeFromEdid(pScrn, 0);
     }
 
     /* Get mode information */