debian/changelog | 8 ++++++++ src/intel_display.c | 15 +++++++++++++++ 2 files changed, 23 insertions(+)
New commits: commit ab4c2c4dd666d7506829e1840b812d66af1d122c Author: Julien Cristau <jcris...@debian.org> Date: Sat Jun 23 19:17:42 2012 +0200 Upload to unstable diff --git a/debian/changelog b/debian/changelog index 5bc9fe1..f23fe06 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +xserver-xorg-video-intel (2:2.19.0-4) unstable; urgency=medium + + * uxa: Check for DPMS off before scheduling a WAIT_ON_EVENT. Fixes + regression from a cherry-pick in 2:2.19.0-2. Thanks to Julian Andres + Klode for tracking this down. + + -- Julien Cristau <jcris...@debian.org> Sat, 23 Jun 2012 19:16:28 +0200 + xserver-xorg-video-intel (2:2.19.0-3) unstable; urgency=low * Add patch to avoid X segfaults with Driver-less Device sections in commit 9b92aefec37b34044a9e12d01ccdadeb7e9853de Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Tue Jun 5 16:04:16 2012 +0100 uxa: Check for DPMS off before scheduling a WAIT_ON_EVENT Regression from commit 3f3bde4f0c72f6f31aae322bcdc20b95eade6631 Author: Chris Wilson <ch...@chris-wilson.co.uk> 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 <ch...@chris-wilson.co.uk> (cherry picked from commit c4eb5528a456b65c673f7c984d14a622ac67cdca) diff --git a/src/intel_display.c b/src/intel_display.c index 89f7259..75d4998 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; -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1siu2y-0000un...@vasks.debian.org