diff options
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.patch | 61 |
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 + |