summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2025-09-19 22:29:56 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2025-09-23 18:11:03 +0300
commite407ea78abdf20bb64998e178b7944dd297ffcb3 (patch)
tree23e35bfd042a6b4fb9e5b71dc4f21676f54ab6ea /drivers
parent84953731f9170b3b51013f1f4deb59cc916dfa7b (diff)
drm/i915: Extract sanitize_wm_latency()
Pull the "zero out invalid WM latencies" stuff into a helper. Mainly to avoid mixing higher level and lower level stuff in the same adjust_wm_latency() function. Reviewed-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250919193000.17665-10-ville.syrjala@linux.intel.com
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/display/skl_watermark.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index 21dd15be74f9..1acb9285bd05 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -3217,14 +3217,10 @@ static int wm_read_latency(struct intel_display *display)
return 2;
}
-static void
-adjust_wm_latency(struct intel_display *display)
+static void sanitize_wm_latency(struct intel_display *display)
{
u16 *wm = display->wm.skl_latency;
- int i, level, num_levels = display->wm.num_levels;
-
- if (display->platform.dg2)
- multiply_wm_latency(display, 2);
+ int level, num_levels = display->wm.num_levels;
/*
* If a level n (n > 1) has a 0us latency, all levels m (m >= n)
@@ -3233,11 +3229,24 @@ adjust_wm_latency(struct intel_display *display)
*/
for (level = 1; level < num_levels; level++) {
if (wm[level] == 0) {
+ int i;
+
for (i = level + 1; i < num_levels; i++)
wm[i] = 0;
- break;
+ return;
}
}
+}
+
+static void
+adjust_wm_latency(struct intel_display *display)
+{
+ u16 *wm = display->wm.skl_latency;
+
+ if (display->platform.dg2)
+ multiply_wm_latency(display, 2);
+
+ sanitize_wm_latency(display);
/*
* WaWmMemoryReadLatency