[Intel-gfx] [PATCH 2/2] drm/i915: Unify the sanity checks for the buf trans tables

Souza, Jose jose.souza at intel.com
Wed Jan 20 19:22:49 UTC 2021


On Mon, 2020-12-07 at 22:35 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Get rid of the "I like my random new style best" approach and unify
> the handling for the DDI buf trans table sanity checks once again.

Reviewed-by: José Roberto de Souza <jose.souza at intel.com>

> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_ddi.c | 23 ++++++++++-------------
>  1 file changed, 10 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index c3a15ce66478..68693d4538e2 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -2631,15 +2631,11 @@ static void icl_ddi_combo_vswing_program(struct intel_encoder *encoder,
>  		ddi_translations = ehl_get_combo_buf_trans(encoder, crtc_state, &n_entries);
>  	else
>  		ddi_translations = icl_get_combo_buf_trans(encoder, crtc_state, &n_entries);
> -	if (!ddi_translations)
> -		return;
>  
> 
> 
> 
> -	if (level >= n_entries) {
> -		drm_dbg_kms(&dev_priv->drm,
> -			    "DDI translation not found for level %d. Using %d instead.",
> -			    level, n_entries - 1);
> +	if (drm_WARN_ON_ONCE(&dev_priv->drm, !ddi_translations))
> +		return;
> +	if (drm_WARN_ON_ONCE(&dev_priv->drm, level >= n_entries))
>  		level = n_entries - 1;
> -	}
>  
> 
> 
> 
>  	if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_EDP)) {
>  		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> @@ -2760,12 +2756,11 @@ static void icl_mg_phy_ddi_vswing_sequence(struct intel_encoder *encoder,
>  	u32 val;
>  
> 
> 
> 
>  	ddi_translations = icl_get_mg_buf_trans(encoder, crtc_state, &n_entries);
> -	if (level >= n_entries) {
> -		drm_dbg_kms(&dev_priv->drm,
> -			    "DDI translation not found for level %d. Using %d instead.",
> -			    level, n_entries - 1);
> +
> +	if (drm_WARN_ON_ONCE(&dev_priv->drm, !ddi_translations))
> +		return;
> +	if (drm_WARN_ON_ONCE(&dev_priv->drm, level >= n_entries))
>  		level = n_entries - 1;
> -	}
>  
> 
> 
> 
>  	/* Set MG_TX_LINK_PARAMS cri_use_fs32 to 0. */
>  	for (ln = 0; ln < 2; ln++) {
> @@ -2897,7 +2892,9 @@ tgl_dkl_phy_ddi_vswing_sequence(struct intel_encoder *encoder,
>  
> 
> 
> 
>  	ddi_translations = tgl_get_dkl_buf_trans(encoder, crtc_state, &n_entries);
>  
> 
> 
> 
> -	if (level >= n_entries)
> +	if (drm_WARN_ON_ONCE(&dev_priv->drm, !ddi_translations))
> +		return;
> +	if (drm_WARN_ON_ONCE(&dev_priv->drm, level >= n_entries))
>  		level = n_entries - 1;
>  
> 
> 
> 
>  	dpcnt_mask = (DKL_TX_PRESHOOT_COEFF_MASK |



More information about the Intel-gfx mailing list