Commit c09d675f authored by Jan-Marek Glogowski's avatar Jan-Marek Glogowski Committed by Greg Kroah-Hartman

drm/i915: Re-apply "Perform link quality check, unconditionally during long pulse"

[ Upstream commit 3cf71bc9 ]

This re-applies the workaround for "some DP sinks, [which] are a
little nuts" from commit 1a36147b ("drm/i915: Perform link
quality check unconditionally during long pulse").
It makes the secondary AOC E2460P monitor connected via DP to an
acer Veriton N4640G usable again.

This hunk was dropped in commit c85d200e ("drm/i915: Move SST
DP link retraining into the ->post_hotplug() hook")

Fixes: c85d200e ("drm/i915: Move SST DP link retraining into the ->post_hotplug() hook")
[Cleaned up commit message, added stable cc]
Signed-off-by: default avatarLyude Paul <lyude@redhat.com>
Signed-off-by: default avatarJan-Marek Glogowski <glogow@fbihome.de>
Cc: stable@vger.kernel.org
Link: https://patchwork.freedesktop.org/patch/msgid/20180825191035.3945-1-lyude@redhat.comSigned-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 3015291b
......@@ -4739,6 +4739,22 @@ intel_dp_long_pulse(struct intel_connector *connector,
*/
status = connector_status_disconnected;
goto out;
} else {
/*
* If display is now connected check links status,
* there has been known issues of link loss triggering
* long pulse.
*
* Some sinks (eg. ASUS PB287Q) seem to perform some
* weird HPD ping pong during modesets. So we can apparently
* end up with HPD going low during a modeset, and then
* going back up soon after. And once that happens we must
* retrain the link to get a picture. That's in case no
* userspace component reacted to intermittent HPD dip.
*/
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
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