Index: ct_driver.c =================================================================== RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c,v retrieving revision 1.121 diff -u -r1.121 ct_driver.c --- ct_driver.c 2002/09/16 18:05:52 1.121 +++ ct_driver.c 2002/10/08 23:39:30 @@ -1525,7 +1525,12 @@ /* linear base */ if (cPtr->Flags & ChipsLinearSupport) { if (cPtr->pEnt->location.type == BUS_PCI) { + /* Tack on 0x800000 to access the big-endian aperture? */ +#if X_BYTE_ORDER == X_BIG_ENDIAN + cPtr->FbAddress = (cPtr->PciInfo->memBase[0] & 0xff800000) + 0x800000; +#else cPtr->FbAddress = cPtr->PciInfo->memBase[0] & 0xff800000; +#endif from = X_PROBED; if (xf86RegisterResources(cPtr->pEnt->index,NULL,ResNone)) cPtr->Flags &= ~ChipsLinearSupport; @@ -1786,6 +1791,8 @@ pScrn->videoRam = 2048; break; } + /* We need to break out completely, i.e. do not fall through. */ + break; default: /* XRE0: Software reg */ /* bit 3-0: memory size */ @@ -1817,7 +1824,6 @@ } } } - if ((cPtr->Flags & ChipsDualChannelSupport) && (xf86IsEntityShared(pScrn->entityList[0]))) {