[PATCH] Do not try to enable already enabled CRTCs in DPMS hook

Piotr Redlewski predlewski at gmail.com
Mon Jul 6 10:57:07 PDT 2015


Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91227

Signed-off-by: Piotr Redlewski <predlewski at gmail.com>
---
 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



More information about the xorg-driver-ati mailing list