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

Jani Nikula jani.nikula at linux.intel.com
Thu Mar 27 07:57:27 UTC 2025


On Wed, 26 Mar 2025, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at 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 at linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula at 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]))

-- 
Jani Nikula, Intel


More information about the Intel-gfx mailing list