> -----Original Message-----
> From: Jani Nikula <[email protected]>
> Sent: Tuesday, November 26, 2019 7:13 PM
> To: [email protected]
> Cc: Nikula, Jani <[email protected]>; Navare, Manasi D
> <[email protected]>; Kulkarni, Vandita
> <[email protected]>; Ville Syrjälä <[email protected]>
> Subject: [PATCH v3 05/13] drm/i915/dsc: move slice height calculation to
> encoder
> 
> Turns out this isn't compatible with DSI, where we use the value from VBT.
> No functional changes.
> 
> Cc: Manasi Navare <[email protected]>
> Cc: Vandita Kulkarni <[email protected]>
> Cc: Ville Syrjälä <[email protected]>
> Signed-off-by: Jani Nikula <[email protected]>

Looks good to me.
Reviewed-by: Vandita Kulkarni <[email protected]>

Thanks,
Vandita
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c   | 12 ++++++++++++
>  drivers/gpu/drm/i915/display/intel_vdsc.c | 11 -----------
>  2 files changed, 12 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index 506c7d19968b..1199391331c2 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2060,6 +2060,18 @@ static int intel_dp_dsc_compute_params(struct
> intel_encoder *encoder,
>       if (ret)
>               return ret;
> 
> +     /*
> +      * Slice Height of 8 works for all currently available panels. So start
> +      * with that if pic_height is an integral multiple of 8. Eventually add
> +      * logic to try multiple slice heights.
> +      */
> +     if (vdsc_cfg->pic_height % 8 == 0)
> +             vdsc_cfg->slice_height = 8;
> +     else if (vdsc_cfg->pic_height % 4 == 0)
> +             vdsc_cfg->slice_height = 4;
> +     else
> +             vdsc_cfg->slice_height = 2;
> +
>       vdsc_cfg->dsc_version_major =
>               (intel_dp->dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] &
>                DP_DSC_MAJOR_MASK) >> DP_DSC_MAJOR_SHIFT; diff --git
> a/drivers/gpu/drm/i915/display/intel_vdsc.c
> b/drivers/gpu/drm/i915/display/intel_vdsc.c
> index 834d665a47d2..c53024dfb1ec 100644
> --- a/drivers/gpu/drm/i915/display/intel_vdsc.c
> +++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
> @@ -345,17 +345,6 @@ int intel_dsc_compute_params(struct intel_encoder
> *encoder,
>       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);
> -     /*
> -      * Slice Height of 8 works for all currently available panels. So start
> -      * with that if pic_height is an integral multiple of 8.
> -      * Eventually add logic to try multiple slice heights.
> -      */
> -     if (vdsc_cfg->pic_height % 8 == 0)
> -             vdsc_cfg->slice_height = 8;
> -     else if (vdsc_cfg->pic_height % 4 == 0)
> -             vdsc_cfg->slice_height = 4;
> -     else
> -             vdsc_cfg->slice_height = 2;
> 
>       /* Gen 11 does not support YCbCr */
>       vdsc_cfg->simple_422 = false;
> --
> 2.20.1

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to