LFP's may exist on Pipe A in older i830's. Check that case so that Panel ID can

be obtained and Xvideo is correctly setup for panel fitting.
This commit is contained in:
Alan Hourihane 2005-03-15 13:10:23 +00:00
parent eb8b5df739
commit 50a105e88c
2 changed files with 8 additions and 6 deletions

View File

@ -2633,9 +2633,10 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
}
/* Check we are on pipe B and have an LFP connected, before trying to
/* Check we have an LFP connected, before trying to
* read PanelID information. */
if ((pI830->pipe == 1) && (pI830->operatingDevices & (PIPE_LFP << 8))) {
if ( (pI830->pipe == 1 && pI830->operatingDevices & (PIPE_LFP << 8)) ||
(pI830->pipe == 0 && pI830->operatingDevices & PIPE_LFP) ) {
vbeDoPanelID(pI830->pVbe);
}

View File

@ -2036,12 +2036,13 @@ I830VideoSwitchModeAfter(ScrnInfoPtr pScrn, DisplayModePtr mode)
}
}
/* Check we are on pipe B and have an LFP connected */
if ((pPriv->pipe == 1) && (pI830->operatingDevices & (PIPE_LFP << 8))) {
size = INREG(PIPEBSRC);
/* Check we have an LFP connected */
if ((pPriv->pipe == 1 && pI830->operatingDevices & (PIPE_LFP << 8)) ||
(pPriv->pipe == 0 && pI830->operatingDevices & PIPE_LFP) ) {
size = pI830->pipe ? INREG(PIPEBSRC) : INREG(PIPEASRC);
hsize = (size >> 16) & 0x7FF;
vsize = size & 0x7FF;
active = INREG(VTOTAL_B) & 0x7FF;
active = pI830->pipe ? (INREG(VTOTAL_B) & 0x7FF) : (INREG(VTOTAL_A) & 0x7FF);
if (vsize < active && hsize > 1024)
I830SetOneLineModeRatio(pScrn);