summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Hopf <mhopf@suse.de>2007-04-19 11:54:46 +0200
committerMatthias Hopf <mhopf@suse.de>2007-04-19 11:54:46 +0200
commitad119960095b4b64f4c6793f65950c9967ce4989 (patch)
tree169aea9b1854154f465ebd2e26ec05e0ad3db052
parent16ef77df4ebaf5ea13baa82972aaf98e71ac32ee (diff)
Disable RMX for IBM Lewis server.
Due to the hardware layout RMX ddc_mode has to be set. If ddc_mode is set, RADEONValdiateFPModes() shouldn't be called. Bugzilla #10620 (3).
-rw-r--r--src/radeon_driver.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 0f9e2d6..bcc0882 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -2029,15 +2029,19 @@ static Bool RADEONPreInitModes(ScrnInfoPtr pScrn, xf86Int10InfoPtr pInt10)
xf86ReturnOptValBool(info->Options, OPTION_DDC_MODE, FALSE);
/* don't use RMX if we have a dual-tmds panels */
-
if ((connector = RADEONGetCrtcConnector(pScrn, 2)))
if (connector->MonType == MT_DFP)
info->ddc_mode = TRUE;
/* don't use RMX if we are Dell Server */
if (info->IsDellServer)
- {
info->ddc_mode = TRUE;
+ /* IBM Lewis server have troubles using the on-chip RMX mode */
+ if (info->ChipFamily == CHIP_FAMILY_RV100 && !info->HasCRTC2 && pRADEONEnt->PortInfo[0]->MonInfo) {
+ struct vendor *ven = &pRADEONEnt->PortInfo[0].MonInfo->vendor;
+ if (ven && ven->prod_id == 0x029a && ven->serial == 0x01010101)
+ info->ddc_mode = TRUE;
}
+
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Validating modes on %s head ---------\n",
info->IsSecondary ? "Secondary" : "Primary");
@@ -2219,7 +2223,7 @@ static Bool RADEONPreInitModes(ScrnInfoPtr pScrn, xf86Int10InfoPtr pInt10)
pScrn->display->virtualY,
info->FbMapSize,
LOOKUP_BEST_REFRESH);
- else if (!info->IsSecondary)
+ else if (!info->IsSecondary && !info->ddc_mode)
modesFound = RADEONValidateFPModes(pScrn, pScrn->display->modes);
}
}