diff options
-rw-r--r-- | src/i830_display.c | 4 | ||||
-rw-r--r-- | src/i830_driver.c | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/i830_display.c b/src/i830_display.c index 39a535bd..2358f193 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -1738,6 +1738,7 @@ ironlake_crtc_enable(xf86CrtcPtr crtc) ErrorF("DPMS on done\n"); + i830_modeset_ctl(crtc, 0); } void @@ -1760,6 +1761,8 @@ ironlake_crtc_disable(xf86CrtcPtr crtc) uint32_t temp, pipe_bpc; int n; + i830_modeset_ctl(crtc, 1); + temp = INREG(pipeconf_reg); pipe_bpc = temp & PIPE_BPC_MASK; @@ -1920,6 +1923,7 @@ static void igdng_crtc_dpms(xf86CrtcPtr crtc, int mode) break; case DPMSModeOff: ironlake_crtc_disable(crtc); + intel_crtc->enabled = FALSE; break; } } diff --git a/src/i830_driver.c b/src/i830_driver.c index 352a3413..1aa7f19e 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -3007,7 +3007,10 @@ static Bool I830EnterVT(int scrnIndex, int flags) /* Disable pipes */ for (i = 0; i < xf86_config->num_crtc; i++) { xf86CrtcPtr crtc = xf86_config->crtc[i]; - i830_crtc_disable(crtc, TRUE); + if (IS_IGDNG(intel)) + ironlake_crtc_disable(crtc); + else + i830_crtc_disable(crtc, TRUE); } i830WaitForVblank(scrn); } |