]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:22:37 +0000 (18:22 -0400)
[ Upstream commit cf8837d7204481026335461629b84ac7f4538fa5 ]

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
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/drm/drm_fixed.h

index 553210c02ee0f655fd28b8ae64d370e7cee2fc70..627efa56e59fb6bf26a8e730fd438a4f14473444 100644 (file)
@@ -88,7 +88,7 @@ static inline int drm_fixp2int(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);