From 1bfb0ef1d219e6cfa5bc09215e4845a600b0d98a Mon Sep 17 00:00:00 2001 From: Piotr Redlewski Date: Mon, 6 Jul 2015 18:20:21 +0200 Subject: [PATCH] Do not try to enable already enabled CRTCs in DPMS hook --- src/drmmode_display.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 4291f4d..8483909 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 -- 2.4.5