From: Ville Syrjälä <ville.syrj...@linux.intel.com>

Get rid of the drm_fixp_from_fraction() usage and just do the
straightforward calculation directly.

Cc: Lyude Paul <ly...@redhat.com>
Cc: Harry Wentland <harry.wentl...@amd.com>
Cc: Alex Deucher <alexander.deuc...@amd.com>
Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/drm_dp_mst_topology.c | 18 ++----------------
 1 file changed, 2 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c 
b/drivers/gpu/drm/drm_dp_mst_topology.c
index d4644a3c1324..f899a4432311 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -32,7 +32,6 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_dp_mst_helper.h>
 #include <drm/drm_drv.h>
-#include <drm/drm_fixed.h>
 #include <drm/drm_print.h>
 #include <drm/drm_probe_helper.h>
 
@@ -3840,13 +3839,6 @@ EXPORT_SYMBOL(drm_dp_check_act_status);
  */
 int drm_dp_calc_pbn_mode(int clock, int bpp)
 {
-       u64 kbps;
-       s64 peak_kbps;
-       u32 numerator;
-       u32 denominator;
-
-       kbps = clock * bpp;
-
        /*
         * margin 5300ppm + 300ppm ~ 0.6% as per spec, factor is 1.006
         * The unit of 54/64Mbytes/sec is an arbitrary unit chosen based on
@@ -3857,14 +3849,8 @@ int drm_dp_calc_pbn_mode(int clock, int bpp)
         * peak_kbps *= (64/54)
         * peak_kbps *= 8    convert to bytes
         */
-
-       numerator = 64 * 1006;
-       denominator = 54 * 8 * 1000 * 1000;
-
-       kbps *= numerator;
-       peak_kbps = drm_fixp_from_fraction(kbps, denominator);
-
-       return drm_fixp2int_ceil(peak_kbps);
+       return DIV_ROUND_UP_ULL(mul_u32_u32(clock * bpp, 64 * 1006),
+                               8 * 54 * 1000 * 1000);
 }
 EXPORT_SYMBOL(drm_dp_calc_pbn_mode);
 
-- 
2.21.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to