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: 5a6d866f8e
("drm/i915: Get slice height before computing rc params")
Cc: Manasi Navare <manasi.d.navare@intel.com>
Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Vandita Kulkarni <vandita.kulkarni@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220902103219.1168781-1-ankit.k.nautiyal@intel.com
This commit is contained in:
parent
e06f1c6022
commit
e72df53dcb
|
@ -1630,6 +1630,8 @@ static int gen11_dsi_dsc_compute_config(struct intel_encoder *encoder,
|
||||||
/* FIXME: initialize from VBT */
|
/* FIXME: initialize from VBT */
|
||||||
vdsc_cfg->rc_model_size = DSC_RC_MODEL_SIZE_CONST;
|
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);
|
ret = intel_dsc_compute_params(crtc_state);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -1391,6 +1391,7 @@ static int intel_dp_dsc_compute_params(struct intel_encoder *encoder,
|
||||||
* DP_DSC_RC_BUF_SIZE for this.
|
* DP_DSC_RC_BUF_SIZE for this.
|
||||||
*/
|
*/
|
||||||
vdsc_cfg->rc_model_size = DSC_RC_MODEL_SIZE_CONST;
|
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
|
* Slice Height of 8 works for all currently available panels. So start
|
||||||
|
|
|
@ -460,7 +460,6 @@ int intel_dsc_compute_params(struct intel_crtc_state *pipe_config)
|
||||||
u8 i = 0;
|
u8 i = 0;
|
||||||
|
|
||||||
vdsc_cfg->pic_width = pipe_config->hw.adjusted_mode.crtc_hdisplay;
|
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,
|
vdsc_cfg->slice_width = DIV_ROUND_UP(vdsc_cfg->pic_width,
|
||||||
pipe_config->dsc.slice_count);
|
pipe_config->dsc.slice_count);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue