--- 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 */