[PATCH 6.7 398/713] drm: Don't treat 0 as -1 in drm_fixp2int_ceil

From: Sasha Levin
Date: Mon Mar 25 2024 - 06:59:35 EST


From: Harry Wentland <harry.wentland@xxxxxxx>

[ 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@xxxxxxx>
Reviewed-by: Simon Ser <contact@xxxxxxxxxxx>
Reviewed-by: Melissa Wen <mwen@xxxxxxxxxx>
Signed-off-by: Melissa Wen <melissa.srw@xxxxxxxxx>
Link: https://patchwork.freedesktop.org/patch/msgid/20231108163647.106853-2-harry.wentland@xxxxxxx
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
include/drm/drm_fixed.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/drm/drm_fixed.h b/include/drm/drm_fixed.h
index 6ea339d5de088..0c9f917a4d4be 100644
--- a/include/drm/drm_fixed.h
+++ b/include/drm/drm_fixed.h
@@ -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);
--
2.43.0