On Fri, 30 Oct 2015, ville.syrjala@xxxxxxxxxxxxxxx wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > My Lenovo STM STDP3100 miniDP->VGA dongle doesn't seem to like it when > we try to start link training with non-zero vswing/preemphasis. So when > the initial link training DPCD write fails, retry it with zero values. > > Fixes a bunch of errors like so: > [drm:intel_dp_start_link_train [i915]] *ERROR* failed to enable link training > > Cc: Mika Kahola <mika.kahola@xxxxxxxxx> > Cc: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> > Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> > Fixes: 5fa836a9d859 ("drm/i915: DP link training optimization") > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Possibly Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91393 > --- > drivers/gpu/drm/i915/intel_dp.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index ba4cbf5..9529a6e 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -3750,10 +3750,17 @@ intel_dp_link_training_clock_recovery(struct intel_dp *intel_dp) > > DP |= DP_PORT_EN; > > +again: > /* clock recovery */ > if (!intel_dp_reset_link_train(intel_dp, &DP, > DP_TRAINING_PATTERN_1 | > DP_LINK_SCRAMBLING_DISABLE)) { > + if (intel_dp->train_set_valid) { > + DRM_DEBUG_KMS("Sink rejected link training request, trying again with zero values\n"); > + intel_dp->train_set_valid = false; > + goto again; > + } > + > DRM_ERROR("failed to enable link training\n"); > return; > } -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx