Use common GCD function
Change-Id: I30e4b02a9ca6a15c9bc4edcf4143ffa13a21a732
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78799
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
diff --git a/src/drivers/analogix/anx7625/anx7625.c b/src/drivers/analogix/anx7625/anx7625.c
index e3a5111..8726ac0 100644
--- a/src/drivers/analogix/anx7625/anx7625.c
+++ b/src/drivers/analogix/anx7625/anx7625.c
@@ -1,6 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <console/console.h>
+#include <commonlib/bsd/gcd.h>
#include <delay.h>
#include <device/i2c_simple.h>
#include <edid.h>
@@ -152,30 +153,14 @@
return 0;
}
-static unsigned long gcd(unsigned long a, unsigned long b)
-{
- if (a == 0)
- return b;
-
- while (b != 0) {
- if (a > b)
- a = a - b;
- else
- b = b - a;
- }
-
- return a;
-}
-
/* Reduce fraction a/b */
-static void anx7625_reduction_of_a_fraction(unsigned long *_a,
- unsigned long *_b)
+static void anx7625_reduction_of_a_fraction(u32 *_a, u32 *_b)
{
- unsigned long gcd_num;
- unsigned long a = *_a, b = *_b, old_a, old_b;
+ u32 gcd_num;
+ u32 a = *_a, b = *_b, old_a, old_b;
u32 denom = 1;
- gcd_num = gcd(a, b);
+ gcd_num = gcd32(a, b);
a /= gcd_num;
b /= gcd_num;
@@ -198,9 +183,7 @@
*_b = b;
}
-static int anx7625_calculate_m_n(u32 pixelclock,
- unsigned long *m, unsigned long *n,
- uint8_t *pd)
+static int anx7625_calculate_m_n(u32 pixelclock, u32 *m, u32 *n, uint8_t *pd)
{
uint8_t post_divider = *pd;
if (pixelclock > PLL_OUT_FREQ_ABS_MAX / POST_DIVIDER_MIN) {
@@ -300,7 +283,7 @@
static int anx7625_dsi_video_config(uint8_t bus, struct display_timing *dt)
{
- unsigned long m, n;
+ u32 m, n;
u16 htotal;
int ret;
uint8_t post_divider = 0;
@@ -311,7 +294,7 @@
return -1;
}
- ANXINFO("compute M(%lu), N(%lu), divider(%d).\n", m, n, post_divider);
+ ANXINFO("compute M(%u), N(%u), divider(%d).\n", m, n, post_divider);
/* configure pixel clock */
ret = anx7625_reg_write(bus, RX_P0_ADDR, PIXEL_CLOCK_L,