diff options
authorVille Syrjälä <>2016-10-21 16:44:38 +0300
committerGreg Kroah-Hartman <>2016-11-26 09:56:56 +0100
commitf6920e5069922618e316cc41bade636fd1186c61 (patch)
parent56a02a5f60ea91a3f21164a47188835b4b77ed29 (diff)
drm/i915: Refresh that status of MST capable connectors in ->detect()
commit fc22b787890f9f9067fd130feec42297a4ee62ba upstream. 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 <> Cc: Cc: Rui Tiago Matos <> Tested-by: Rui Tiago Matos <> Bugzilla: Cc: Kirill A. Shutemov <> Tested-by: Kirill A. Shutemov <> References: Fixes: 1015811609c0 ("drm/i915: Move long hpd handling into the hotplug work") Signed-off-by: Ville Syrjälä <> Link: Reviewed-by: Chris Wilson <> (cherry picked from commit 1aab956c7b8872fb6976328316bfad62c6e67cf8) Signed-off-by: Jani Nikula <> Signed-off-by: Greg Kroah-Hartman <>
1 files changed, 0 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 3051182cf483..b8aeb28e14d7 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -4323,21 +4323,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;
connector->, 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);