diff options
author | Alan Hourihane <alanh@fairlite.demon.co.uk> | 2005-03-15 13:10:23 +0000 |
---|---|---|
committer | Alan Hourihane <alanh@fairlite.demon.co.uk> | 2005-03-15 13:10:23 +0000 |
commit | 50a105e88cfdfc22fef8cfd2397fc5e9fae17663 (patch) | |
tree | 8eb7dedb6e9bd814cd865058b2b33c715dd88400 /src | |
parent | eb8b5df739e7be4509423c2bf757a7df35ce02f6 (diff) |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/i830_driver.c | 5 | ||||
-rw-r--r-- | src/i830_video.c | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c index acfd57d5..8d611a46 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -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); } diff --git a/src/i830_video.c b/src/i830_video.c index fed8c564..c8b715b7 100644 --- a/src/i830_video.c +++ b/src/i830_video.c @@ -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); |