On Wed, 25 Sep 2024, Nemesa Garg <nemesa.garg@xxxxxxxxx> wrote: > For all encoders add gmch_panel_fitting and remove > pch_panel_fitting as it will be called from pipe_config > after joiner calculation is done. > > Signed-off-by: Nemesa Garg <nemesa.garg@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/icl_dsi.c | 8 +++++--- > drivers/gpu/drm/i915/display/intel_dp.c | 5 ++--- > drivers/gpu/drm/i915/display/intel_hdmi.c | 4 ++-- > drivers/gpu/drm/i915/display/intel_lvds.c | 8 +++++--- > drivers/gpu/drm/i915/display/vlv_dsi.c | 8 +++++--- > 5 files changed, 19 insertions(+), 14 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c > index 293efc1f841d..cfbfbc815d8c 100644 > --- a/drivers/gpu/drm/i915/display/icl_dsi.c > +++ b/drivers/gpu/drm/i915/display/icl_dsi.c > @@ -1641,9 +1641,11 @@ static int gen11_dsi_compute_config(struct intel_encoder *encoder, > if (ret) > return ret; > > - ret = intel_panel_fitting(pipe_config, conn_state); > - if (ret) > - return ret; > + if (HAS_GMCH(i915)) { ICL DSI code is only used when HAS_DDI() is true, but HAS_GMCH() and HAS_DDI() are never both true at the same time. > + ret = intel_gch_panel_fitting(pipe_config, conn_state); > + if (ret) > + return ret; > + } > > adjusted_mode->flags = 0; > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index a1fcedfd404b..480cb8dc2948 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -3049,9 +3049,8 @@ intel_dp_compute_config(struct intel_encoder *encoder, > if (ret) > return ret; > > - if ((intel_dp_is_edp(intel_dp) && fixed_mode) || > - pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR420) { > - ret = intel_panel_fitting(pipe_config, conn_state); > + if (HAS_GMCH(dev_priv)) { > + ret = intel_gch_panel_fitting(pipe_config, conn_state); > if (ret) > return ret; > } > diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c > index cd9ee171e0df..90b4664f66f8 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c > @@ -2345,8 +2345,8 @@ int intel_hdmi_compute_config(struct intel_encoder *encoder, > return ret; > } > > - if (intel_hdmi_is_ycbcr420(pipe_config)) { > - ret = intel_panel_fitting(pipe_config, conn_state); > + if (HAS_GMCH(display)) { > + ret = intel_gch_panel_fitting(pipe_config, conn_state); > if (ret) > return ret; > } > diff --git a/drivers/gpu/drm/i915/display/intel_lvds.c b/drivers/gpu/drm/i915/display/intel_lvds.c > index fb4ed9f7855b..c28979b4ac15 100644 > --- a/drivers/gpu/drm/i915/display/intel_lvds.c > +++ b/drivers/gpu/drm/i915/display/intel_lvds.c > @@ -463,9 +463,11 @@ static int intel_lvds_compute_config(struct intel_encoder *encoder, > if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN) > return -EINVAL; > > - ret = intel_panel_fitting(crtc_state, conn_state); > - if (ret) > - return ret; > + if (HAS_GMCH(i915)) { > + ret = intel_gch_panel_fitting(crtc_state, conn_state); > + if (ret) > + return ret; > + } > > /* > * XXX: It would be nice to support lower refresh rates on the > diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c > index d21f3fb39706..753a883c30c2 100644 > --- a/drivers/gpu/drm/i915/display/vlv_dsi.c > +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c > @@ -282,9 +282,11 @@ static int intel_dsi_compute_config(struct intel_encoder *encoder, > if (ret) > return ret; > > - ret = intel_panel_fitting(pipe_config, conn_state); > - if (ret) > - return ret; > + if (HAS_GMCH(dev_priv)) { > + ret = intel_gch_panel_fitting(pipe_config, conn_state); > + if (ret) > + return ret; > + } > > if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN) > return -EINVAL; -- Jani Nikula, Intel