Message ID | 1452001802-9449-4-git-send-email-mika.kahola@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Jan 05, 2016 at 03:50:02PM +0200, Mika Kahola wrote: > Don't use DP link training optimization if channel EQ is not ok. It has > been reported that in case of failure in channel EQ check the link training > optimization can be enabled and therefore may not be able to reuse the > previously computed drive current and pre-emphasis levels. > > v2: Added MST case (Ville) > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91393 > Signed-off-by: Mika Kahola <mika.kahola@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/gpu/drm/i915/intel_dp.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 3137187..c995dbd 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -4254,6 +4254,7 @@ go_again: > if (intel_dp->active_mst_links && > !drm_dp_channel_eq_ok(&esi[10], intel_dp->lane_count)) { > DRM_DEBUG_KMS("channel EQ not ok, retraining\n"); > + intel_dp->train_set_valid = false; > intel_dp_start_link_train(intel_dp); > intel_dp_stop_link_train(intel_dp); > } > @@ -4354,6 +4355,7 @@ intel_dp_check_link_status(struct intel_dp *intel_dp) > (!drm_dp_channel_eq_ok(link_status, intel_dp->lane_count))) { > DRM_DEBUG_KMS("%s: channel EQ not ok, retraining\n", > intel_encoder->base.name); > + intel_dp->train_set_valid = false; > intel_dp_start_link_train(intel_dp); > intel_dp_stop_link_train(intel_dp); > } > -- > 1.9.1
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 3137187..c995dbd 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -4254,6 +4254,7 @@ go_again: if (intel_dp->active_mst_links && !drm_dp_channel_eq_ok(&esi[10], intel_dp->lane_count)) { DRM_DEBUG_KMS("channel EQ not ok, retraining\n"); + intel_dp->train_set_valid = false; intel_dp_start_link_train(intel_dp); intel_dp_stop_link_train(intel_dp); } @@ -4354,6 +4355,7 @@ intel_dp_check_link_status(struct intel_dp *intel_dp) (!drm_dp_channel_eq_ok(link_status, intel_dp->lane_count))) { DRM_DEBUG_KMS("%s: channel EQ not ok, retraining\n", intel_encoder->base.name); + intel_dp->train_set_valid = false; intel_dp_start_link_train(intel_dp); intel_dp_stop_link_train(intel_dp); }
Don't use DP link training optimization if channel EQ is not ok. It has been reported that in case of failure in channel EQ check the link training optimization can be enabled and therefore may not be able to reuse the previously computed drive current and pre-emphasis levels. v2: Added MST case (Ville) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91393 Signed-off-by: Mika Kahola <mika.kahola@intel.com> --- drivers/gpu/drm/i915/intel_dp.c | 2 ++ 1 file changed, 2 insertions(+)