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]
