diff mbox series

[v2,03/14] drm/i915: Extract intel_dbuf_bw_changed()

Message ID 20250326162544.3642-4-ville.syrjala@linux.intel.com (mailing list archive)
State New
Headers show
Series drm/i915: sagv/bw cleanup | expand

Commit Message

Ville Syrjälä March 26, 2025, 4:25 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

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>
---
 drivers/gpu/drm/i915/display/intel_bw.c | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

Comments

Jani Nikula March 27, 2025, 7:57 a.m. UTC | #1
On Wed, 26 Mar 2025, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> 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>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_bw.c | 23 +++++++++++++++++------
>  1 file changed, 17 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
> index b34db55f5a7e..898ddaf7e76b 100644
> --- a/drivers/gpu/drm/i915/display/intel_bw.c
> +++ b/drivers/gpu/drm/i915/display/intel_bw.c
> @@ -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]))
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
index b34db55f5a7e..898ddaf7e76b 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -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]))