xf86-video-intel: 2 commits - src/sna/sna_display.c

Chris Wilson ickle at kemper.freedesktop.org
Wed Feb 1 09:37:04 UTC 2017


 src/sna/sna_display.c |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

New commits:
commit fe0846b1e17da02ebb6f0925449a90c914e4f0a1
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Feb 1 09:03:22 2017 +0000

    sna: Remove bogus assert that the connector is a zombie before reattaching
    
    To know that the connector was unplugged before we discover it was
    plugged back in again, requires handing the unplug notification in time.
    This does not always happen and we may see the reattachment instead.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99432
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 17c45c5..162686f 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -5095,7 +5095,6 @@ sna_output_add(struct sna *sna, unsigned id, unsigned serial)
 			if (strcmp(output->name, name) == 0) {
 				assert(output->scrn == scrn);
 				assert(output->funcs == &sna_output_funcs);
-				assert(to_sna_output(output)->id == 0);
 				sna_output_destroy(output);
 				goto reset;
 			}
commit 2da23747c68cf5af40eb80a90cd0ee5cfe64bbf9
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Feb 1 09:01:52 2017 +0000

    sna: Force CRTC off when DP-MST are unplugged
    
    New? modus operandi of the kernel is to keep the DP-MST around after it
    is unplugged until the last remaining user is gone - that includes our
    residual modeset.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 1b271ab..17c45c5 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -5457,9 +5457,15 @@ void sna_mode_discover(struct sna *sna, bool tell)
 		xf86DrvMsg(sna->scrn->scrnIndex, X_INFO,
 			   "Disabled output %s\n",
 			   output->name);
+		if (output->crtc) {
+			DBG(("%s: output %s still active, force CRTC off\n",
+			     __FUNCTION__, output->name));
+			/* XXX DP-MST are not shared */
+			sna_crtc_disable(output->crtc, true);
+			output->crtc = NULL;
+		}
 		sna_output->id = 0;
 		sna_output->last_detect = 0;
-		output->crtc = NULL;
 		RROutputChanged(output->randr_output, TRUE);
 		changed |= 2;
 	}


More information about the xorg-commit mailing list