]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm: Add function to convert rect in 16.16 fixed format to regular format
authorJosé Roberto de Souza <jose.souza@intel.com>
Mon, 4 Jan 2021 20:56:51 +0000 (12:56 -0800)
committerJosé Roberto de Souza <jose.souza@intel.com>
Tue, 5 Jan 2021 13:32:52 +0000 (05:32 -0800)
Much more clear to read one function call than four lines doing this
conversion.

v7:
- function renamed
- calculating width and height before truncate
- inlined

v10:
- renamed parameters from source and destination to src and dst
to match sister functions

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: dri-devel@lists.freedesktop.org
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210104205654.238928-1-jose.souza@intel.com
include/drm/drm_rect.h

index e7f4d24cdd00524c0c992d86dab73168ca84c689..39f2deee709c2669b736d527bb7b8463dcfcd2cd 100644 (file)
@@ -206,6 +206,19 @@ static inline bool drm_rect_equals(const struct drm_rect *r1,
                r1->y1 == r2->y1 && r1->y2 == r2->y2;
 }
 
+/**
+ * drm_rect_fp_to_int - Convert a rect in 16.16 fixed point form to int form.
+ * @dst: rect to be stored the converted value
+ * @src: rect in 16.16 fixed point form
+ */
+static inline void drm_rect_fp_to_int(struct drm_rect *dst,
+                                     const struct drm_rect *src)
+{
+       drm_rect_init(dst, src->x1 >> 16, src->y1 >> 16,
+                     drm_rect_width(src) >> 16,
+                     drm_rect_height(src) >> 16);
+}
+
 bool drm_rect_intersect(struct drm_rect *r, const struct drm_rect *clip);
 bool drm_rect_clip_scaled(struct drm_rect *src, struct drm_rect *dst,
                          const struct drm_rect *clip);