From a8ed62010d5012dfb27773595c446b217f3c00c5 Mon Sep 17 00:00:00 2001 From: Piotr Redlewski Date: Mon, 6 Jul 2015 19:57:07 +0200 Subject: Do not try to enable already enabled CRTCs in DPMS hook MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91227 Signed-off-by: Piotr Redlewski Reviewed-by: Michel Dänzer --- src/drmmode_display.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 4291f4d3..84839091 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -346,14 +346,12 @@ drmmode_crtc_dpms(xf86CrtcPtr crtc, int mode) drmmode_ptr drmmode = drmmode_crtc->drmmode; /* Disable unused CRTCs */ - if (!crtc->enabled || mode != DPMSModeOn) { + if (!crtc->enabled || mode != DPMSModeOn) drmModeSetCrtc(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id, 0, 0, 0, NULL, 0, NULL); - return; - } - - crtc->funcs->set_mode_major(crtc, &crtc->mode, crtc->rotation, - crtc->x, crtc->y); + else if (drmmode_crtc->dpms_mode != DPMSModeOn) + crtc->funcs->set_mode_major(crtc, &crtc->mode, crtc->rotation, + crtc->x, crtc->y); } static PixmapPtr -- cgit v1.2.3