On Tue, 2020-12-15 at 12:52 +0000, Mun, Gwan-gyeong wrote: > On Mon, 2020-12-14 at 09:49 -0800, José Roberto de Souza wrote: > > Much more clear to read one function call than four lines doing this > > conversion. > > > > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > > Cc: Gwan-gyeong Mun <gwan-gyeong.mun@xxxxxxxxx> > > Signed-off-by: José Roberto de Souza <jose.souza@xxxxxxxxx> > > --- > > drivers/gpu/drm/drm_rect.c | 15 +++++++++++++++ > > include/drm/drm_rect.h | 2 ++ > > 2 files changed, 17 insertions(+) > > > > diff --git a/drivers/gpu/drm/drm_rect.c b/drivers/gpu/drm/drm_rect.c > > index 0460e874896e..24345704b353 100644 > > --- a/drivers/gpu/drm/drm_rect.c > > +++ b/drivers/gpu/drm/drm_rect.c > > @@ -373,3 +373,18 @@ void drm_rect_rotate_inv(struct drm_rect *r, > > } > > } > > EXPORT_SYMBOL(drm_rect_rotate_inv); > > + > > +/** > > + * drm_rect_convert_16_16_to_regular - Convert a rect in 16.16 fixed > > point form > > + * to regular form. > > + * @in: rect in 16.16 fixed point form > > + * @out: rect to be stored the converted value > > + */ > > +void drm_rect_convert_16_16_to_regular(struct drm_rect *in, struct > > drm_rect *out) > > +{ > > + out->x1 = in->x1 >> 16; > > + out->y1 = in->y1 >> 16; > > + out->x2 = in->x2 >> 16; > > + out->y2 = in->y2 >> 16; > > +} > > +EXPORT_SYMBOL(drm_rect_convert_16_16_to_regular); > > diff --git a/include/drm/drm_rect.h b/include/drm/drm_rect.h > > index e7f4d24cdd00..2ef8180416cd 100644 > > --- a/include/drm/drm_rect.h > > +++ b/include/drm/drm_rect.h > > @@ -223,5 +223,7 @@ void drm_rect_rotate(struct drm_rect *r, > > void drm_rect_rotate_inv(struct drm_rect *r, > > int width, int height, > > unsigned int rotation); > > +void drm_rect_convert_16_16_to_regular(struct drm_rect *in, > > + struct drm_rect *out); > > > Hi, > if it's purpose is just converting 16.16 fp to integer, how about you > have function prototype like this? > extern inline struct drm_rect > drm_rect_convert_16_16_fp_to_integer(struct drm_rect in) I prefer have a function call as this can be reused in several places, so the binaries size can decrease a bit. Also pointers are better, compiler can decide to not inline the function above and it would need to allocate in stack 2 drm_rects for every call. > > And if there are no use case on drm core or other drivers except i915 > display yet, > before adding this function to drm core, how about you add this > function code to i915 first? There is plenty of users in other drivers, just not doing in this series. > > Br, > G.G. > > #endif _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx