Commit f24f6eb9 authored by Dhinakaran Pandiyan's avatar Dhinakaran Pandiyan

drm/i915/dp: Restrict link retrain workaround to external monitors

Commit '3cf71bc9 ("drm/i915: Re-apply "Perform link quality check,
unconditionally during long pulse"")' applies a work around for sinks
that don't signal link loss. The work around does not need to have to be
that broad as the issue was seen with only one particular monitor; limit
this only for external displays as eDP features like PSR turn off the link
and the driver ends up retraining the link seeeing that link is not
synchronized.

Cc: Lyude Paul <lyude@redhat.com>
Cc: Jan-Marek Glogowski <glogow@fbihome.de>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
References: 3cf71bc9 ("drm/i915: Re-apply "Perform link quality check, unconditionally during long pulse"")
Signed-off-by: default avatarDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180927205735.16651-2-dhinakaran.pandiyan@intel.com
parent 9ebd8202
...@@ -5072,12 +5072,13 @@ intel_dp_long_pulse(struct intel_connector *connector, ...@@ -5072,12 +5072,13 @@ intel_dp_long_pulse(struct intel_connector *connector,
*/ */
status = connector_status_disconnected; status = connector_status_disconnected;
goto out; goto out;
} else { }
/*
* Some external monitors do not signal loss of link /*
* synchronization with an IRQ_HPD, so force a link status * Some external monitors do not signal loss of link synchronization
* check. * with an IRQ_HPD, so force a link status check.
*/ */
if (!intel_dp_is_edp(intel_dp)) {
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
intel_dp_retrain_link(encoder, ctx); intel_dp_retrain_link(encoder, ctx);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment