]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/vkms: Round fixp2int conversion in lerp_u16
authorHarry Wentland <harry.wentland@amd.com>
Fri, 20 Dec 2024 04:33:08 +0000 (21:33 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 Mar 2025 19:54:20 +0000 (12:54 -0700)
[ Upstream commit 8ec43c58d3be615a71548bc09148212013fb7e5f ]

fixp2int always rounds down, fixp2int_ceil rounds up. We need
the new fixp2int_round.

Signed-off-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241220043410.416867-3-alex.hung@amd.com
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/vkms/vkms_composer.c

index e7441b227b3cea351291749002ae1296e77b62e5..3d6785d081f2cd4f1b7a381cf50b0475e973e99b 100644 (file)
@@ -98,7 +98,7 @@ static u16 lerp_u16(u16 a, u16 b, s64 t)
 
        s64 delta = drm_fixp_mul(b_fp - a_fp,  t);
 
-       return drm_fixp2int(a_fp + delta);
+       return drm_fixp2int_round(a_fp + delta);
 }
 
 static s64 get_lut_index(const struct vkms_color_lut *lut, u16 channel_value)