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]>
---
 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

Reply via email to