]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915: Extract intel_dbuf_bw_changed()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 26 Mar 2025 16:25:33 +0000 (18:25 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 4 Apr 2025 16:58:10 +0000 (19:58 +0300)
Extract the struct intel_dbuf_bw comparison into a small
helper. We'll get more users later.

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

index b34db55f5a7e633892aa8336f2928cf94fb02830..898ddaf7e76b8d0ca90489b6530e112fc60c8be7 100644 (file)
@@ -1150,6 +1150,21 @@ static int intel_bw_check_qgv_points(struct intel_display *display,
                                           old_bw_state, new_bw_state);
 }
 
+static bool intel_dbuf_bw_changed(struct intel_display *display,
+                                 const struct intel_dbuf_bw *old_dbuf_bw,
+                                 const struct intel_dbuf_bw *new_dbuf_bw)
+{
+       enum dbuf_slice slice;
+
+       for_each_dbuf_slice(display, slice) {
+               if (old_dbuf_bw->max_bw[slice] != new_dbuf_bw->max_bw[slice] ||
+                   old_dbuf_bw->active_planes[slice] != new_dbuf_bw->active_planes[slice])
+                       return true;
+       }
+
+       return false;
+}
+
 static bool intel_bw_state_changed(struct intel_display *display,
                                   const struct intel_bw_state *old_bw_state,
                                   const struct intel_bw_state *new_bw_state)
@@ -1161,13 +1176,9 @@ static bool intel_bw_state_changed(struct intel_display *display,
                        &old_bw_state->dbuf_bw[pipe];
                const struct intel_dbuf_bw *new_dbuf_bw =
                        &new_bw_state->dbuf_bw[pipe];
-               enum dbuf_slice slice;
 
-               for_each_dbuf_slice(display, slice) {
-                       if (old_dbuf_bw->max_bw[slice] != new_dbuf_bw->max_bw[slice] ||
-                           old_dbuf_bw->active_planes[slice] != new_dbuf_bw->active_planes[slice])
-                               return true;
-               }
+               if (intel_dbuf_bw_changed(display, old_dbuf_bw, new_dbuf_bw))
+                       return true;
 
                if (intel_bw_crtc_min_cdclk(display, old_bw_state->data_rate[pipe]) !=
                    intel_bw_crtc_min_cdclk(display, new_bw_state->data_rate[pipe]))