Revert "drm: Don't pass negative delta to ktime_sub_ns()"
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 29 Mar 2016 11:12:22 +0000 (13:12 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 30 Mar 2016 06:30:30 +0000 (08:30 +0200)
This reverts commit e91abf80a0998f326107874c88d549f94839f13c.

Since

commit 24e4a8c3e8868874835b0f1ad6dd417341e99822
Author: John Stultz <john.stultz@linaro.org>
Date:   Wed Jul 16 21:03:53 2014 +0000

    ktime: Kill non-scalar ktime_t implementation for 2038

there is no longer a 32bit version that's unsigned, and we don't have
to jump through ridiculous hoops to make the calculations correct.

I didn't look whether there's more of this pattern in the kernel.

Cc: John Stultz <john.stultz@linaro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Michel Dänzer <michel.daenzer@amd.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dave Airlie <airlied@redhat.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1459249942-21589-1-git-send-email-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_irq.c

index 96d03ac..bfc4b37 100644 (file)
@@ -805,10 +805,7 @@ int drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev,
        /* Subtract time delta from raw timestamp to get final
         * vblank_time timestamp for end of vblank.
         */
-       if (delta_ns < 0)
-               etime = ktime_add_ns(etime, -delta_ns);
-       else
-               etime = ktime_sub_ns(etime, delta_ns);
+       etime = ktime_sub_ns(etime, delta_ns);
        *vblank_time = ktime_to_timeval(etime);
 
        DRM_DEBUG_VBL("crtc %u : v 0x%x p(%d,%d)@ %ld.%ld -> %ld.%ld [e %d us, %d rep]\n",