[Intel-gfx] [PATCH 1/4] drm/i915: Clear leftover DP vswing/preemphasis values before modeset
Imre Deak
imre.deak at intel.com
Thu Sep 30 15:25:18 UTC 2021
On Thu, Sep 30, 2021 at 04:43:07PM +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Currently we clear the leftover vswing/preemphasis values only
> at the start of link training. That means the initial vswing
> programming performed during modeset is going to use stale values
> left over from the previous link training sequence, and then at
> the start of link training we're going to reset the levels back
> to 0. Seems much better to make sure we start with level 0 from
> the get go.
>
> Additionally if LTTPRs are present the leftover vswing/preemphasis
> values are those of the last link in the chain, so not the values
> that our PHY is even using after a successful link training sequence.
>
> So let's make sure everything is cleared up before we start
> programming anything.
>
> Suggested-by: Imre Deak <imre.deak at intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Imre Deak <imre.deak at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 8f5a935b72b6..74a657ae131a 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1835,6 +1835,7 @@ intel_dp_compute_config(struct intel_encoder *encoder,
> void intel_dp_set_link_params(struct intel_dp *intel_dp,
> int link_rate, int lane_count)
> {
> + memset(intel_dp->train_set, 0, sizeof(intel_dp->train_set));
> intel_dp->link_trained = false;
> intel_dp->link_rate = link_rate;
> intel_dp->lane_count = lane_count;
> --
> 2.32.0
>
More information about the Intel-gfx
mailing list