summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--driver/xf86-video-intel/src/i830_display.c1
-rw-r--r--driver/xf86-video-intel/src/i830_driver.c6
2 files changed, 4 insertions, 3 deletions
diff --git a/driver/xf86-video-intel/src/i830_display.c b/driver/xf86-video-intel/src/i830_display.c
index dd1310fad..a55466b82 100644
--- a/driver/xf86-video-intel/src/i830_display.c
+++ b/driver/xf86-video-intel/src/i830_display.c
@@ -1280,6 +1280,7 @@ i830_crtc_dpms(xf86CrtcPtr crtc, int mode)
if ((pipe == 0) && (pI830->quirk_flag & QUIRK_PIPEA_FORCE))
disable_pipe = FALSE;
i830_crtc_disable(crtc, disable_pipe);
+ intel_crtc->enabled = FALSE;
break;
}
diff --git a/driver/xf86-video-intel/src/i830_driver.c b/driver/xf86-video-intel/src/i830_driver.c
index 9b580bd66..4a4d84bdb 100644
--- a/driver/xf86-video-intel/src/i830_driver.c
+++ b/driver/xf86-video-intel/src/i830_driver.c
@@ -3156,9 +3156,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
if (pI830->directRenderingType != DRI_XF86DRI &&
pI830->back_buffer != NULL)
i830_free_3d_memory(pScrn);
-
- if (!pI830->use_drm_mode)
- I830SwapPipes(pScrn);
#endif
pScrn->fbOffset = pI830->front_buffer->offset;
@@ -3512,6 +3509,9 @@ I830EnterVT(int scrnIndex, int flags)
/* Get the hardware into a known state if needed */
if (!pI830->use_drm_mode) {
/* Disable outputs */
+
+ I830SwapPipes(pScrn);
+
for (i = 0; i < xf86_config->num_output; i++) {
xf86OutputPtr output = xf86_config->output[i];
output->funcs->dpms(output, DPMSModeOff);