drm/i915: Track whether the DP link is trained or not
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 17 Jan 2018 19:21:49 +0000 (21:21 +0200)
committerLyude Paul <lyude@redhat.com>
Tue, 6 Mar 2018 22:59:08 +0000 (17:59 -0500)
commitedb2e5301c4489d8c99b0f3d86a074df27f6f8ff
tree9f399467492e16478c866d124af10b295dd148b2
parent2fed7955bf4c2e87e8b3759939fd0ad961da776e
drm/i915: Track whether the DP link is trained or not

LSPCON likes to throw short HPDs during the enable seqeunce prior to the
link being trained. These obviously result in the channel CR/EQ check
failing and thus we schedule a pointless hotplug work to retrain the
link. Avoid that by ignoring the bad CR/EQ status until we've actually
initially trained the link.

I've not actually investigated to see what LSPCON is trying to signal
with the short pulse. But as long as it signals anything I think we're
supposed to check the link status anyway, so I don't really see other
good ways to solve this. I've not seen these short pulses being
generated by normal DP sinks.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180117192149.17760-5-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/intel_ddi.c
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_dp_link_training.c
drivers/gpu/drm/i915/intel_drv.h