diff options
author | Alan Hourihane <alanh@fairlite.demon.co.uk> | 2005-08-02 16:22:42 +0000 |
---|---|---|
committer | Alan Hourihane <alanh@fairlite.demon.co.uk> | 2005-08-02 16:22:42 +0000 |
commit | fd6d7d7f7ea03961c5ecf7db029f12ece93d414a (patch) | |
tree | a990a6d517fa37090d603d87cc8c6d145de36d35 | |
parent | da7b85176fc061995e1b04fa22dc736b6c9353e6 (diff) |
Adjust newPipe code for BIOS's starting at 1200XORG-6_99_99_900
-rw-r--r-- | src/i830_driver.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c index 897e8a8b..e79075eb 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -2697,16 +2697,22 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags) xf86DrvMsg(pScrn->scrnIndex, X_INFO, "BIOS Build: %d\n",pI830->bios_version); - if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) + /* Great.. + * Intel changed the BIOS version codes and started at 1200. + * We know that bios codes for 830M started around 2400. + * So we test those conditions to make this judgement. Ugh. + */ + if (pI830->availablePipes == 2 && pI830->bios_version < 2000) pI830->newPipeSwitch = TRUE; - else - if (pI830->availablePipes == 2 && pI830->bios_version >= 3062) { + else if (pI830->availablePipes == 2 && pI830->bios_version >= 3062) /* BIOS build 3062 changed the pipe switching functionality */ pI830->newPipeSwitch = TRUE; - xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Using new Pipe switch code\n"); - } else + else pI830->newPipeSwitch = FALSE; + if (pI830->newPipeSwitch) + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Using new Pipe switch code\n"); + pI830->devicePresence = FALSE; from = X_DEFAULT; if (xf86ReturnOptValBool(pI830->Options, OPTION_DEVICE_PRESENCE, FALSE)) { @@ -3467,7 +3473,7 @@ SetFenceRegs(ScrnInfoPtr pScrn) for (i = 0; i < 8; i++) { OUTREG(FENCE + i * 4, pI830->ModeReg.Fence[i]); if (I810_DEBUG & DEBUG_VERBOSE_VGA) - ErrorF("Fence Register : %lx\n", pI830->ModeReg.Fence[i]); + ErrorF("Fence Register : %x\n", pI830->ModeReg.Fence[i]); } } |