All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Airlie <airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: [PATCH 2/2] amdgpu/dc: inline a bunch of the fixed 31_32 helpers.
Date: Fri, 29 Sep 2017 15:45:08 +1000	[thread overview]
Message-ID: <20170929054508.24225-2-airlied@gmail.com> (raw)
In-Reply-To: <20170929054508.24225-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

From: Dave Airlie <airlied@redhat.com>

This decreases code size by a few hundred bytes.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 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
-- 
2.9.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2017-09-29  5:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-29  5:45 [PATCH 1/2] amdgpu/dc: inline some of the fixed 32_32 fns Dave Airlie
     [not found] ` <20170929054508.24225-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-09-29  5:45   ` Dave Airlie [this message]
     [not found]     ` <20170929054508.24225-2-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-09-29 14:55       ` [PATCH 2/2] amdgpu/dc: inline a bunch of the fixed 31_32 helpers Harry Wentland

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170929054508.24225-2-airlied@gmail.com \
    --to=airlied-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.