diff options
author | Eric Anholt <anholt@FreeBSD.org> | 2006-04-10 09:32:45 -0700 |
---|---|---|
committer | Eric Anholt <anholt@FreeBSD.org> | 2006-04-10 09:32:45 -0700 |
commit | 334512e0604c208ffec914374a76d85720c1dcf9 (patch) | |
tree | 49655b432db5775d5078b708b8db9e573f97c28b | |
parent | 69083a2fc3ca4a3d06c1985c8a630d5628c1110c (diff) |
Don't try to use LVDS by default on chipsets that won't have an LVDS attached.
The BIOS tables may still exist, so we can't rely on their presence to indicate
LVDS attachment.
-rw-r--r-- | src/i830_driver.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c index eb6370c1..fa1019ff 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -1702,7 +1702,7 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags) char *s; ClockRangePtr clockRanges; pointer pVBEModule = NULL; - Bool enable; + Bool enable, has_lvds; const char *chipname; unsigned int ver; char v[5]; @@ -1845,6 +1845,7 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags) pI830->pVbe = pI8301->pVbe; } + has_lvds = TRUE; switch (pI830->PciInfo->chipType) { case PCI_CHIP_I830_M: chipname = "830M"; @@ -1878,9 +1879,11 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags) break; case PCI_CHIP_I865_G: chipname = "865G"; + has_lvds = FALSE; break; case PCI_CHIP_I915_G: chipname = "915G"; + has_lvds = FALSE; break; case PCI_CHIP_E7221_G: chipname = "E7221 (i915)"; @@ -1890,6 +1893,7 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags) break; case PCI_CHIP_I945_G: chipname = "945G"; + has_lvds = FALSE; break; case PCI_CHIP_I945_GM: chipname = "945GM"; @@ -2215,7 +2219,7 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags) pI830->specifiedMonitor = TRUE; } else if (I830IsPrimary(pScrn)) { /* Choose a default set of outputs to use based on what we've detected. */ - if (i830GetLVDSInfoFromBIOS(pScrn)) { + if (i830GetLVDSInfoFromBIOS(pScrn) && has_lvds) { pI830->MonType2 |= PIPE_LFP; } |