Save/restore tile-mode offset registers DSPATILEOFF and DSPBTILEOFF
Now that the driver sets these registers, they must be saved and restored.
This commit is contained in:
parent
5bc194d3d3
commit
d9f89a1af7
|
|
@ -499,6 +499,7 @@ typedef struct _I830Rec {
|
|||
CARD32 saveDSPAPOS;
|
||||
CARD32 saveDSPABASE;
|
||||
CARD32 saveDSPASURF;
|
||||
CARD32 saveDSPATILEOFF;
|
||||
CARD32 saveFPB0;
|
||||
CARD32 saveFPB1;
|
||||
CARD32 saveDPLL_B;
|
||||
|
|
@ -515,6 +516,7 @@ typedef struct _I830Rec {
|
|||
CARD32 saveDSPBPOS;
|
||||
CARD32 saveDSPBBASE;
|
||||
CARD32 saveDSPBSURF;
|
||||
CARD32 saveDSPBTILEOFF;
|
||||
CARD32 saveVCLK_DIVISOR_VGA0;
|
||||
CARD32 saveVCLK_DIVISOR_VGA1;
|
||||
CARD32 saveVCLK_POST_DIV;
|
||||
|
|
|
|||
|
|
@ -1816,6 +1816,8 @@ SaveHWState(ScrnInfoPtr pScrn)
|
|||
if (IS_I965G(pI830)) {
|
||||
pI830->saveDSPASURF = INREG(DSPASURF);
|
||||
pI830->saveDSPBSURF = INREG(DSPBSURF);
|
||||
pI830->saveDSPATILEOFF = INREG(DSPATILEOFF);
|
||||
pI830->saveDSPBTILEOFF = INREG(DSPBTILEOFF);
|
||||
}
|
||||
|
||||
pI830->saveVCLK_DIVISOR_VGA0 = INREG(VCLK_DIVISOR_VGA0);
|
||||
|
|
@ -1910,7 +1912,10 @@ RestoreHWState(ScrnInfoPtr pScrn)
|
|||
OUTREG(PIPEASRC, pI830->savePIPEASRC);
|
||||
OUTREG(DSPABASE, pI830->saveDSPABASE);
|
||||
if (IS_I965G(pI830))
|
||||
{
|
||||
OUTREG(DSPASURF, pI830->saveDSPASURF);
|
||||
OUTREG(DSPATILEOFF, pI830->saveDSPATILEOFF);
|
||||
}
|
||||
OUTREG(PIPEACONF, pI830->savePIPEACONF);
|
||||
i830WaitForVblank(pScrn);
|
||||
OUTREG(DSPACNTR, pI830->saveDSPACNTR);
|
||||
|
|
@ -1947,7 +1952,10 @@ RestoreHWState(ScrnInfoPtr pScrn)
|
|||
OUTREG(PIPEBSRC, pI830->savePIPEBSRC);
|
||||
OUTREG(DSPBBASE, pI830->saveDSPBBASE);
|
||||
if (IS_I965G(pI830))
|
||||
{
|
||||
OUTREG(DSPBSURF, pI830->saveDSPBSURF);
|
||||
OUTREG(DSPBTILEOFF, pI830->saveDSPBTILEOFF);
|
||||
}
|
||||
OUTREG(PIPEBCONF, pI830->savePIPEBCONF);
|
||||
i830WaitForVblank(pScrn);
|
||||
OUTREG(DSPBCNTR, pI830->saveDSPBCNTR);
|
||||
|
|
|
|||
Loading…
Reference in New Issue