> -----Original Message----- > From: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> > Sent: Wednesday, September 25, 2024 2:42 PM > To: Garg, Nemesa <nemesa.garg@xxxxxxxxx>; intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Garg, Nemesa <nemesa.garg@xxxxxxxxx> > Subject: Re: [PATCH 2/3] drm/i915/display: Add gmch_panel_fitting in all > encoders > > 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. > So in this case only pch_panel_fitting can be supported.? Thanks and Regards, Nemesa > > + 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