On 2017-09-29 01:45 AM, Dave Airlie wrote: > From: Dave Airlie <airlied at redhat.com> > > This decreases code size by a few hundred bytes. > > Signed-off-by: Dave Airlie <airlied at redhat.com> Series is Reviewed-by: Harry Wentland <harry.wentland at amd.com> Harry > --- > drivers/gpu/drm/amd/display/dc/basics/fixpt31_32.c | 122 ------------------- > drivers/gpu/drm/amd/display/include/fixed31_32.h | 132 +++++++++++++++------ > 2 files changed, 93 insertions(+), 161 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/basics/fixpt31_32.c b/drivers/gpu/drm/amd/display/dc/basics/fixpt31_32.c > index 546ed67..578691c 100644 > --- a/drivers/gpu/drm/amd/display/dc/basics/fixpt31_32.c > +++ b/drivers/gpu/drm/amd/display/dc/basics/fixpt31_32.c > @@ -132,79 +132,6 @@ struct fixed31_32 dal_fixed31_32_from_int( > return res; > } > > -struct fixed31_32 dal_fixed31_32_neg( > - struct fixed31_32 arg) > -{ > - struct fixed31_32 res; > - > - res.value = -arg.value; > - > - return res; > -} > - > -struct fixed31_32 dal_fixed31_32_abs( > - struct fixed31_32 arg) > -{ > - if (arg.value < 0) > - return dal_fixed31_32_neg(arg); > - else > - return arg; > -} > - > -bool dal_fixed31_32_lt( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2) > -{ > - return arg1.value < arg2.value; > -} > - > -bool dal_fixed31_32_le( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2) > -{ > - return arg1.value <= arg2.value; > -} > - > -bool dal_fixed31_32_eq( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2) > -{ > - return arg1.value == arg2.value; > -} > - > -struct fixed31_32 dal_fixed31_32_min( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2) > -{ > - if (arg1.value <= arg2.value) > - return arg1; > - else > - return arg2; > -} > - > -struct fixed31_32 dal_fixed31_32_max( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2) > -{ > - if (arg1.value <= arg2.value) > - return arg2; > - else > - return arg1; > -} > - > -struct fixed31_32 dal_fixed31_32_clamp( > - struct fixed31_32 arg, > - struct fixed31_32 min_value, > - struct fixed31_32 max_value) > -{ > - if (dal_fixed31_32_le(arg, min_value)) > - return min_value; > - else if (dal_fixed31_32_le(max_value, arg)) > - return max_value; > - else > - return arg; > -} > - > struct fixed31_32 dal_fixed31_32_shl( > struct fixed31_32 arg, > uint8_t shift) > @@ -219,19 +146,6 @@ struct fixed31_32 dal_fixed31_32_shl( > return res; > } > > -struct fixed31_32 dal_fixed31_32_shr( > - struct fixed31_32 arg, > - uint8_t shift) > -{ > - struct fixed31_32 res; > - > - ASSERT(shift < 64); > - > - res.value = arg.value >> shift; > - > - return res; > -} > - > struct fixed31_32 dal_fixed31_32_add( > struct fixed31_32 arg1, > struct fixed31_32 arg2) > @@ -246,24 +160,6 @@ struct fixed31_32 dal_fixed31_32_add( > return res; > } > > -struct fixed31_32 dal_fixed31_32_add_int( > - struct fixed31_32 arg1, > - int32_t arg2) > -{ > - return dal_fixed31_32_add( > - arg1, > - dal_fixed31_32_from_int(arg2)); > -} > - > -struct fixed31_32 dal_fixed31_32_sub_int( > - struct fixed31_32 arg1, > - int32_t arg2) > -{ > - return dal_fixed31_32_sub( > - arg1, > - dal_fixed31_32_from_int(arg2)); > -} > - > struct fixed31_32 dal_fixed31_32_sub( > struct fixed31_32 arg1, > struct fixed31_32 arg2) > @@ -278,15 +174,6 @@ struct fixed31_32 dal_fixed31_32_sub( > return res; > } > > -struct fixed31_32 dal_fixed31_32_mul_int( > - struct fixed31_32 arg1, > - int32_t arg2) > -{ > - return dal_fixed31_32_mul( > - arg1, > - dal_fixed31_32_from_int(arg2)); > -} > - > struct fixed31_32 dal_fixed31_32_mul( > struct fixed31_32 arg1, > struct fixed31_32 arg2) > @@ -390,15 +277,6 @@ struct fixed31_32 dal_fixed31_32_div_int( > dal_fixed31_32_from_int(arg2).value); > } > > -struct fixed31_32 dal_fixed31_32_div( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2) > -{ > - return dal_fixed31_32_from_fraction( > - arg1.value, > - arg2.value); > -} > - > struct fixed31_32 dal_fixed31_32_recip( > struct fixed31_32 arg) > { > diff --git a/drivers/gpu/drm/amd/display/include/fixed31_32.h b/drivers/gpu/drm/amd/display/include/fixed31_32.h > index 5a4364d..f0bc3c4 100644 > --- a/drivers/gpu/drm/amd/display/include/fixed31_32.h > +++ b/drivers/gpu/drm/amd/display/include/fixed31_32.h > @@ -90,15 +90,26 @@ struct fixed31_32 dal_fixed31_32_from_int( > * @brief > * result = -arg > */ > -struct fixed31_32 dal_fixed31_32_neg( > - struct fixed31_32 arg); > +static inline struct fixed31_32 dal_fixed31_32_neg(struct fixed31_32 arg) > +{ > + struct fixed31_32 res; > + > + res.value = -arg.value; > + > + return res; > +} > > /* > * @brief > * result = abs(arg) := (arg >= 0) ? arg : -arg > */ > -struct fixed31_32 dal_fixed31_32_abs( > - struct fixed31_32 arg); > +static inline struct fixed31_32 dal_fixed31_32_abs(struct fixed31_32 arg) > +{ > + if (arg.value < 0) > + return dal_fixed31_32_neg(arg); > + else > + return arg; > +} > > /* > * @brief > @@ -109,41 +120,57 @@ struct fixed31_32 dal_fixed31_32_abs( > * @brief > * result = arg1 < arg2 > */ > -bool dal_fixed31_32_lt( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2); > +static inline bool dal_fixed31_32_lt(struct fixed31_32 arg1, > + struct fixed31_32 arg2) > +{ > + return arg1.value < arg2.value; > +} > > /* > * @brief > * result = arg1 <= arg2 > */ > -bool dal_fixed31_32_le( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2); > +static inline bool dal_fixed31_32_le(struct fixed31_32 arg1, > + struct fixed31_32 arg2) > +{ > + return arg1.value <= arg2.value; > +} > > /* > * @brief > * result = arg1 == arg2 > */ > -bool dal_fixed31_32_eq( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2); > +static inline bool dal_fixed31_32_eq(struct fixed31_32 arg1, > + struct fixed31_32 arg2) > +{ > + return arg1.value == arg2.value; > +} > > /* > * @brief > * result = min(arg1, arg2) := (arg1 <= arg2) ? arg1 : arg2 > */ > -struct fixed31_32 dal_fixed31_32_min( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2); > +static inline struct fixed31_32 dal_fixed31_32_min(struct fixed31_32 arg1, > + struct fixed31_32 arg2) > +{ > + if (arg1.value <= arg2.value) > + return arg1; > + else > + return arg2; > +} > > /* > * @brief > * result = max(arg1, arg2) := (arg1 <= arg2) ? arg2 : arg1 > */ > -struct fixed31_32 dal_fixed31_32_max( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2); > +static inline struct fixed31_32 dal_fixed31_32_max(struct fixed31_32 arg1, > + struct fixed31_32 arg2) > +{ > + if (arg1.value <= arg2.value) > + return arg2; > + else > + return arg1; > +} > > /* > * @brief > @@ -151,10 +178,18 @@ struct fixed31_32 dal_fixed31_32_max( > * result = | arg, when min_value < arg < max_value > * | max_value, when arg >= max_value > */ > -struct fixed31_32 dal_fixed31_32_clamp( > +static inline struct fixed31_32 dal_fixed31_32_clamp( > struct fixed31_32 arg, > struct fixed31_32 min_value, > - struct fixed31_32 max_value); > + struct fixed31_32 max_value) > +{ > + if (dal_fixed31_32_le(arg, min_value)) > + return min_value; > + else if (dal_fixed31_32_le(max_value, arg)) > + return max_value; > + else > + return arg; > +} > > /* > * @brief > @@ -173,9 +208,14 @@ struct fixed31_32 dal_fixed31_32_shl( > * @brief > * result = arg >> shift > */ > -struct fixed31_32 dal_fixed31_32_shr( > +static inline struct fixed31_32 dal_fixed31_32_shr( > struct fixed31_32 arg, > - uint8_t shift); > + uint8_t shift) > +{ > + struct fixed31_32 res; > + res.value = arg.value >> shift; > + return res; > +} > > /* > * @brief > @@ -194,25 +234,32 @@ struct fixed31_32 dal_fixed31_32_add( > * @brief > * result = arg1 + arg2 > */ > -struct fixed31_32 dal_fixed31_32_add_int( > - struct fixed31_32 arg1, > - int32_t arg2); > +static inline struct fixed31_32 dal_fixed31_32_add_int(struct fixed31_32 arg1, > + int32_t arg2) > +{ > + return dal_fixed31_32_add(arg1, > + dal_fixed31_32_from_int(arg2)); > +} > > /* > * @brief > * result = arg1 - arg2 > */ > -struct fixed31_32 dal_fixed31_32_sub_int( > +struct fixed31_32 dal_fixed31_32_sub( > struct fixed31_32 arg1, > - int32_t arg2); > + struct fixed31_32 arg2); > > /* > * @brief > * result = arg1 - arg2 > */ > -struct fixed31_32 dal_fixed31_32_sub( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2); > +static inline struct fixed31_32 dal_fixed31_32_sub_int(struct fixed31_32 arg1, > + int32_t arg2) > +{ > + return dal_fixed31_32_sub(arg1, > + dal_fixed31_32_from_int(arg2)); > +} > + > > /* > * @brief > @@ -223,17 +270,21 @@ struct fixed31_32 dal_fixed31_32_sub( > * @brief > * result = arg1 * arg2 > */ > -struct fixed31_32 dal_fixed31_32_mul_int( > +struct fixed31_32 dal_fixed31_32_mul( > struct fixed31_32 arg1, > - int32_t arg2); > + struct fixed31_32 arg2); > + > > /* > * @brief > * result = arg1 * arg2 > */ > -struct fixed31_32 dal_fixed31_32_mul( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2); > +static inline struct fixed31_32 dal_fixed31_32_mul_int(struct fixed31_32 arg1, > + int32_t arg2) > +{ > + return dal_fixed31_32_mul(arg1, > + dal_fixed31_32_from_int(arg2)); > +} > > /* > * @brief > @@ -254,9 +305,12 @@ struct fixed31_32 dal_fixed31_32_div_int( > * @brief > * result = arg1 / arg2 > */ > -struct fixed31_32 dal_fixed31_32_div( > - struct fixed31_32 arg1, > - struct fixed31_32 arg2); > +static inline struct fixed31_32 dal_fixed31_32_div(struct fixed31_32 arg1, > + struct fixed31_32 arg2) > +{ > + return dal_fixed31_32_from_fraction(arg1.value, > + arg2.value); > +} > > /* > * @brief >