summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.c')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.c56
1 files changed, 55 insertions, 1 deletions
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 c242b8d41b8a..21349a022de3 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,7 +26,26 @@
#include "dml_common_defs.h"
#include "../calcs/dcn_calc_math.h"
-#include "dml_inline_defs.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);
+}
+
double dml_round(double a)
{
double round_pt = 0.5;
@@ -39,6 +58,16 @@ 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,
@@ -60,6 +89,16 @@ 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;
@@ -92,3 +131,18 @@ 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);
+}