summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/northbridge/intel/gm45/gma.c6
-rw-r--r--src/northbridge/intel/i945/gma.c3
-rw-r--r--src/northbridge/intel/x4x/gma.c3
3 files changed, 8 insertions, 4 deletions
diff --git a/src/northbridge/intel/gm45/gma.c b/src/northbridge/intel/gm45/gma.c
index 026a165def..30c8d9a6e1 100644
--- a/src/northbridge/intel/gm45/gma.c
+++ b/src/northbridge/intel/gm45/gma.c
@@ -171,7 +171,8 @@ static void gma_init_lvds(const struct northbridge_intel_gm45_config *info,
u32 p = candp1 * pixel_p2;
u32 vco = DIV_ROUND_CLOSEST(BASE_FREQUENCY * m, candn + 2);
u32 dot = DIV_ROUND_CLOSEST(vco, p);
- u32 this_err = ABS(dot - target_frequency);
+ u32 this_err = MAX(dot, target_frequency) -
+ MIN(dot, target_frequency);
if (this_err < smallest_err) {
smallest_err = this_err;
pixel_n = candn;
@@ -477,7 +478,8 @@ static void gma_init_vga(const struct northbridge_intel_gm45_config *info,
u32 p = candp1 * pixel_p2;
u32 vco = DIV_ROUND_CLOSEST(BASE_FREQUENCY * m, candn + 2);
u32 dot = DIV_ROUND_CLOSEST(vco, p);
- u32 this_err = ABS(dot - target_frequency);
+ u32 this_err = MAX(dot, target_frequency) -
+ MIN(dot, target_frequency);
if (this_err < smallest_err) {
smallest_err= this_err;
pixel_n = candn;
diff --git a/src/northbridge/intel/i945/gma.c b/src/northbridge/intel/i945/gma.c
index e40b9f00a8..d8950e61b7 100644
--- a/src/northbridge/intel/i945/gma.c
+++ b/src/northbridge/intel/i945/gma.c
@@ -177,7 +177,8 @@ static int intel_gma_init_lvds(struct northbridge_intel_i945_config *conf,
u32 p = candp1 * pixel_p2;
u32 vco = DIV_ROUND_CLOSEST(BASE_FREQUENCY * m, candn + 2);
u32 dot = DIV_ROUND_CLOSEST(vco, p);
- u32 this_err = ABS(dot - target_frequency);
+ u32 this_err = MAX(dot, target_frequency) -
+ MIN(dot, target_frequency);
if ((m < 70) || (m > 120))
continue;
if (this_err < smallest_err) {
diff --git a/src/northbridge/intel/x4x/gma.c b/src/northbridge/intel/x4x/gma.c
index eb419c9f7d..3f3ba2bf26 100644
--- a/src/northbridge/intel/x4x/gma.c
+++ b/src/northbridge/intel/x4x/gma.c
@@ -191,7 +191,8 @@ static void intel_gma_init(const struct northbridge_intel_x4x_config *info,
u32 vco = DIV_ROUND_CLOSEST(
BASE_FREQUENCY * m, candn + 2);
u32 dot = DIV_ROUND_CLOSEST(vco, p);
- u32 this_err = ABS(dot - target_frequency);
+ u32 this_err = MAX(dot, target_frequency) -
+ MIN(dot, target_frequency);
if (this_err < err_most) {
err_most = this_err;
pixel_n = candn;