> -----Original Message----- > From: Nautiyal, Ankit K <ankit.k.nautiyal@xxxxxxxxx> > Sent: Friday, September 2, 2022 4:02 PM > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Navare, Manasi D <manasi.d.navare@xxxxxxxxx>; Kulkarni, Vandita > <vandita.kulkarni@xxxxxxxxx>; Roper, Matthew D > <matthew.d.roper@xxxxxxxxx> > 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@xxxxxxxxx> > Cc: Vandita Kulkarni <vandita.kulkarni@xxxxxxxxx> > Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> > > Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@xxxxxxxxx> Looks good to me. Thanks for fixing this. Reviewed-by: Vandita Kulkarni <vandita.kulkarni@xxxxxxxxx> > --- > 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