From 226d7843775eb58d00f62ec882dc4803d6d7bc20 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Tue, 4 Nov 2014 21:09:23 +0100
Subject: ibexpeak, bd82x6x: Move to implicit length patching

Change-Id: I43eef7f97398d7c4c3f8d9790920fa4402019dd7
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-on: http://review.coreboot.org/7326
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
---
 src/cpu/intel/speedstep/acpi.c | 32 ++++++++++++--------------------
 1 file changed, 12 insertions(+), 20 deletions(-)

(limited to 'src/cpu/intel/speedstep')

diff --git a/src/cpu/intel/speedstep/acpi.c b/src/cpu/intel/speedstep/acpi.c
index 98d1ee7c3e..8a2bff10bf 100644
--- a/src/cpu/intel/speedstep/acpi.c
+++ b/src/cpu/intel/speedstep/acpi.c
@@ -82,18 +82,17 @@ static int get_fsb(void)
 	return 600;
 }
 
-static int gen_pstate_entries(const sst_table_t *const pstates,
+static void gen_pstate_entries(const sst_table_t *const pstates,
 			      const int cpuID, const int cores_per_package,
 			      const uint8_t coordination)
 {
 	int i;
-	int len, len_ps;
 	int frequency;
 
-	len = acpigen_write_empty_PCT();
-	len += acpigen_write_PSD_package(
+	acpigen_write_empty_PCT();
+	acpigen_write_PSD_package(
 			cpuID, cores_per_package, coordination);
-	len += acpigen_write_name("_PSS");
+	acpigen_write_name("_PSS");
 
 	const int fsb3 = get_fsb();
 	const int min_ratio2 = SPEEDSTEP_DOUBLE_RATIO(
@@ -107,7 +106,7 @@ static int gen_pstate_entries(const sst_table_t *const pstates,
 	printk(BIOS_DEBUG, "adding %x P-States between "
 			   "busratio %x and %x, ""incl. P0\n",
 	       pstates->num_states, min_ratio2 / 2, max_ratio2 / 2);
-	len_ps = acpigen_write_package(pstates->num_states);
+	acpigen_write_package(pstates->num_states);
 	for (i = 0; i < pstates->num_states; ++i) {
 		const sst_state_t *const pstate = &pstates->states[i];
 		/* Report frequency of turbo mode as that of HFM + 1. */
@@ -119,19 +118,14 @@ static int gen_pstate_entries(const sst_table_t *const pstates,
 			frequency = (SPEEDSTEP_DOUBLE_RATIO(*pstate)*fsb3)/12;
 		else
 			frequency = (SPEEDSTEP_DOUBLE_RATIO(*pstate)*fsb3)/6;
-		len_ps += acpigen_write_PSS_package(
+		acpigen_write_PSS_package(
 			frequency, pstate->power, 0, 0,
 			SPEEDSTEP_ENCODE_STATE(*pstate),
 			SPEEDSTEP_ENCODE_STATE(*pstate));
 	}
-	len_ps--;
-	acpigen_patch_len(len_ps);
+	acpigen_pop_len();
 
-	len += acpigen_write_PPC(0);
-
-	len += len_ps;
-
-	return len;
+	acpigen_write_PPC(0);
 }
 
 /**
@@ -139,7 +133,6 @@ static int gen_pstate_entries(const sst_table_t *const pstates,
  */
 void generate_cpu_entries(void)
 {
-	int len_pr;
 	int coreID, cpuID, pcontrol_blk = PMB0_BASE, plen = 6;
 	int totalcores = determine_total_number_of_cores();
 	int cores_per_package = (cpuid_ebx(1)>>16) & 0xff;
@@ -171,21 +164,20 @@ void generate_cpu_entries(void)
 			}
 
 			/* Generate processor \_PR.CPUx. */
-			len_pr = acpigen_write_processor(
+			acpigen_write_processor(
 					cpuID * cores_per_package + coreID - 1,
 					pcontrol_blk, plen);
 
 			/* Generate p-state entries. */
-			len_pr += gen_pstate_entries(&pstates, cpuID,
+			gen_pstate_entries(&pstates, cpuID,
 					cores_per_package, coordination);
 
 			/* Generate c-state entries. */
 			if (num_cstates > 0)
-				len_pr += acpigen_write_CST_package(
+				acpigen_write_CST_package(
 							cstates, num_cstates);
 
-			len_pr--;
-			acpigen_patch_len(len_pr);
+			acpigen_pop_len();
 		}
 	}
 }
-- 
cgit v1.2.3