[PATCH 3/6] drm/i915/dsc: make rc_model_size an encoder defined value
Navare, Manasi
manasi.d.navare at intel.com
Tue Dec 8 20:24:56 UTC 2020
On Tue, Dec 08, 2020 at 02:33:52PM +0200, Jani Nikula wrote:
> Move the intialization of the rc_model_size from the common code into
> encoder code, allowing different encoders to specify the size according
> to their needs. Keep using the hard coded value in the encoders for now
> to make this a non-functional change.
>
> Cc: Manasi Navare <manasi.d.navare at intel.com>
> Cc: Vandita Kulkarni <vandita.kulkarni at intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
So still using the hardcoded value since thats in the DSC C model, Looks good to me
Reviewed-by: Manasi Navare <manasi.d.navare at intel.com>
Manasi
> ---
> drivers/gpu/drm/i915/display/icl_dsi.c | 3 +++
> drivers/gpu/drm/i915/display/intel_dp.c | 8 ++++++++
> drivers/gpu/drm/i915/display/intel_vdsc.c | 2 --
> 3 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
> index a9439b415603..676e40172fe9 100644
> --- a/drivers/gpu/drm/i915/display/icl_dsi.c
> +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
> @@ -1535,6 +1535,9 @@ static int gen11_dsi_dsc_compute_config(struct intel_encoder *encoder,
>
> vdsc_cfg->convert_rgb = true;
>
> + /* FIXME: initialize from VBT */
> + vdsc_cfg->rc_model_size = DSC_RC_MODEL_SIZE_CONST;
> +
> ret = intel_dsc_compute_params(encoder, 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 cb5e42c3ecd5..b2bc0c8c39c7 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2289,6 +2289,14 @@ static int intel_dp_dsc_compute_params(struct intel_encoder *encoder,
> u8 line_buf_depth;
> int ret;
>
> + /*
> + * RC_MODEL_SIZE is currently a constant across all configurations.
> + *
> + * FIXME: Look into using sink defined DPCD DP_DSC_RC_BUF_BLK_SIZE and
> + * DP_DSC_RC_BUF_SIZE for this.
> + */
> + vdsc_cfg->rc_model_size = DSC_RC_MODEL_SIZE_CONST;
> +
> ret = intel_dsc_compute_params(encoder, crtc_state);
> if (ret)
> return ret;
> diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c b/drivers/gpu/drm/i915/display/intel_vdsc.c
> index 22d08679844f..f58cc5700784 100644
> --- a/drivers/gpu/drm/i915/display/intel_vdsc.c
> +++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
> @@ -454,8 +454,6 @@ int intel_dsc_compute_params(struct intel_encoder *encoder,
> else if (vdsc_cfg->bits_per_component == 12)
> vdsc_cfg->mux_word_size = DSC_MUX_WORD_SIZE_12_BPC;
>
> - /* RC_MODEL_SIZE is a constant across all configurations */
> - vdsc_cfg->rc_model_size = DSC_RC_MODEL_SIZE_CONST;
> /* InitialScaleValue is a 6 bit value with 3 fractional bits (U3.3) */
> vdsc_cfg->initial_scale_value = (vdsc_cfg->rc_model_size << 3) /
> (vdsc_cfg->rc_model_size - vdsc_cfg->initial_offset);
> --
> 2.20.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list