Skip to content

Commit 8b25320

Browse files
committed
drm: Add fixed-point helper to get rounded integer values
Create a new fixed-point helper to allow us to return the rounded value of our fixed point value. [v2]: * Create the function drm_fixp2int_round() (Melissa Wen). [v3]: * Use drm_fixp2int() instead of shifting manually (Arthur Grillo). Signed-off-by: Maíra Canal <mcanal@igalia.com> Reviewed-by: Arthur Grillo <arthurgrillo@riseup.net> Signed-off-by: Maíra Canal <mairacanal@riseup.net> Link: https://patchwork.freedesktop.org/patch/msgid/20230512104044.65034-1-mcanal@igalia.com
1 parent 812562b commit 8b25320

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

include/drm/drm_fixed.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ static inline u32 dfixed_div(fixed20_12 A, fixed20_12 B)
7171
}
7272

7373
#define DRM_FIXED_POINT 32
74+
#define DRM_FIXED_POINT_HALF 16
7475
#define DRM_FIXED_ONE (1ULL << DRM_FIXED_POINT)
7576
#define DRM_FIXED_DECIMAL_MASK (DRM_FIXED_ONE - 1)
7677
#define DRM_FIXED_DIGITS_MASK (~DRM_FIXED_DECIMAL_MASK)
@@ -87,6 +88,11 @@ static inline int drm_fixp2int(s64 a)
8788
return ((s64)a) >> DRM_FIXED_POINT;
8889
}
8990

91+
static inline int drm_fixp2int_round(s64 a)
92+
{
93+
return drm_fixp2int(a + (1 << (DRM_FIXED_POINT_HALF - 1)));
94+
}
95+
9096
static inline int drm_fixp2int_ceil(s64 a)
9197
{
9298
if (a > 0)

0 commit comments

Comments
 (0)