summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2025-03-06 18:34:18 +0200
committerVille Syrjälä <ville.syrjala@linux.intel.com>2025-03-07 19:02:58 +0200
commit14968c207a0f88c6d21c798af14fb318b90f2eb8 (patch)
treedf734a818dff5e84a7ffcd5f1ef7f33d35f473d2
parentdbf1b1ed55badf205f649c626338288f1d076391 (diff)
drm/i915: Do wm readout ealier for skl+
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. Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250306163420.3961-17-ville.syrjala@linux.intel.com
-rw-r--r--drivers/gpu/drm/i915/display/intel_modeset_setup.c8
1 files changed, 7 insertions, 1 deletions
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) {