On Thu, 11 Sep 2025, Jonathan Cavitt <jonathan.cav...@intel.com> wrote:
> 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.

The result might become negative with this?

BR,
Jani.

>
> Signed-off-by: Jonathan Cavitt <jonathan.cav...@intel.com>
> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com>
> Cc: Animesh Manna <animesh.ma...@intel.com>
> Cc: Jani Nikula <jani.nik...@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;
>  }
>  
>  /*

-- 
Jani Nikula, Intel

Reply via email to