[coreboot-gerrit] New patch to review for coreboot: intel/sandybridge: Do not log inside busy-wait loop
Kyösti Mälkki (kyosti.malkki@gmail.com)
gerrit at coreboot.org
Sun Nov 20 15:51:45 CET 2016
Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17516
-gerrit
commit 273db550a347594a1d31a31c4c3bca5ffe34a39d
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date: Sat Nov 19 17:12:39 2016 +0200
intel/sandybridge: Do not log inside busy-wait loop
Time spent in printk() is highly unpredictable, depending of the
enabled consoles. If only CBMEM console is enabled, debugstring
is repeated tens of times, consuming preram_cbmem_console storage.
Change-Id: I2b0d9bd11c294d988a0eb84b90e77d5cc7f1f848
Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
src/northbridge/intel/sandybridge/raminit.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/northbridge/intel/sandybridge/raminit.c b/src/northbridge/intel/sandybridge/raminit.c
index 0842d4b..e2fb6ef 100644
--- a/src/northbridge/intel/sandybridge/raminit.c
+++ b/src/northbridge/intel/sandybridge/raminit.c
@@ -845,11 +845,14 @@ static void dram_freq(ramctr_timing * ctrl)
reg1 = FRQ;
reg1 |= 0x80000000; // set running bit
MCHBAR32(MC_BIOS_REQ) = reg1;
+ int i=0;
+ printk(BIOS_DEBUG, "PLL busy... ");
while (reg1 & 0x80000000) {
- printk(BIOS_DEBUG, " PLL busy...");
+ udelay(10);
+ i++;
reg1 = MCHBAR32(MC_BIOS_REQ);
}
- printk(BIOS_DEBUG, "done\n");
+ printk(BIOS_DEBUG, "done in %d us\n", i * 10);
/* Step 3 - Verify lock frequency */
reg1 = MCHBAR32(MC_BIOS_DATA);
More information about the coreboot-gerrit
mailing list