Hello community,

here is the log from the commit of package xf86-video-intel for 
openSUSE:Factory checked in at 2012-07-12 10:54:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-video-intel (Old)
 and      /work/SRC/openSUSE:Factory/.xf86-video-intel.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xf86-video-intel", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-video-intel/xf86-video-intel.changes        
2012-07-02 21:34:55.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xf86-video-intel.new/xf86-video-intel.changes   
2012-07-12 10:54:17.000000000 +0200
@@ -1,0 +2,8 @@
+Tue Jul 10 20:34:03 UTC 2012 - [email protected]
+
+- Add U_Fix_uxa_Check_for_DPMS_off.patch to check for DPMS off
+  before scheduling a WAIT_ON_EVENT when using uxa; fixes a
+  critical regression introduced in a previous commit
+  [bnc#768584].
+
+-------------------------------------------------------------------

New:
----
  U_Fix_uxa_Check_for_DPMS_off.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xf86-video-intel.spec ++++++
--- /var/tmp/diff_new_pack.EJmZwB/_old  2012-07-12 10:54:18.000000000 +0200
+++ /var/tmp/diff_new_pack.EJmZwB/_new  2012-07-12 10:54:18.000000000 +0200
@@ -31,6 +31,7 @@
 Patch1:         xf86-video-intel-copyfb.diff
 Patch2:         U_Avoid-calling-xf86nameCompare-with-a-NULL-string.patch
 Patch3:         U_Fix-up-braindamage-in-previous-commit.patch
+Patch4:         U_Fix_uxa_Check_for_DPMS_off.patch
 %if %glamor
 Requires:       glamor
 %endif
@@ -98,6 +99,7 @@
 #%patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 
 %build
 autoreconf -fi

++++++ U_Fix_uxa_Check_for_DPMS_off.patch ++++++
>From c4eb5528a456b65c673f7c984d14a622ac67cdca Mon Sep 17 00:00:00 2001
From: Chris Wilson <[email protected]>
Date: Tue, 05 Jun 2012 15:04:16 +0000
Subject: uxa: Check for DPMS off before scheduling a WAIT_ON_EVENT

Regression from commit 3f3bde4f0c72f6f31aae322bcdc20b95eade6631
Author: Chris Wilson <[email protected]>
Date:   Thu May 24 11:58:46 2012 +0100

    uxa: Only consider an output valid if the kernel reports it attached

When backporting from SNA, a key difference that UXA does not track DPMS
state in its enabled flag and that a DPMS off CRTC is still bound to the
fb. So we do need to rescan the outputs and check that we have a
connector enabled *and* the pipe is running prior to emitting a scanline
wait.

References: https://bugs.freedesktop.org/show_bug.cgi?id=50668
Signed-off-by: Chris Wilson <[email protected]>
---
(limited to 'src/intel_display.c')

diff --git a/src/intel_display.c b/src/intel_display.c
index 7d75abb..6f3f7e6 100644
--- a/src/intel_display.c
+++ b/src/intel_display.c
@@ -1703,13 +1703,28 @@ int intel_crtc_to_pipe(xf86CrtcPtr crtc)
 Bool intel_crtc_on(xf86CrtcPtr crtc)
 {
        struct intel_crtc *intel_crtc = crtc->driver_private;
+       xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(crtc->scrn);
        drmModeCrtcPtr drm_crtc;
        Bool ret;
+       int i;
 
        if (!crtc->enabled)
                return FALSE;
 
        /* Kernel manages CRTC status based on output config */
+       ret = FALSE;
+       for (i = 0; i < xf86_config->num_output; i++) {
+               xf86OutputPtr output = xf86_config->output[i];
+               if (output->crtc == crtc &&
+                   intel_output_dpms_status(output) == DPMSModeOn) {
+                       ret = TRUE;
+                       break;
+               }
+       }
+       if (!ret)
+               return FALSE;
+
+       /* And finally check with the kernel that the fb is bound */
        drm_crtc = drmModeGetCrtc(intel_crtc->mode->fd, crtc_id(intel_crtc));
        if (drm_crtc == NULL)
                return FALSE;
--
cgit v0.9.0.2-2-gbebe

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to