On Wed, 2025-10-15 at 19:19 +0300, Imre Deak wrote:
> Add a helper to enable the DSC compression configuration for a CRTC.
> Follow-up changes will introduce tracking for the same DSC state on
> the
> whole link, which will need to be set whenever DSC is enabled for the
> CRTC. Also, according to the above, when querying the DSC state on
> the
> link, both the CRTC's and the link's DSC state must be considered.
> 
> Setting the DSC configuration for a CRTC and querying the DSC
> configuration for the link (added by follow-up changes) is better
> done
> via helper functions based on the above, prepare for that here.
> 
> Signed-off-by: Imre Deak <[email protected]>

Reviewed-by: Jouni Högander <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/icl_dsi.c    | 2 +-
>  drivers/gpu/drm/i915/display/intel_dp.c   | 3 ++-
>  drivers/gpu/drm/i915/display/intel_vdsc.c | 5 +++++
>  drivers/gpu/drm/i915/display/intel_vdsc.h | 1 +
>  4 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c
> b/drivers/gpu/drm/i915/display/icl_dsi.c
> index 37faa8f19f6e4..297368ff42a5e 100644
> --- a/drivers/gpu/drm/i915/display/icl_dsi.c
> +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
> @@ -1655,7 +1655,7 @@ static int gen11_dsi_dsc_compute_config(struct
> intel_encoder *encoder,
>       if (ret)
>               return ret;
>  
> -     crtc_state->dsc.compression_enable = true;
> +     intel_dsc_enable_on_crtc(crtc_state);
>  
>       return 0;
>  }
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index a723e846321fd..1d3ca1970f25f 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2475,7 +2475,8 @@ int intel_dp_dsc_compute_config(struct intel_dp
> *intel_dp,
>               return ret;
>       }
>  
> -     pipe_config->dsc.compression_enable = true;
> +     intel_dsc_enable_on_crtc(pipe_config);
> +
>       drm_dbg_kms(display->drm, "DP DSC computed with Input Bpp =
> %d "
>                   "Compressed Bpp = " FXP_Q4_FMT " Slice Count =
> %d\n",
>                   pipe_config->pipe_bpp,
> diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c
> b/drivers/gpu/drm/i915/display/intel_vdsc.c
> index 8e799e225af17..64a1e9f0a1893 100644
> --- a/drivers/gpu/drm/i915/display/intel_vdsc.c
> +++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
> @@ -372,6 +372,11 @@ int intel_dsc_compute_params(struct
> intel_crtc_state *pipe_config)
>       return 0;
>  }
>  
> +void intel_dsc_enable_on_crtc(struct intel_crtc_state *crtc_state)
> +{
> +     crtc_state->dsc.compression_enable = true;
> +}
> +
>  enum intel_display_power_domain
>  intel_dsc_power_domain(struct intel_crtc *crtc, enum transcoder
> cpu_transcoder)
>  {
> diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.h
> b/drivers/gpu/drm/i915/display/intel_vdsc.h
> index 9e2812f99dd74..240bef82d3576 100644
> --- a/drivers/gpu/drm/i915/display/intel_vdsc.h
> +++ b/drivers/gpu/drm/i915/display/intel_vdsc.h
> @@ -20,6 +20,7 @@ void intel_uncompressed_joiner_enable(const struct
> intel_crtc_state *crtc_state)
>  void intel_dsc_enable(const struct intel_crtc_state *crtc_state);
>  void intel_dsc_disable(const struct intel_crtc_state *crtc_state);
>  int intel_dsc_compute_params(struct intel_crtc_state *pipe_config);
> +void intel_dsc_enable_on_crtc(struct intel_crtc_state *crtc_state);
>  void intel_dsc_get_config(struct intel_crtc_state *crtc_state);
>  enum intel_display_power_domain
>  intel_dsc_power_domain(struct intel_crtc *crtc, enum transcoder
> cpu_transcoder);

Reply via email to