summaryrefslogtreecommitdiffstats
path: root/0001-drm-i915-Refresh-that-status-of-MST-capable-connecto.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-drm-i915-Refresh-that-status-of-MST-capable-connecto.patch')
-rw-r--r--0001-drm-i915-Refresh-that-status-of-MST-capable-connecto.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/0001-drm-i915-Refresh-that-status-of-MST-capable-connecto.patch b/0001-drm-i915-Refresh-that-status-of-MST-capable-connecto.patch
new file mode 100644
index 000000000..6e38648ac
--- /dev/null
+++ b/0001-drm-i915-Refresh-that-status-of-MST-capable-connecto.patch
@@ -0,0 +1,61 @@
+From 1aab956c7b8872fb6976328316bfad62c6e67cf8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
+Date: Fri, 21 Oct 2016 16:44:38 +0300
+Subject: [PATCH] drm/i915: Refresh that status of MST capable connectors in
+ ->detect()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Once we've determined that the sink is MST capable we never end up
+running through the full detect cycle again, despite getting HPDs.
+Fix tht by ripping out the incorrect piece of code responsible.
+
+This got broken when I moved the long HPD handling to the ->detect()
+hook, but failed to remove the leftover code.
+
+Cc: Ander Conselvan de Oliveira <conselvan2@gmail.com>
+Cc: drm-intel-fixes@lists.freedesktop.org
+Cc: Rui Tiago Matos <tiagomatos@gmail.com>
+Tested-by: Rui Tiago Matos <tiagomatos@gmail.com>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98323
+Cc: Kirill A. Shutemov <kirill@shutemov.name>
+Tested-by: Kirill A. Shutemov <kirill@shutemov.name>
+References: https://bugs.freedesktop.org/show_bug.cgi?id=98306
+Fixes: 27d4efc5591a ("drm/i915: Move long hpd handling into the hotplug work")
+Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Link: http://patchwork.freedesktop.org/patch/msgid/1477057478-29328-1-git-send-email-ville.syrjala@linux.intel.com
+Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
+---
+ drivers/gpu/drm/i915/intel_dp.c | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
+index f30db8f..80db8a3 100644
+--- a/drivers/gpu/drm/i915/intel_dp.c
++++ b/drivers/gpu/drm/i915/intel_dp.c
+@@ -4492,21 +4492,11 @@ static enum drm_connector_status
+ intel_dp_detect(struct drm_connector *connector, bool force)
+ {
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
+- struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
+- struct intel_encoder *intel_encoder = &intel_dig_port->base;
+ enum drm_connector_status status = connector->status;
+
+ DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n",
+ connector->base.id, connector->name);
+
+- if (intel_dp->is_mst) {
+- /* MST devices are disconnected from a monitor POV */
+- intel_dp_unset_edid(intel_dp);
+- if (intel_encoder->type != INTEL_OUTPUT_EDP)
+- intel_encoder->type = INTEL_OUTPUT_DP;
+- return connector_status_disconnected;
+- }
+-
+ /* If full detect is not performed yet, do a full detect */
+ if (!intel_dp->detect_done)
+ status = intel_dp_long_pulse(intel_dp->attached_connector);
+--
+2.7.4
+