aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2436-amdgpu-dc-inline-some-of-the-fixed-32_32-fns.patch
blob: 590f18e6608bc211058d7007ff55bb4483c6be08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
From 63f9dad30cf6f407fd3f0bf309ffad976c77fca4 Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Fri, 29 Sep 2017 15:45:07 +1000
Subject: [PATCH 2436/4131] amdgpu/dc: inline some of the fixed 32_32 fns

This drops ~400 bytes here.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
---
 drivers/gpu/drm/amd/display/dc/basics/fixpt32_32.c | 60 -----------------
 drivers/gpu/drm/amd/display/include/fixed32_32.h   | 76 +++++++++++++++++-----
 2 files changed, 61 insertions(+), 75 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/basics/fixpt32_32.c b/drivers/gpu/drm/amd/display/dc/basics/fixpt32_32.c
index 911e90b..4d3aaa8 100644
--- a/drivers/gpu/drm/amd/display/dc/basics/fixpt32_32.c
+++ b/drivers/gpu/drm/amd/display/dc/basics/fixpt32_32.c
@@ -57,14 +57,6 @@ struct fixed32_32 dal_fixed32_32_from_fraction(uint32_t n, uint32_t d)
 	return fx;
 }
 
-struct fixed32_32 dal_fixed32_32_from_int(uint32_t value)
-{
-	struct fixed32_32 fx;
-
-	fx.value = (uint64_t)value<<32;
-	return fx;
-}
-
 struct fixed32_32 dal_fixed32_32_add(
 	struct fixed32_32 lhs,
 	struct fixed32_32 rhs)
@@ -155,67 +147,15 @@ struct fixed32_32 dal_fixed32_32_div_int(struct fixed32_32 lhs, uint32_t rhs)
 	return fx;
 }
 
-struct fixed32_32 dal_fixed32_32_min(
-	struct fixed32_32 lhs,
-	struct fixed32_32 rhs)
-{
-	return (lhs.value < rhs.value) ? lhs : rhs;
-}
-
-struct fixed32_32 dal_fixed32_32_max(
-	struct fixed32_32 lhs,
-	struct fixed32_32 rhs)
-{
-	return (lhs.value > rhs.value) ? lhs : rhs;
-}
-
-bool dal_fixed32_32_gt(struct fixed32_32 lhs, struct fixed32_32 rhs)
-{
-	return lhs.value > rhs.value;
-}
-bool dal_fixed32_32_gt_int(struct fixed32_32 lhs, uint32_t rhs)
-{
-	return lhs.value > ((uint64_t)rhs<<32);
-}
-
-bool dal_fixed32_32_lt(struct fixed32_32 lhs, struct fixed32_32 rhs)
-{
-	return lhs.value < rhs.value;
-}
-
-bool dal_fixed32_32_le(struct fixed32_32 lhs, struct fixed32_32 rhs)
-{
-	return lhs.value <= rhs.value;
-}
-
-bool dal_fixed32_32_lt_int(struct fixed32_32 lhs, uint32_t rhs)
-{
-	return lhs.value < ((uint64_t)rhs<<32);
-}
-
-bool dal_fixed32_32_le_int(struct fixed32_32 lhs, uint32_t rhs)
-{
-	return lhs.value <= ((uint64_t)rhs<<32);
-}
-
 uint32_t dal_fixed32_32_ceil(struct fixed32_32 v)
 {
 	ASSERT((uint32_t)v.value ? (v.value >> 32) + 1 >= 1 : true);
 	return (v.value>>32) + ((uint32_t)v.value ? 1 : 0);
 }
 
-uint32_t dal_fixed32_32_floor(struct fixed32_32 v)
-{
-	return v.value>>32;
-}
-
 uint32_t dal_fixed32_32_round(struct fixed32_32 v)
 {
 	ASSERT(v.value + (1ULL<<31) >= (1ULL<<31));
 	return (v.value + (1ULL<<31))>>32;
 }
 
-bool dal_fixed32_32_eq(struct fixed32_32 lhs, struct fixed32_32 rhs)
-{
-	return lhs.value == rhs.value;
-}
diff --git a/drivers/gpu/drm/amd/display/include/fixed32_32.h b/drivers/gpu/drm/amd/display/include/fixed32_32.h
index c7ddd0e..9c70341 100644
--- a/drivers/gpu/drm/amd/display/include/fixed32_32.h
+++ b/drivers/gpu/drm/amd/display/include/fixed32_32.h
@@ -38,7 +38,14 @@ static const struct fixed32_32 dal_fixed32_32_one = { 0x100000000LL };
 static const struct fixed32_32 dal_fixed32_32_half = { 0x80000000LL };
 
 struct fixed32_32 dal_fixed32_32_from_fraction(uint32_t n, uint32_t d);
-struct fixed32_32 dal_fixed32_32_from_int(uint32_t value);
+static inline struct fixed32_32 dal_fixed32_32_from_int(uint32_t value)
+{
+	struct fixed32_32 fx;
+
+	fx.value = (uint64_t)value<<32;
+	return fx;
+}
+
 struct fixed32_32 dal_fixed32_32_add(
 	struct fixed32_32 lhs,
 	struct fixed32_32 rhs);
@@ -63,21 +70,60 @@ struct fixed32_32 dal_fixed32_32_div(
 struct fixed32_32 dal_fixed32_32_div_int(
 	struct fixed32_32 lhs,
 	uint32_t rhs);
-struct fixed32_32 dal_fixed32_32_min(
-	struct fixed32_32 lhs,
-	struct fixed32_32 rhs);
-struct fixed32_32 dal_fixed32_32_max(
-	struct fixed32_32 lhs,
-	struct fixed32_32 rhs);
-bool dal_fixed32_32_gt(struct fixed32_32 lhs, struct fixed32_32 rhs);
-bool dal_fixed32_32_gt_int(struct fixed32_32 lhs, uint32_t rhs);
-bool dal_fixed32_32_lt(struct fixed32_32 lhs, struct fixed32_32 rhs);
-bool dal_fixed32_32_lt_int(struct fixed32_32 lhs, uint32_t rhs);
-bool dal_fixed32_32_le(struct fixed32_32 lhs, struct fixed32_32 rhs);
-bool dal_fixed32_32_le_int(struct fixed32_32 lhs, uint32_t rhs);
-bool dal_fixed32_32_eq(struct fixed32_32 lhs, struct fixed32_32 rhs);
+
+static inline struct fixed32_32 dal_fixed32_32_min(struct fixed32_32 lhs,
+						   struct fixed32_32 rhs)
+{
+	return (lhs.value < rhs.value) ? lhs : rhs;
+}
+
+static inline struct fixed32_32 dal_fixed32_32_max(struct fixed32_32 lhs,
+						   struct fixed32_32 rhs)
+{
+	return (lhs.value > rhs.value) ? lhs : rhs;
+}
+
+static inline bool dal_fixed32_32_gt(struct fixed32_32 lhs, struct fixed32_32 rhs)
+{
+	return lhs.value > rhs.value;
+}
+
+static inline bool dal_fixed32_32_gt_int(struct fixed32_32 lhs, uint32_t rhs)
+{
+	return lhs.value > ((uint64_t)rhs<<32);
+}
+
+static inline bool dal_fixed32_32_lt(struct fixed32_32 lhs, struct fixed32_32 rhs)
+{
+	return lhs.value < rhs.value;
+}
+
+static inline bool dal_fixed32_32_lt_int(struct fixed32_32 lhs, uint32_t rhs)
+{
+	return lhs.value < ((uint64_t)rhs<<32);
+}
+
+static inline bool dal_fixed32_32_le(struct fixed32_32 lhs, struct fixed32_32 rhs)
+{
+	return lhs.value <= rhs.value;
+}
+
+static inline bool dal_fixed32_32_le_int(struct fixed32_32 lhs, uint32_t rhs)
+{
+	return lhs.value <= ((uint64_t)rhs<<32);
+}
+
+static inline bool dal_fixed32_32_eq(struct fixed32_32 lhs, struct fixed32_32 rhs)
+{
+	return lhs.value == rhs.value;
+}
+
 uint32_t dal_fixed32_32_ceil(struct fixed32_32 value);
-uint32_t dal_fixed32_32_floor(struct fixed32_32 value);
+static inline uint32_t dal_fixed32_32_floor(struct fixed32_32 value)
+{
+	return value.value>>32;
+}
+
 uint32_t dal_fixed32_32_round(struct fixed32_32 value);
 
 #endif
-- 
2.7.4