--- radeon_driver.c-orig 2007-04-19 01:44:44.000000000 +0800 +++ radeon_driver.c 2007-04-19 01:46:39.000000000 +0800 @@ -2219,8 +2219,9 @@ pScrn->display->virtualY, info->FbMapSize, LOOKUP_BEST_REFRESH); - else if (!info->IsSecondary) - modesFound = RADEONValidateFPModes(pScrn, pScrn->display->modes); + else if (!info->IsSecondary && modesFound >= 1) + /* modesFound = RADEONValidateFPModes(pScrn, pScrn->display->modes);*/ + xf86DrvMsg(pScrn->scrnIndex, X_INFO,"Not all user defined modes supported\n"); } } --- radeon_modes.c-orig 2007-04-19 01:44:43.000000000 +0800 +++ radeon_modes.c 2007-04-19 01:46:43.000000000 +0800 @@ -190,14 +190,12 @@ #endif new->type |= M_T_DRIVER; - if (d_timings->sync == 3) { switch (d_timings->misc) { case 0: new->Flags |= V_NHSYNC | V_NVSYNC; break; case 1: new->Flags |= V_PHSYNC | V_NVSYNC; break; case 2: new->Flags |= V_NHSYNC | V_PVSYNC; break; case 3: new->Flags |= V_PHSYNC | V_PVSYNC; break; } - } count++; xf86DrvMsg(pScrn->scrnIndex, X_INFO, @@ -212,7 +210,7 @@ for (j = 0; j < 8; j++) { if (ddc->timings2[j].hsize == 0 || ddc->timings2[j].vsize == 0) continue; - for (p = pScrn->monitor->Modes; p && p->next; p = p->next) { + for (p = pScrn->monitor->Modes; p ; p = p->next) { /* Ignore all double scan modes */ if (p->Flags & V_DBLSCAN) continue; @@ -248,7 +246,7 @@ tmp = (ddc->timings1.t1 << 8) | ddc->timings1.t2; for (j = 0; j < 16; j++) { if (tmp & (1 << j)) { - for (p = pScrn->monitor->Modes; p && p->next; p = p->next) { + for (p = pScrn->monitor->Modes; p ; p = p->next) { /* Ignore all double scan modes */ if (p->Flags & V_DBLSCAN) continue; @@ -316,7 +314,7 @@ first = last = ddcModes = RADEONDDCModes(pScrn, pScrn->monitor->DDC); for (p = ddcModes; p; p = p->next) { - +#if 0 /* If primary head is a flat panel, use RMX by default */ if ((!info->IsSecondary && DisplayType != MT_CRT) && (!info->ddc_mode) && (!crtc2)) { @@ -333,7 +331,7 @@ p->Flags |= RADEON_USE_RMX; } - +#endif maxVirtX = MAX(maxVirtX, p->HDisplay); maxVirtY = MAX(maxVirtY, p->VDisplay); count++;