nb/i945,gm45,x4x/gma.c: fix unsigned arithmetics

This issue was found by Coverity Scan, CID 1364118.

Change-Id: Iba3c0f4f952729d9e0987d928b63ef8b8fe8841e
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/16992
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: build bot (Jenkins)
diff --git a/src/northbridge/intel/i945/gma.c b/src/northbridge/intel/i945/gma.c
index e40b9f0..d8950e6 100644
--- a/src/northbridge/intel/i945/gma.c
+++ b/src/northbridge/intel/i945/gma.c
@@ -177,7 +177,8 @@
 					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) {