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:
parent
eb8b5df739
commit
50a105e88c
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue