[coreboot-gerrit] Patch set updated for coreboot: intel raminit: rewrite timB high adjust calculation

Patrick Rudolph (siro@das-labor.org) gerrit at coreboot.org
Thu Jul 16 20:59:51 CEST 2015


Patrick Rudolph (siro at das-labor.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10890

-gerrit

commit 4395d87649780c3534fb5a629662e3d38bd3c2ec
Author: Patrick Rudolph <siro at das-labor.org>
Date:   Sun Jul 12 17:01:42 2015 +0200

    intel raminit: rewrite timB high adjust calculation
    
    Found while doing code review.
    
    Simplify the code by using a loop for positive and negative phase
    adjustments.
    
    Change-Id: I0980443d0d2815bccef969709fddecc07d61a788
    Signed-off-by: Patrick Rudolph <siro at das-labor.org>
---
 src/northbridge/intel/sandybridge/raminit_native.c | 23 +++++++++++-----------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/src/northbridge/intel/sandybridge/raminit_native.c b/src/northbridge/intel/sandybridge/raminit_native.c
index 850ce93..d56d60d 100644
--- a/src/northbridge/intel/sandybridge/raminit_native.c
+++ b/src/northbridge/intel/sandybridge/raminit_native.c
@@ -2288,18 +2288,17 @@ static int get_timB_high_adjust(u64 val)
 	if (val == 0xffffffffffffffffLL)
 		return 0;
 
-	if (val >= 0xfffffffffffff000LL)
-		return 3;
-	if (val >= 0xfffffffffff00000LL)
-		return -1;
-	if (val >= 0xfffffff000000000LL)
-		return -2;
-	if (val >= 0xfff0000000000000LL)
-		return -3;
-
-	for (i = 0; i < 8; i++)
-		if (val >> (8 * (7 - i) + 4))
-			return i;
+	if (val >= 0xf000000000000000LL) {
+		/* needs negative adjustment */
+		for (i = 0; i < 8; i++)
+			if (val << (8 * (7 - i) + 4))
+				return -i;
+	} else {
+		/* needs positive adjustment */
+		for (i = 0; i < 8; i++)
+			if (val >> (8 * (7 - i) + 4))
+				return i;
+	}
 	return 8;
 }
 



More information about the coreboot-gerrit mailing list