diff options
author | Matthias Hopf <mhopf@suse.de> | 2007-04-19 11:54:46 +0200 |
---|---|---|
committer | Matthias Hopf <mhopf@suse.de> | 2007-04-19 11:54:46 +0200 |
commit | ad119960095b4b64f4c6793f65950c9967ce4989 (patch) | |
tree | 169aea9b1854154f465ebd2e26ec05e0ad3db052 | |
parent | 16ef77df4ebaf5ea13baa82972aaf98e71ac32ee (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.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c index 0f9e2d61..bcc0882f 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); } } |