drm/i915/display: Update vtotal math to address 32b build
Mitul Golani
mitulkumar.ajitkumar.golani at intel.com
Wed Jun 12 08:37:07 UTC 2024
Fix vtotal division calculation which works for 32b systems.
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);
More information about the Intel-gfx
mailing list