diff --git a/src/i830_driver.c b/src/i830_driver.c index ca4544d..c199366 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -1986,7 +1986,7 @@ SaveHWState(ScrnInfoPtr pScrn) } vgaHWUnlock(hwp); - vgaHWSave(pScrn, vgaReg, VGA_SR_FONTS); + vgaHWSave(pScrn, vgaReg, VGA_SR_ALL); return TRUE; } @@ -2047,6 +2047,8 @@ RestoreHWState(ScrnInfoPtr pScrn) OUTREG(VCLK_DIVISOR_VGA0, pI830->saveVCLK_DIVISOR_VGA0); OUTREG(VCLK_DIVISOR_VGA1, pI830->saveVCLK_DIVISOR_VGA1); OUTREG(VCLK_POST_DIV, pI830->saveVCLK_POST_DIV); + vgaHWRestore(pScrn, vgaReg, VGA_SR_ALL); + vgaHWLock(hwp); /* If the pipe A PLL is active, we can restore the pipe & plane config */ if (pI830->saveDPLL_A & DPLL_VCO_ENABLE) @@ -2190,9 +2192,6 @@ RestoreHWState(ScrnInfoPtr pScrn) OUTREG(FBC_CONTROL, pI830->saveFBC_CONTROL); } - vgaHWRestore(pScrn, vgaReg, VGA_SR_FONTS); - vgaHWLock(hwp); - return TRUE; }