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