[Intel-gfx] [PATCH v2] drm/i915: Restore correct bxt_ddi_phy_calc_lane_lat_optim_mask() calculation

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Apr 12 13:38:01 UTC 2019


On Thu, Apr 11, 2019 at 07:49:25PM +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> We are no longer calling bxt_ddi_phy_calc_lane_lat_optim_mask() when
> intel{hdmi,dp}_compute_config() succeeds, and instead only call it
> when those fail. This is fallout from the bool->int
> .compute_config() conversion which failed to invert the return
> value check before calling bxt_ddi_phy_calc_lane_lat_optim_mask().
> Let's just replace it with an early bailout so that it's harder
> to miss.
> 
> This restores the correct latency optim setting calculation
> (which could fix some real failures), and avoids the
> MISSING_CASE() from bxt_ddi_phy_calc_lane_lat_optim_mask()
> after intel{hdmi,dp}_compute_config() has failed.
> 
> Cc: Lyude Paul <lyude at redhat.com>
> Fixes: 204474a6b859 ("drm/i915: Pass down rc in intel_encoder->compute_config()")
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109373
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Pushed with Lyude's irc rb.
19:53 < vsyrjala> Lyude: https://patchwork.freedesktop.org/patch/298091/?series=59351&rev=2
20:01 < Lyude> vsyrjala: whoops, thanks for catching that: Reviewed-by: Lyude Paul <lyude at redhat.com>

> ---
>  drivers/gpu/drm/i915/intel_ddi.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index 3ae55274056c..24f9106efcc6 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -3857,14 +3857,16 @@ static int intel_ddi_compute_config(struct intel_encoder *encoder,
>  		ret = intel_hdmi_compute_config(encoder, pipe_config, conn_state);
>  	else
>  		ret = intel_dp_compute_config(encoder, pipe_config, conn_state);
> +	if (ret)
> +		return ret;
>  
> -	if (IS_GEN9_LP(dev_priv) && ret)
> +	if (IS_GEN9_LP(dev_priv))
>  		pipe_config->lane_lat_optim_mask =
>  			bxt_ddi_phy_calc_lane_lat_optim_mask(pipe_config->lane_count);
>  
>  	intel_ddi_compute_min_voltage_level(dev_priv, pipe_config);
>  
> -	return ret;
> +	return 0;
>  
>  }
>  
> -- 
> 2.21.0

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list