[PATCH] drm/i915/display: Update vtotal math to address 32b build

Jani Nikula jani.nikula at linux.intel.com
Thu Jun 13 06:25:06 UTC 2024


On Wed, 12 Jun 2024, Mitul Golani <mitulkumar.ajitkumar.golani at intel.com> wrote:
> Fix vtotal division calculation which works for 32b systems.

This should be sent to intel-gfx (too).

BR,
Jani.

>
> Fixes: 1676ecd303ac ("drm/i915: Compute CMRR and calculate vtotal")
> Cc: Mitul Golani <mitulkumar.ajitkumar.golani at intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
> Cc: Suraj Kandpal <suraj.kandpal at intel.com>
> Cc: Jani Nikula <jani.nikula at linux.intel.com>
> Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_vrr.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c
> index 05f67dc9d98d..1e37383e14e7 100644
> --- a/drivers/gpu/drm/i915/display/intel_vrr.c
> +++ b/drivers/gpu/drm/i915/display/intel_vrr.c
> @@ -149,7 +149,8 @@ cmrr_get_vtotal(struct intel_crtc_state *crtc_state, bool video_mode_required)
>  
>  	crtc_state->cmrr.cmrr_n =
>  		desired_refresh_rate * adjusted_mode->crtc_htotal * multiplier_n;
> -	vtotal = (adjusted_mode->crtc_clock * 1000 * multiplier_n) / crtc_state->cmrr.cmrr_n;
> +	vtotal = DIV_ROUND_UP_ULL(adjusted_mode->crtc_clock * 1000 * multiplier_n,
> +				  crtc_state->cmrr.cmrr_n);
>  	adjusted_pixel_rate = adjusted_mode->crtc_clock * 1000 * multiplier_m;
>  	crtc_state->cmrr.cmrr_m = do_div(adjusted_pixel_rate, crtc_state->cmrr.cmrr_n);

-- 
Jani Nikula, Intel


More information about the Intel-xe mailing list