From 83d17cded854871fd41cd3fcf25f38c9b67a4705 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Thu, 13 Feb 2014 12:57:50 +0000 Subject: [PATCH] sna: Clear DPMS tracking on VT switch Assume the worst and force us to reset the property when we restore control. Signed-off-by: Chris Wilson --- src/sna/sna_display.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c index e123f482..85003bf3 100644 --- a/src/sna/sna_display.c +++ b/src/sna/sna_display.c @@ -1191,6 +1191,8 @@ sna_crtc_disable(xf86CrtcPtr crtc) kgem_bo_destroy(&sna->kgem, sna_crtc->bo); sna_crtc->bo = NULL; } + + assert(sna_crtc->dpms_mode == DPMSModeOff); } static void update_flush_interval(struct sna *sna) @@ -2117,7 +2119,7 @@ sna_crtc_init(ScrnInfoPtr scrn, struct sna_mode *mode, int num) return false; sna_crtc->id = mode->kmode->crtcs[num]; - sna_crtc->dpms_mode = DPMSModeOff; + sna_crtc->dpms_mode = -1; VG_CLEAR(get_pipe); get_pipe.pipe = 0; @@ -4355,7 +4357,7 @@ void sna_mode_reset(struct sna *sna) if (sna_crtc == NULL) continue; - sna_crtc->dpms_mode = DPMSModeOff; + sna_crtc->dpms_mode = -1; /* Force the rotation property to be reset on next use */ rotation_reset(&sna_crtc->primary_rotation); @@ -4367,7 +4369,7 @@ void sna_mode_reset(struct sna *sna) if (sna_output == NULL) continue; - sna_output->dpms_mode = DPMSModeOff; + sna_output->dpms_mode = -1; } }