> Subject: [PATCH 3/4] drm/i915/panel: Adjust intel_panel_compute_config() > calling convention > > From: Ville Syrjälä <[email protected]> > > Pass the full atomic state to intel_panel_compute_config(). We'll need this > for > some upcoming VRR fastset tricks. And to accompany full state we'll also need > the crtc (or its state) as well. > > Signed-off-by: Ville Syrjälä <[email protected]>
LGTM, Reviewed-by: Suraj Kandpal <[email protected]> > --- > drivers/gpu/drm/i915/display/icl_dsi.c | 2 +- > drivers/gpu/drm/i915/display/intel_dp.c | 2 +- > drivers/gpu/drm/i915/display/intel_dvo.c | 2 +- > drivers/gpu/drm/i915/display/intel_lvds.c | 2 +- > drivers/gpu/drm/i915/display/intel_panel.c | 6 ++++-- > drivers/gpu/drm/i915/display/intel_panel.h | 6 ++++-- > drivers/gpu/drm/i915/display/intel_sdvo.c | 4 ++-- > drivers/gpu/drm/i915/display/vlv_dsi.c | 2 +- > 8 files changed, 15 insertions(+), 11 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c > b/drivers/gpu/drm/i915/display/icl_dsi.c > index 59184f2f805c..ea0cdb7822f3 100644 > --- a/drivers/gpu/drm/i915/display/icl_dsi.c > +++ b/drivers/gpu/drm/i915/display/icl_dsi.c > @@ -1672,7 +1672,7 @@ static int gen11_dsi_compute_config(struct > intel_atomic_state *state, > pipe_config->sink_format = INTEL_OUTPUT_FORMAT_RGB; > pipe_config->output_format = INTEL_OUTPUT_FORMAT_RGB; > > - ret = intel_panel_compute_config(intel_connector, adjusted_mode); > + ret = intel_panel_compute_config(state, pipe_config, intel_connector); > 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 b9324b590ee9..da8a94821c11 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -3639,7 +3639,7 @@ intel_dp_compute_config(struct intel_atomic_state > *state, > int ret = 0, link_bpp_x16; > > if (intel_dp_is_edp(intel_dp)) { > - ret = intel_panel_compute_config(connector, adjusted_mode); > + ret = intel_panel_compute_config(state, pipe_config, > connector); > if (ret) > return ret; > } > diff --git a/drivers/gpu/drm/i915/display/intel_dvo.c > b/drivers/gpu/drm/i915/display/intel_dvo.c > index 181722c41b96..f157699a7c4c 100644 > --- a/drivers/gpu/drm/i915/display/intel_dvo.c > +++ b/drivers/gpu/drm/i915/display/intel_dvo.c > @@ -257,7 +257,7 @@ static int intel_dvo_compute_config(struct > intel_atomic_state *state, > * with the panel scaling set up to source from the H/VDisplay > * of the original mode. > */ > - ret = intel_panel_compute_config(connector, adjusted_mode); > + ret = intel_panel_compute_config(state, pipe_config, connector); > 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 30e4809b36ac..872753478cf2 100644 > --- a/drivers/gpu/drm/i915/display/intel_lvds.c > +++ b/drivers/gpu/drm/i915/display/intel_lvds.c > @@ -460,7 +460,7 @@ static int intel_lvds_compute_config(struct > intel_atomic_state *state, > * with the panel scaling set up to source from the H/VDisplay > * of the original mode. > */ > - ret = intel_panel_compute_config(connector, adjusted_mode); > + ret = intel_panel_compute_config(state, crtc_state, connector); > if (ret) > return ret; > > diff --git a/drivers/gpu/drm/i915/display/intel_panel.c > b/drivers/gpu/drm/i915/display/intel_panel.c > index 81fb349ece5f..af59fc946fcb 100644 > --- a/drivers/gpu/drm/i915/display/intel_panel.c > +++ b/drivers/gpu/drm/i915/display/intel_panel.c > @@ -197,9 +197,11 @@ enum drrs_type intel_panel_drrs_type(struct > intel_connector *connector) > return connector->panel.vbt.drrs_type; } > > -int intel_panel_compute_config(struct intel_connector *connector, > - struct drm_display_mode *adjusted_mode) > +int intel_panel_compute_config(struct intel_atomic_state *state, > + struct intel_crtc_state *crtc_state, > + struct intel_connector *connector) > { > + struct drm_display_mode *adjusted_mode = > +&crtc_state->hw.adjusted_mode; > const struct drm_display_mode *fixed_mode = > intel_panel_fixed_mode(connector, adjusted_mode); > int vrefresh, fixed_mode_vrefresh; > diff --git a/drivers/gpu/drm/i915/display/intel_panel.h > b/drivers/gpu/drm/i915/display/intel_panel.h > index 23bd227826c9..30c6078ecb1b 100644 > --- a/drivers/gpu/drm/i915/display/intel_panel.h > +++ b/drivers/gpu/drm/i915/display/intel_panel.h > @@ -14,6 +14,7 @@ struct drm_connector; > struct drm_connector_state; > struct drm_display_mode; > struct drm_edid; > +struct intel_atomic_state; > struct intel_connector; > struct intel_crtc_state; > struct intel_display; > @@ -45,8 +46,9 @@ enum drm_mode_status > intel_panel_mode_valid(struct intel_connector *connector, > const struct drm_display_mode *mode, > int *target_clock); > -int intel_panel_compute_config(struct intel_connector *connector, > - struct drm_display_mode *adjusted_mode); > +int intel_panel_compute_config(struct intel_atomic_state *state, > + struct intel_crtc_state *crtc_state, > + struct intel_connector *connector); > void intel_panel_add_edid_fixed_modes(struct intel_connector *connector, > bool use_alt_fixed_modes); > void intel_panel_add_vbt_lfp_fixed_mode(struct intel_connector *connector); > diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c > b/drivers/gpu/drm/i915/display/intel_sdvo.c > index 6b73c9a5ec7f..3075ef04df56 100644 > --- a/drivers/gpu/drm/i915/display/intel_sdvo.c > +++ b/drivers/gpu/drm/i915/display/intel_sdvo.c > @@ -1399,8 +1399,8 @@ static int intel_sdvo_compute_config(struct > intel_atomic_state *state, > const struct drm_display_mode *fixed_mode; > int ret; > > - ret = intel_panel_compute_config(&intel_sdvo_connector- > >base, > - adjusted_mode); > + ret = intel_panel_compute_config(state, pipe_config, > + &intel_sdvo_connector- > >base); > if (ret) > return ret; > > diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c > b/drivers/gpu/drm/i915/display/vlv_dsi.c > index b89318f5bdc2..8829f365592e 100644 > --- a/drivers/gpu/drm/i915/display/vlv_dsi.c > +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c > @@ -281,7 +281,7 @@ static int intel_dsi_compute_config(struct > intel_atomic_state *state, > pipe_config->sink_format = INTEL_OUTPUT_FORMAT_RGB; > pipe_config->output_format = INTEL_OUTPUT_FORMAT_RGB; > > - ret = intel_panel_compute_config(intel_connector, adjusted_mode); > + ret = intel_panel_compute_config(state, pipe_config, intel_connector); > if (ret) > return ret; > > -- > 2.53.0
