[PATCH 5.4 092/183] drm: Don't treat 0 as -1 in drm_fixp2int_ceil

From: Sasha Levin
Date: Mon Mar 25 2024 - 07:56:58 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 553210c02ee0f..627efa56e59fb 100644
--- a/include/drm/drm_fixed.h
+++ b/include/drm/drm_fixed.h
@@ -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);
--
2.43.0