It appears from the specs that you have to wait for vblank after disabling the
plane, not the pipe.
This commit is contained in:
parent
ee2410b965
commit
8e819ced83
|
|
@ -384,13 +384,13 @@ i830PipeSetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode, int pipe)
|
|||
temp = INREG(DSPACNTR);
|
||||
OUTREG(DSPACNTR, temp & ~DISPLAY_PLANE_ENABLE);
|
||||
|
||||
/* Wait for vblank for the disable to take effect */
|
||||
i830WaitForVblank(pScrn);
|
||||
|
||||
/* Next, disable display pipes */
|
||||
temp = INREG(PIPEACONF);
|
||||
OUTREG(PIPEACONF, temp & ~PIPEACONF_ENABLE);
|
||||
|
||||
/* Wait for vblank for the disable to take effect */
|
||||
i830WaitForVblank(pScrn);
|
||||
|
||||
OUTREG(FPA0, fp);
|
||||
OUTREG(DPLL_A, dpll);
|
||||
OUTREG(HTOTAL_A, htot);
|
||||
|
|
@ -416,13 +416,13 @@ i830PipeSetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode, int pipe)
|
|||
temp = INREG(DSPBCNTR);
|
||||
OUTREG(DSPBCNTR, temp & ~DISPLAY_PLANE_ENABLE);
|
||||
|
||||
/* Wait for vblank for the disable to take effect */
|
||||
i830WaitForVblank(pScrn);
|
||||
|
||||
/* Next, disable display pipes */
|
||||
temp = INREG(PIPEBCONF);
|
||||
OUTREG(PIPEBCONF, temp & ~PIPEBCONF_ENABLE);
|
||||
|
||||
/* Wait for vblank for the disable to take effect */
|
||||
i830WaitForVblank(pScrn);
|
||||
|
||||
OUTREG(FPB0, fp);
|
||||
OUTREG(DPLL_B, dpll);
|
||||
OUTREG(HTOTAL_B, htot);
|
||||
|
|
|
|||
Loading…
Reference in New Issue