@@ -1676,6 +1676,11 @@ found:
void intel_dp_set_link_params(struct intel_dp *intel_dp,
const struct intel_crtc_state *pipe_config)
{
+ if (intel_dp->link_rate != pipe_config->port_clock ||
+ intel_dp->lane_count != pipe_config->lane_count) {
+ intel_dp->train_set_valid = false;
+ }
+
intel_dp->link_rate = pipe_config->port_clock;
intel_dp->lane_count = pipe_config->lane_count;
}
@@ -85,6 +85,9 @@ static bool
intel_dp_reset_link_train(struct intel_dp *intel_dp,
uint8_t dp_train_pat)
{
+ DRM_DEBUG_KMS("link training optimization: %s\n",
+ yesno(intel_dp->train_set_valid));
+
if (!intel_dp->train_set_valid)
memset(intel_dp->train_set, 0, sizeof(intel_dp->train_set));
intel_dp_set_signal_levels(intel_dp);