drm: Don't treat 0 as -1 in drm_fixp2int_ceil
authorHarry Wentland <harry.wentland@amd.com>
Wed, 8 Nov 2023 16:36:20 +0000 (11:36 -0500)
committerMelissa Wen <melissa.srw@gmail.com>
Tue, 2 Jan 2024 12:57:44 +0000 (11:57 -0100)
Unit testing this in VKMS shows that passing 0 into
this function returns -1, which is highly counter-
intuitive. Fix it by checking whether the input is
>= 0 instead of > 0.

Fixes: 64566b5e767f ("drm: Add drm_fixp_from_fraction and drm_fixp2int_ceil")
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Melissa Wen <mwen@igalia.com>
Signed-off-by: Melissa Wen <melissa.srw@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231108163647.106853-2-harry.wentland@amd.com
include/drm/drm_fixed.h

index 6ea339d5de088424676e7a0abf4bb06eecfaefa9..0c9f917a4d4be956d50c587a8c7b90011335c9ce 100644 (file)
@@ -95,7 +95,7 @@ static inline int drm_fixp2int_round(s64 a)
 
 static inline int drm_fixp2int_ceil(s64 a)
 {
-       if (a > 0)
+       if (a >= 0)
                return drm_fixp2int(a + DRM_FIXED_ALMOST_ONE);
        else
                return drm_fixp2int(a - DRM_FIXED_ALMOST_ONE);