Sync the accelerator before calling AdjustFrame to avoid lockups.
This commit is contained in:
parent
5fc5f02d76
commit
bf6fef4193
|
|
@ -4863,6 +4863,10 @@ I830BIOSAdjustFrame(int scrnIndex, int x, int y, int flags)
|
|||
DPRINTF(PFX, "I830BIOSAdjustFrame: y = %d (+ %d), x = %d (+ %d)\n",
|
||||
x, pI830->xoffset, y, pI830->yoffset);
|
||||
|
||||
/* Sync the engine before adjust frame */
|
||||
if (!pI830->noAccel)
|
||||
(*pI830->AccelInfoRec->Sync)(pScrn);
|
||||
|
||||
/* The i830M just happens to have some problems programming offsets via
|
||||
* this VESA BIOS call. Especially in dual head configurations which
|
||||
* have high resolutions which cause the DSP{A,B}BASE registers to be
|
||||
|
|
@ -5319,7 +5323,7 @@ I830BIOSSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
|
|||
|
||||
DPRINTF(PFX, "I830BIOSSwitchMode: mode == %p\n", mode);
|
||||
|
||||
/* Stops head pointer freezes for 845G */
|
||||
/* Sync the engine before mode switch */
|
||||
if (!pI830->noAccel)
|
||||
(*pI830->AccelInfoRec->Sync)(pScrn);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue