On Mon, 2025-04-28 at 16:31 +0300, Imre Deak wrote:
> Adjusting the compressed bpp range min/max limits in
> intel_dp_dsc_nearest_valid_bpp() is unnecessary:
> 
> - The source/sink min/max values are enforced already by the
>   link_config_limits::min_bpp_x16/max_bpp_x16 values computed early in
>   intel_dp_compute_config_link_bpp_limits().
> - The fixed set of valid bpps are enforced already - for all bpps in the
>   min .. max range by intel_dp_dsc_valid_compressed_bpp() called from
>   intel_dp_mtp_tu_compute_config().
> 
> The only thing needed is limiting max compressed bpp below the
> uncompressed pipe bpp, do that one thing only instead of calling
> intel_dp_dsc_nearest_valid_bpp().
> 
> Signed-off-by: Imre Deak <imre.d...@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c     | 2 +-
>  drivers/gpu/drm/i915/display/intel_dp.h     | 2 --
>  drivers/gpu/drm/i915/display/intel_dp_mst.c | 6 +-----
>  3 files changed, 2 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index 5c206faadf93a..42b45598a0134 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -846,7 +846,7 @@ small_joiner_ram_size_bits(struct intel_display *display)
>               return 6144 * 8;
>  }
>  
> -u32 intel_dp_dsc_nearest_valid_bpp(struct intel_display *display, u32 bpp, 
> u32 pipe_bpp)
> +static u32 intel_dp_dsc_nearest_valid_bpp(struct intel_display *display, u32 
> bpp, u32 pipe_bpp)
>  {
>       u32 bits_per_pixel = bpp;
>       int i;
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.h 
> b/drivers/gpu/drm/i915/display/intel_dp.h
> index a9dd9ed1afc9d..3206c86adaba6 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.h
> +++ b/drivers/gpu/drm/i915/display/intel_dp.h
> @@ -174,8 +174,6 @@ bool intel_dp_supports_dsc(struct intel_dp *intel_dp,
>                          const struct intel_connector *connector,
>                          const struct intel_crtc_state *crtc_state);
>  
> -u32 intel_dp_dsc_nearest_valid_bpp(struct intel_display *display, u32 bpp, 
> u32 pipe_bpp);
> -
>  void intel_ddi_update_pipe(struct intel_atomic_state *state,
>                          struct intel_encoder *encoder,
>                          const struct intel_crtc_state *crtc_state,
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c 
> b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 77acac8963e27..23bb9aa554fc6 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -513,11 +513,7 @@ static int mst_stream_dsc_compute_link_config(struct 
> intel_dp *intel_dp,
>       drm_dbg_kms(display->drm, "DSC Sink supported compressed min bpp %d 
> compressed max bpp %d\n",
>                   min_compressed_bpp, max_compressed_bpp);
>  
> -     /* Align compressed bpps according to our own constraints */
> -     max_compressed_bpp = intel_dp_dsc_nearest_valid_bpp(display, 
> max_compressed_bpp,
> -                                                         
> crtc_state->pipe_bpp);
> -     min_compressed_bpp = intel_dp_dsc_nearest_valid_bpp(display, 
> min_compressed_bpp,
> -                                                         
> crtc_state->pipe_bpp);
> +     max_compressed_bpp = min(max_compressed_bpp, crtc_state->pipe_bpp - 1);
>  
>       crtc_state->lane_count = limits->max_lane_count;
>       crtc_state->port_clock = limits->max_rate;

Reviewed-by: Luca Coelho <luciano.coe...@intel.com>

--
Cheers,
Luca.

Reply via email to