summaryrefslogtreecommitdiff
path: root/src/northbridge/intel/gm45
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2016-10-12 01:04:28 +0200
committerMartin Roth <martinroth@google.com>2016-10-19 17:00:00 +0200
commit75f9131453c0e046f69ab4a8db7a3af7efcf6038 (patch)
tree70e096306e70c06195082656371d36d93d1ea00b /src/northbridge/intel/gm45
parent063cd5f6eee0ad9416e62eac4a168591220f53d0 (diff)
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)
Diffstat (limited to 'src/northbridge/intel/gm45')
-rw-r--r--src/northbridge/intel/gm45/gma.c6
1 files changed, 4 insertions, 2 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;