drm/i915: Simplify watermark state checker calling convention
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 5 Oct 2023 12:27:13 +0000 (15:27 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 6 Oct 2023 21:12:46 +0000 (00:12 +0300)
There is never any reason to pass in both the crtc and its state
as one can always dig out the crtc from its state. But for more
consistency across the whole state checker let's just pass the
overall atomic state+crtc here as well.

v2: Also pass state+crtc here (Jani)

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231005122713.3531-1-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_modeset_verify.c
drivers/gpu/drm/i915/display/skl_watermark.c
drivers/gpu/drm/i915/display/skl_watermark.h

index 47d45ba1e707bd30150d771d916d5781656a7ceb..e08c1aa25c4dffa576b1f94b3d774c228974370e 100644 (file)
@@ -233,7 +233,7 @@ void intel_modeset_verify_crtc(struct intel_crtc *crtc,
            !intel_crtc_needs_fastset(new_crtc_state))
                return;
 
-       intel_wm_state_verify(crtc, new_crtc_state);
+       intel_wm_state_verify(state, crtc);
        verify_connector_state(state, crtc);
        verify_crtc_state(state, crtc);
        intel_shared_dpll_state_verify(state, crtc);
index d51cf92c96ae0d79d1be2e35b37579a9a7bc9e90..99b8ccdc3dfa22b2bd2a5c6fae1db8781ab908b7 100644 (file)
@@ -3134,10 +3134,12 @@ static void skl_wm_get_hw_state_and_sanitize(struct drm_i915_private *i915)
        skl_wm_sanitize(i915);
 }
 
-void intel_wm_state_verify(struct intel_crtc *crtc,
-                          const struct intel_crtc_state *new_crtc_state)
+void intel_wm_state_verify(struct intel_atomic_state *state,
+                          struct intel_crtc *crtc)
 {
-       struct drm_i915_private *i915 = to_i915(crtc->base.dev);
+       struct drm_i915_private *i915 = to_i915(state->base.dev);
+       const struct intel_crtc_state *new_crtc_state =
+               intel_atomic_get_new_crtc_state(state, crtc);
        struct skl_hw_state {
                struct skl_ddb_entry ddb[I915_MAX_PLANES];
                struct skl_ddb_entry ddb_y[I915_MAX_PLANES];
index 18e4b0661cbb741f47bb92b3ae14a078a2843eac..fb0da36fd3ec3a7cb639ffddc273ef6a3df40d0f 100644 (file)
@@ -38,8 +38,8 @@ bool skl_ddb_allocation_overlaps(const struct skl_ddb_entry *ddb,
                                 const struct skl_ddb_entry *entries,
                                 int num_entries, int ignore_idx);
 
-void intel_wm_state_verify(struct intel_crtc *crtc,
-                          const struct intel_crtc_state *new_crtc_state);
+void intel_wm_state_verify(struct intel_atomic_state *state,
+                          struct intel_crtc *crtc);
 
 void skl_watermark_ipc_init(struct drm_i915_private *i915);
 void skl_watermark_ipc_update(struct drm_i915_private *i915);