xf86-video-ati: Branch 'master'

Michel Dänzer daenzer at kemper.freedesktop.org
Fri Jun 8 03:38:39 PDT 2012


 src/radeon_video.c |   19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

New commits:
commit 248e912c487636d7352cfad43c03fc9f19fc2215
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Fri Jun 8 12:18:48 2012 +0200

    UMS: Fix CRTC DPMS state check.
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

diff --git a/src/radeon_video.c b/src/radeon_video.c
index 01703a0..fcca507 100644
--- a/src/radeon_video.c
+++ b/src/radeon_video.c
@@ -143,6 +143,22 @@ radeon_box_area(BoxPtr box)
     return (int) (box->x2 - box->x1) * (int) (box->y2 - box->y1);
 }
 
+static Bool
+radeon_crtc_is_enabled(xf86CrtcPtr crtc)
+{
+    RADEONCrtcPrivatePtr radeon_crtc;
+
+#ifdef XF86DRM_MODE
+    if (RADEONPTR(crtc->scrn)->cs) {
+	drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
+	return drmmode_crtc->dpms_mode == DPMSModeOn;
+    }
+#endif
+
+    radeon_crtc = crtc->driver_private;
+    return radeon_crtc->enabled;
+}
+
 xf86CrtcPtr
 radeon_pick_best_crtc(ScrnInfoPtr pScrn,
 		      int x1, int x2, int y1, int y2)
@@ -171,9 +187,8 @@ radeon_pick_best_crtc(ScrnInfoPtr pScrn,
 
     for (c = 0; c < xf86_config->num_crtc; c++) {
 	xf86CrtcPtr crtc = xf86_config->crtc[c];
-	drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
 
-	if (drmmode_crtc->dpms_mode == DPMSModeOff)
+	if (!radeon_crtc_is_enabled(crtc))
 	    continue;
 
 	radeon_crtc_box(crtc, &crtc_box);


More information about the xorg-commit mailing list