Re: [PATCH v2 05/12] drm/i915/dp: Reorder intel_dp_compute_config() a bit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Ville Syrjala
> Sent: Tuesday, March 22, 2022 5:30 PM
> To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> Subject:  [PATCH v2 05/12] drm/i915/dp: Reorder
> intel_dp_compute_config() a bit
> 
> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> 
> Consolidate the double pfit call, and reorder things so that
> intel_dp_output_format() and intel_dp_compute_link_config() are back-to-back.
> They are intimately related, and will need to be called twice to properly handle the
> "4:2:0 also" modes.

Looks Good to me.
Reviewed-by: Uma Shankar <uma.shankar@xxxxxxxxx>

> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c | 23 ++++++++++-------------
>  1 file changed, 10 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index 9720571438e9..a655af1ab359 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1832,15 +1832,6 @@ intel_dp_compute_config(struct intel_encoder
> *encoder,
>  	if (HAS_PCH_SPLIT(dev_priv) && !HAS_DDI(dev_priv) && encoder->port !=
> PORT_A)
>  		pipe_config->has_pch_encoder = true;
> 
> -	pipe_config->output_format = intel_dp_output_format(&intel_connector-
> >base,
> -							    adjusted_mode);
> -
> -	if (pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR420) {
> -		ret = intel_panel_fitting(pipe_config, conn_state);
> -		if (ret)
> -			return ret;
> -	}
> -
>  	pipe_config->has_audio = intel_dp_has_audio(encoder, pipe_config,
> conn_state);
> 
>  	fixed_mode = intel_panel_fixed_mode(intel_connector, adjusted_mode);
> @@ -1848,10 +1839,6 @@ intel_dp_compute_config(struct intel_encoder
> *encoder,
>  		ret = intel_panel_compute_config(intel_connector,
> adjusted_mode);
>  		if (ret)
>  			return ret;
> -
> -		ret = intel_panel_fitting(pipe_config, conn_state);
> -		if (ret)
> -			return ret;
>  	}
> 
>  	if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN) @@ -1867,10
> +1854,20 @@ intel_dp_compute_config(struct intel_encoder *encoder,
>  	if (intel_dp_hdisplay_bad(dev_priv, adjusted_mode->crtc_hdisplay))
>  		return -EINVAL;
> 
> +	pipe_config->output_format = intel_dp_output_format(&intel_connector-
> >base,
> +							    adjusted_mode);
> +
>  	ret = intel_dp_compute_link_config(encoder, pipe_config, conn_state);
>  	if (ret < 0)
>  		return ret;
> 
> +	if ((intel_dp_is_edp(intel_dp) && fixed_mode) ||
> +	    pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR420) {
> +		ret = intel_panel_fitting(pipe_config, conn_state);
> +		if (ret)
> +			return ret;
> +	}
> +
>  	pipe_config->limited_color_range =
>  		intel_dp_limited_color_range(pipe_config, conn_state);
> 
> --
> 2.34.1





[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux