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 dml wrappers.
Date: Thu, 28 Sep 2017 10:45:26 +1000 [thread overview]
Message-ID: <20170928004526.6770-2-airlied@gmail.com> (raw)
In-Reply-To: <20170928004526.6770-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
From: Dave Airlie <airlied@redhat.com>
This reduces code size.
Signed-off-by: Dave Airlie <airlied@redhat.com>
---
.../drm/amd/display/dc/dml/display_mode_support.c | 1 +
.../drm/amd/display/dc/dml/display_rq_dlg_calc.c | 2 +
.../gpu/drm/amd/display/dc/dml/display_watermark.c | 1 +
.../gpu/drm/amd/display/dc/dml/dml_common_defs.c | 56 +-------------------
.../gpu/drm/amd/display/dc/dml/dml_common_defs.h | 11 ----
.../gpu/drm/amd/display/dc/dml/dml_inline_defs.h | 61 ++++++++++++++++++++++
.../gpu/drm/amd/display/dc/dml/soc_bounding_box.c | 1 +
7 files changed, 67 insertions(+), 66 deletions(-)
create mode 100644 drivers/gpu/drm/amd/display/dc/dml/dml_inline_defs.h
diff --git a/drivers/gpu/drm/amd/display/dc/dml/display_mode_support.c b/drivers/gpu/drm/amd/display/dc/dml/display_mode_support.c
index 3b4ee74..ac57356 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/display_mode_support.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/display_mode_support.c
@@ -26,6 +26,7 @@
#include "display_mode_support.h"
#include "display_mode_lib.h"
+#include "dml_inline_defs.h"
int dml_ms_check(
struct display_mode_lib *mode_lib,
struct _vcs_dpi_display_e2e_pipe_params_st *e2e,
diff --git a/drivers/gpu/drm/amd/display/dc/dml/display_rq_dlg_calc.c b/drivers/gpu/drm/amd/display/dc/dml/display_rq_dlg_calc.c
index 9fccbbf..7a5fb1c 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/display_rq_dlg_calc.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/display_rq_dlg_calc.c
@@ -25,6 +25,8 @@
#include "display_rq_dlg_calc.h"
#include "display_mode_lib.h"
+#include "dml_inline_defs.h"
+
static unsigned int get_bytes_per_element(enum source_format_class source_format, bool is_chroma)
{
unsigned int ret_val = 0;
diff --git a/drivers/gpu/drm/amd/display/dc/dml/display_watermark.c b/drivers/gpu/drm/amd/display/dc/dml/display_watermark.c
index 390f093..142a328 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/display_watermark.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/display_watermark.c
@@ -24,6 +24,7 @@
*/
#include "display_watermark.h"
#include "display_mode_lib.h"
+#include "dml_inline_defs.h"
static void get_bytes_per_pixel(
enum source_format_class format,
diff --git a/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.c b/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.c
index 21349a02..c242b8d 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.c
@@ -26,26 +26,7 @@
#include "dml_common_defs.h"
#include "../calcs/dcn_calc_math.h"
-double dml_min(double a, double b)
-{
- return (double) dcn_bw_min2(a, b);
-}
-
-double dml_max(double a, double b)
-{
- return (double) dcn_bw_max2(a, b);
-}
-
-double dml_ceil(double a)
-{
- return (double) dcn_bw_ceil2(a, 1);
-}
-
-double dml_floor(double a)
-{
- return (double) dcn_bw_floor2(a, 1);
-}
-
+#include "dml_inline_defs.h"
double dml_round(double a)
{
double round_pt = 0.5;
@@ -58,16 +39,6 @@ double dml_round(double a)
return floor;
}
-int dml_log2(double x)
-{
- return dml_round((double)dcn_bw_log(x, 2));
-}
-
-double dml_pow(double a, int exp)
-{
- return (double) dcn_bw_pow(a, exp);
-}
-
unsigned int dml_round_to_multiple(
unsigned int num,
unsigned int multiple,
@@ -89,16 +60,6 @@ unsigned int dml_round_to_multiple(
return (num - remainder);
}
-double dml_fmod(double f, int val)
-{
- return (double) dcn_bw_mod(f, val);
-}
-
-double dml_ceil_2(double f)
-{
- return (double) dcn_bw_ceil2(f, 2);
-}
-
bool dml_util_is_420(enum source_format_class sorce_format)
{
bool val = false;
@@ -131,18 +92,3 @@ bool dml_util_is_420(enum source_format_class sorce_format)
return val;
}
-
-double dml_ceil_ex(double x, double granularity)
-{
- return (double) dcn_bw_ceil2(x, granularity);
-}
-
-double dml_floor_ex(double x, double granularity)
-{
- return (double) dcn_bw_floor2(x, granularity);
-}
-
-double dml_log(double x, double base)
-{
- return (double) dcn_bw_log(x, base);
-}
diff --git a/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.h b/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.h
index c5340d4..c621f83 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.h
+++ b/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.h
@@ -32,20 +32,9 @@
#define DTRACE(str, ...) dm_logger_write(mode_lib->logger, LOG_DML, str, ##__VA_ARGS__);
-double dml_min(double a, double b);
-double dml_max(double a, double b);
bool dml_util_is_420(enum source_format_class sorce_format);
-double dml_ceil_ex(double x, double granularity);
-double dml_floor_ex(double x, double granularity);
-double dml_log(double x, double base);
-double dml_ceil(double a);
-double dml_floor(double a);
double dml_round(double a);
-int dml_log2(double x);
-double dml_pow(double a, int exp);
unsigned int dml_round_to_multiple(
unsigned int num, unsigned int multiple, bool up);
-double dml_fmod(double f, int val);
-double dml_ceil_2(double f);
#endif /* __DC_COMMON_DEFS_H__ */
diff --git a/drivers/gpu/drm/amd/display/dc/dml/dml_inline_defs.h b/drivers/gpu/drm/amd/display/dc/dml/dml_inline_defs.h
new file mode 100644
index 0000000..1c6c631
--- /dev/null
+++ b/drivers/gpu/drm/amd/display/dc/dml/dml_inline_defs.h
@@ -0,0 +1,61 @@
+#ifndef __DML_INLINE_DEFS_H__
+#define __DML_INLINE_DEFS_H__
+#include "dml_common_defs.h"
+#include "../calcs/dcn_calc_math.h"
+
+static inline double dml_min(double a, double b)
+{
+ return (double) dcn_bw_min2(a, b);
+}
+
+static inline double dml_max(double a, double b)
+{
+ return (double) dcn_bw_max2(a, b);
+}
+
+static inline double dml_ceil(double a)
+{
+ return (double) dcn_bw_ceil2(a, 1);
+}
+
+static inline double dml_floor(double a)
+{
+ return (double) dcn_bw_floor2(a, 1);
+}
+
+static inline int dml_log2(double x)
+{
+ return dml_round((double)dcn_bw_log(x, 2));
+}
+
+static inline double dml_pow(double a, int exp)
+{
+ return (double) dcn_bw_pow(a, exp);
+}
+
+static inline double dml_fmod(double f, int val)
+{
+ return (double) dcn_bw_mod(f, val);
+}
+
+static inline double dml_ceil_2(double f)
+{
+ return (double) dcn_bw_ceil2(f, 2);
+}
+
+static inline double dml_ceil_ex(double x, double granularity)
+{
+ return (double) dcn_bw_ceil2(x, granularity);
+}
+
+static inline double dml_floor_ex(double x, double granularity)
+{
+ return (double) dcn_bw_floor2(x, granularity);
+}
+
+static inline double dml_log(double x, double base)
+{
+ return (double) dcn_bw_log(x, base);
+}
+
+#endif
diff --git a/drivers/gpu/drm/amd/display/dc/dml/soc_bounding_box.c b/drivers/gpu/drm/amd/display/dc/dml/soc_bounding_box.c
index cb143d3..0745366 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/soc_bounding_box.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/soc_bounding_box.c
@@ -25,6 +25,7 @@
#include "soc_bounding_box.h"
#include "display_mode_lib.h"
+#include "dml_inline_defs.h"
void dml_socbb_set_latencies(
struct display_mode_lib *mode_lib,
struct _vcs_dpi_soc_bounding_box_st *from_box)
--
2.9.4
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
prev parent reply other threads:[~2017-09-28 0:45 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-28 0:45 [PATCH 1/2] amdgpu/dc: inline a bunch of float operations Dave Airlie
[not found] ` <20170928004526.6770-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-09-28 0:45 ` Dave Airlie [this message]
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=20170928004526.6770-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.