On Fri, 2025-09-05 at 17:58 +0300, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrj...@linux.intel.com> > > 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. > > Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com> > ---
Reviewed-by: Luca Coelho <luciano.coe...@intel.com> -- Cheers, Luca. > drivers/gpu/drm/i915/display/skl_watermark.c | 23 ++++++++++++++------ > 1 file 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 98a397772678..e3305a399ddf 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