All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/display: Simplify modular operations with vtotal
@ 2025-09-11 15:39 Jonathan Cavitt
  2025-09-11 17:09 ` ✓ i915.CI.BAT: success for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Jonathan Cavitt @ 2025-09-11 15:39 UTC (permalink / raw)
  To: intel-gfx
  Cc: saurabhg.gupta, alex.zuo, jonathan.cavitt, ville.syrjala,
	jani.nikula, animesh.manna

There are a couple of modulus operations in the i915 display code with
vtotal as the divisor that add vtotal to the dividend.  In modular
arithmetic, adding the divisor to the dividend is equivalent to adding
zero to the dividend, so this addition can be dropped.

Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Animesh Manna <animesh.manna@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dsb.c    | 4 ++--
 drivers/gpu/drm/i915/display/intel_vblank.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dsb.c b/drivers/gpu/drm/i915/display/intel_dsb.c
index dee44d45b668..67315116839b 100644
--- a/drivers/gpu/drm/i915/display/intel_dsb.c
+++ b/drivers/gpu/drm/i915/display/intel_dsb.c
@@ -173,7 +173,7 @@ static int dsb_scanline_to_hw(struct intel_atomic_state *state,
 		intel_pre_commit_crtc_state(state, crtc);
 	int vtotal = dsb_vtotal(state, crtc);
 
-	return (scanline + vtotal - intel_crtc_scanline_offset(crtc_state)) % vtotal;
+	return (scanline - intel_crtc_scanline_offset(crtc_state)) % vtotal;
 }
 
 /*
@@ -482,7 +482,7 @@ static void assert_dsl_ok(struct intel_atomic_state *state,
 	 * Waiting for the entire frame doesn't make sense,
 	 * (IN==don't wait, OUT=wait forever).
 	 */
-	drm_WARN(crtc->base.dev, (end - start + vtotal) % vtotal == vtotal - 1,
+	drm_WARN(crtc->base.dev, (end - start) % vtotal == vtotal - 1,
 		 "[CRTC:%d:%s] DSB %d bad scanline window wait: %d-%d (vt=%d)\n",
 		 crtc->base.base.id, crtc->base.name, dsb->id,
 		 start, end, vtotal);
diff --git a/drivers/gpu/drm/i915/display/intel_vblank.c b/drivers/gpu/drm/i915/display/intel_vblank.c
index c15234c1d96e..bcfca2fcef3c 100644
--- a/drivers/gpu/drm/i915/display/intel_vblank.c
+++ b/drivers/gpu/drm/i915/display/intel_vblank.c
@@ -288,7 +288,7 @@ static int __intel_get_crtc_scanline(struct intel_crtc *crtc)
 	 * See update_scanline_offset() for the details on the
 	 * scanline_offset adjustment.
 	 */
-	return (position + vtotal + crtc->scanline_offset) % vtotal;
+	return (position + crtc->scanline_offset) % vtotal;
 }
 
 /*
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2025-09-15 16:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-11 15:39 [PATCH] drm/i915/display: Simplify modular operations with vtotal Jonathan Cavitt
2025-09-11 17:09 ` ✓ i915.CI.BAT: success for " Patchwork
2025-09-12  6:38 ` ✗ i915.CI.Full: failure " Patchwork
2025-09-12  8:55 ` [PATCH] " Jani Nikula
2025-09-12 14:29   ` Cavitt, Jonathan
2025-09-12 15:30     ` Ville Syrjälä
2025-09-15 14:49       ` Cavitt, Jonathan
2025-09-15 15:16         ` Ville Syrjälä
2025-09-15 15:21           ` Cavitt, Jonathan
2025-09-15 15:31             ` Ville Syrjälä
2025-09-15 16:51               ` Cavitt, Jonathan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.