summaryrefslogtreecommitdiff
path: root/src/i830_driver.c
diff options
context:
space:
mode:
authorAlan Hourihane <alanh@fairlite.demon.co.uk>2006-10-13 12:53:53 +0100
committerAlan Hourihane <alanh@fairlite.demon.co.uk>2006-10-13 12:53:53 +0100
commit8045a7a0af1b276cd7f46ce99d034fd5d503e67c (patch)
treee9b561175f937f6485077dec83460655745a68e2 /src/i830_driver.c
parent6596333b077a692c669f8cb4ae32e145f8da6731 (diff)
Fix bug #8553 & #8542 - suspend/resume regression from 1.5 driver
Diffstat (limited to 'src/i830_driver.c')
-rw-r--r--src/i830_driver.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c
index a69a9a3a..3cee1c8b 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -8041,7 +8041,11 @@ I830BIOSEnterVT(int scrnIndex, int flags)
* the Video BIOS with our saved devices, and only when that fails,
* we'll warm boot it.
*/
- if (!I830Set640x480(pScrn)) {
+ /* Check Pipe conf registers or possibly HTOTAL/VTOTAL for 0x00000000)*/
+ CARD32 temp;
+ Bool set = I830Set640x480(pScrn);
+ temp = pI830->pipe ? INREG(PIPEBCONF) : INREG(PIPEACONF);
+ if (!set || !(temp & 0x80000000)) {
xf86Int10InfoPtr pInt;
xf86DrvMsg(pScrn->scrnIndex, X_INFO,