diff mbox series

[17/19] drm/i915: Do wm readout ealier for skl+

Message ID 20250218211913.27867-18-ville.syrjala@linux.intel.com (mailing list archive)
State New
Headers show
Series drm/i915: cdclk/bw/dbuf readout/sanitation cleanup | expand

Commit Message

Ville Syrjälä Feb. 18, 2025, 9:19 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Move the wm readout to happen earlier. This is needed because
the bw_state readout will need ddb information populated by
the wm readout.

For now limit this to skl+ as I've not really analyzed the
implications of doing this on other platforms.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_modeset_setup.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_modeset_setup.c b/drivers/gpu/drm/i915/display/intel_modeset_setup.c
index 03c0facfad7a..6a4142d7d025 100644
--- a/drivers/gpu/drm/i915/display/intel_modeset_setup.c
+++ b/drivers/gpu/drm/i915/display/intel_modeset_setup.c
@@ -880,6 +880,10 @@  static void intel_modeset_readout_hw_state(struct drm_i915_private *i915)
 						 crtc_state->port_clock);
 	}
 
+	/* TODO move here (or even earlier?) on all platforms */
+	if (DISPLAY_VER(display) >= 9)
+		intel_wm_get_hw_state(i915);
+
 	intel_bw_update_hw_state(display);
 	intel_cdclk_update_hw_state(display);
 
@@ -990,7 +994,9 @@  void intel_modeset_setup_hw_state(struct drm_i915_private *i915,
 
 	intel_dpll_sanitize_state(display);
 
-	intel_wm_get_hw_state(i915);
+	/* TODO move earlier on all platforms */
+	if (DISPLAY_VER(display) < 9)
+		intel_wm_get_hw_state(i915);
 	intel_wm_sanitize(i915);
 
 	for_each_intel_crtc(&i915->drm, crtc) {