Commit 1a92c70e authored by Manasi Navare's avatar Manasi Navare Committed by Jani Nikula

drm/i915/dp: Generalize intel_dp_link_params function to accept arguments to be validated

This function now takes the link rate and lane ocunt to be validated
as an argument so that this can be used for validating even the
compliance test link parameters.
Signed-off-by: default avatarManasi Navare <manasi.d.navare@intel.com>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Reviewed-by: default avatarJani Nikula <jani.nikula@linux.intel.com>
Tested-by: default avatarNathan Ciobanu <nathan.d.ciobanu@linux.intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1496954463-18038-1-git-send-email-manasi.d.navare@intel.com
parent 9db529aa
...@@ -334,19 +334,20 @@ static int intel_dp_common_len_rate_limit(struct intel_dp *intel_dp, ...@@ -334,19 +334,20 @@ static int intel_dp_common_len_rate_limit(struct intel_dp *intel_dp,
return 0; return 0;
} }
static bool intel_dp_link_params_valid(struct intel_dp *intel_dp) static bool intel_dp_link_params_valid(struct intel_dp *intel_dp, int link_rate,
uint8_t lane_count)
{ {
/* /*
* FIXME: we need to synchronize the current link parameters with * FIXME: we need to synchronize the current link parameters with
* hardware readout. Currently fast link training doesn't work on * hardware readout. Currently fast link training doesn't work on
* boot-up. * boot-up.
*/ */
if (intel_dp->link_rate == 0 || if (link_rate == 0 ||
intel_dp->link_rate > intel_dp->max_link_rate) link_rate > intel_dp->max_link_rate)
return false; return false;
if (intel_dp->lane_count == 0 || if (lane_count == 0 ||
intel_dp->lane_count > intel_dp_max_lane_count(intel_dp)) lane_count > intel_dp_max_lane_count(intel_dp))
return false; return false;
return true; return true;
...@@ -4275,7 +4276,8 @@ intel_dp_check_link_status(struct intel_dp *intel_dp) ...@@ -4275,7 +4276,8 @@ intel_dp_check_link_status(struct intel_dp *intel_dp)
* Validate the cached values of intel_dp->link_rate and * Validate the cached values of intel_dp->link_rate and
* intel_dp->lane_count before attempting to retrain. * intel_dp->lane_count before attempting to retrain.
*/ */
if (!intel_dp_link_params_valid(intel_dp)) if (!intel_dp_link_params_valid(intel_dp, intel_dp->link_rate,
intel_dp->lane_count))
return; return;
/* Retrain if Channel EQ or CR not ok */ /* Retrain if Channel EQ or CR not ok */
......
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