summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Hourihane <alanh@fairlite.demon.co.uk>2006-01-25 22:17:00 +0000
committerAlan Hourihane <alanh@fairlite.demon.co.uk>2006-01-25 22:17:00 +0000
commit77d1c579f3031789031dd203175d3c9555226f79 (patch)
treeac7541db24282ed9699d498a892d1d0a293c9367
parentd8d749080923e88376db1aa18ae2ad722d5113d9 (diff)
Fix a glitch in a dual head fix from #3105
-rw-r--r--src/i830_driver.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 29606c42..7ba6da38 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -3264,7 +3264,7 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags)
Clock = pMon->Clock;
}
- if (DDCclock < 2550 && Clock / 1000.0 > DDCclock) {
+ if (Clock != 100000000 && DDCclock < 2550 && Clock / 1000.0 > DDCclock) {
ErrorF("(%s,%s) mode clock %gMHz exceeds DDC maximum %dMHz\n",
p->name, pScrn->monitor->id,
Clock/1000.0, DDCclock);
@@ -4806,20 +4806,23 @@ I830BIOSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
* If we're changing the BIOS's view of the video memory size, do that
* first, then re-initialise the VBE information.
*/
- SetPipeAccess(pScrn);
if (I830IsPrimary(pScrn)) {
+ SetPipeAccess(pScrn);
if (pI830->pVbe)
vbeFree(pI830->pVbe);
pI830->pVbe = VBEInit(NULL, pI830->pEnt->index);
} else {
pI830->pVbe = pI8301->pVbe;
}
+
if (I830IsPrimary(pScrn)) {
if (!TweakMemorySize(pScrn, pI830->newBIOSMemSize,FALSE))
SetBIOSMemSize(pScrn, pI830->newBIOSMemSize);
}
+
if (!pI830->pVbe)
return FALSE;
+
if (I830IsPrimary(pScrn)) {
if (pI830->vbeInfo)
VBEFreeVBEInfo(pI830->vbeInfo);
@@ -4828,6 +4831,8 @@ I830BIOSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
pI830->vbeInfo = pI8301->vbeInfo;
}
+ SetPipeAccess(pScrn);
+
miClearVisualTypes();
if (!miSetVisualTypes(pScrn->depth,
miGetDefaultVisualMask(pScrn->depth),
@@ -5372,7 +5377,7 @@ I830DetectMonitorChange(ScrnInfoPtr pScrn)
Clock = pMon->Clock;
}
- if (DDCclock < 2550 && Clock / 1000.0 > DDCclock) {
+ if (Clock != 100000000 && DDCclock < 2550 && Clock / 1000.0 > DDCclock) {
ErrorF("(%s,%s) mode clock %gMHz exceeds DDC maximum %dMHz\n",
p->name, pScrn->monitor->id,
Clock/1000.0, DDCclock);