[Intel-gfx] [PATCH] drm/i915/vdsc: Set VDSC PIC_HEIGHT before using for DP DSC

Kulkarni, Vandita vandita.kulkarni at intel.com
Fri Sep 2 11:44:34 UTC 2022


> -----Original Message-----
> From: Nautiyal, Ankit K <ankit.k.nautiyal at intel.com>
> Sent: Friday, September 2, 2022 4:02 PM
> To: intel-gfx at lists.freedesktop.org
> Cc: Navare, Manasi D <manasi.d.navare at intel.com>; Kulkarni, Vandita
> <vandita.kulkarni at intel.com>; Roper, Matthew D
> <matthew.d.roper at intel.com>
> Subject: [PATCH] drm/i915/vdsc: Set VDSC PIC_HEIGHT before using for DP
> DSC
> 
> Currently, pic_height of vdsc_cfg structure is being used to calculate
> slice_height, before it is set for DP.
> 
> So taking out the lines to set pic_height from the helper
> intel_dp_dsc_compute_params() to individual encoders, and setting
> pic_height, before it is used to calculate slice_height for DP.
> 
> Fixes: 5a6d866f8e1b ("drm/i915: Get slice height before computing rc
> params")
> Cc: Manasi Navare <manasi.d.navare at intel.com>
> Cc: Vandita Kulkarni <vandita.kulkarni at intel.com>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> 
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>

Looks good to me. Thanks for fixing this.

Reviewed-by: Vandita Kulkarni <vandita.kulkarni at intel.com>
> ---
>  drivers/gpu/drm/i915/display/icl_dsi.c    | 2 ++
>  drivers/gpu/drm/i915/display/intel_dp.c   | 1 +
>  drivers/gpu/drm/i915/display/intel_vdsc.c | 1 -
>  3 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c
> b/drivers/gpu/drm/i915/display/icl_dsi.c
> index 3e20b2f65887..ed4d93942dbd 100644
> --- a/drivers/gpu/drm/i915/display/icl_dsi.c
> +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
> @@ -1630,6 +1630,8 @@ static int gen11_dsi_dsc_compute_config(struct
> intel_encoder *encoder,
>  	/* FIXME: initialize from VBT */
>  	vdsc_cfg->rc_model_size = DSC_RC_MODEL_SIZE_CONST;
> 
> +	vdsc_cfg->pic_height = crtc_state-
> >hw.adjusted_mode.crtc_vdisplay;
> +
>  	ret = intel_dsc_compute_params(crtc_state);
>  	if (ret)
>  		return ret;
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index d4e037450ac5..8dd346800112 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1406,6 +1406,7 @@ static int intel_dp_dsc_compute_params(struct
> intel_encoder *encoder,
>  	 * DP_DSC_RC_BUF_SIZE for this.
>  	 */
>  	vdsc_cfg->rc_model_size = DSC_RC_MODEL_SIZE_CONST;
> +	vdsc_cfg->pic_height = crtc_state-
> >hw.adjusted_mode.crtc_vdisplay;
> 
>  	/*
>  	 * Slice Height of 8 works for all currently available panels. So start diff
> --git a/drivers/gpu/drm/i915/display/intel_vdsc.c
> b/drivers/gpu/drm/i915/display/intel_vdsc.c
> index d7eb1af328e7..269f9792390d 100644
> --- a/drivers/gpu/drm/i915/display/intel_vdsc.c
> +++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
> @@ -460,7 +460,6 @@ int intel_dsc_compute_params(struct intel_crtc_state
> *pipe_config)
>  	u8 i = 0;
> 
>  	vdsc_cfg->pic_width = pipe_config-
> >hw.adjusted_mode.crtc_hdisplay;
> -	vdsc_cfg->pic_height = pipe_config-
> >hw.adjusted_mode.crtc_vdisplay;
>  	vdsc_cfg->slice_width = DIV_ROUND_UP(vdsc_cfg->pic_width,
>  					     pipe_config->dsc.slice_count);
> 
> --
> 2.25.1



More information about the Intel-gfx mailing list