tegra132: measure romstage timings

Measure the MTS load time, MTS initialization time, and
the ramstage verification/load time.

BUG=None
BRANCH=None
TEST=Booted and noted timings.

Change-Id: I71119689182e86406d5052f007908152d41e9092
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/219715
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
This commit is contained in:
Aaron Durbin 2014-09-24 09:13:14 -05:00 committed by chrome-internal-fetch
commit b5b34a3abd
2 changed files with 12 additions and 2 deletions

View file

@ -67,7 +67,7 @@ static int ccplex_start(void)
}
}
printk(BIOS_DEBUG, "MTS handshake took %ld us.\n",
printk(BIOS_DEBUG, "MTS handshake took %ld usecs.\n",
stopwatch_duration_usecs(&sw));
return 0;
@ -78,6 +78,8 @@ int ccplex_load_mts(void)
struct cbfs_file file;
ssize_t offset;
size_t nread;
struct stopwatch sw;
/*
* MTS location is hard coded to this magic address. The hardware will
* take the MTS from this location and place it in the final resting
@ -86,6 +88,7 @@ int ccplex_load_mts(void)
void * const mts = (void *)(uintptr_t)MTS_LOAD_ADDRESS;
struct cbfs_media *media = CBFS_DEFAULT_MEDIA;
stopwatch_init(&sw);
offset = cbfs_locate_file(media, &file, MTS_FILE_NAME);
if (offset < 0) {
printk(BIOS_DEBUG, "MTS file not found: %s\n", MTS_FILE_NAME);
@ -101,7 +104,8 @@ int ccplex_load_mts(void)
return -1;
}
printk(BIOS_DEBUG, "MTS: %zu bytes loaded @ %p\n", nread, mts);
printk(BIOS_DEBUG, "MTS: %zu bytes loaded @ %p in %ld usecs.\n",
nread, mts, stopwatch_duration_usecs(&sw));
return ccplex_start();
}

View file

@ -21,6 +21,7 @@
#include <cbfs.h>
#include <cbmem.h>
#include <console/console.h>
#include <timer.h>
#include <arch/exception.h>
#include <vendorcode/google/chromeos/chromeos.h>
@ -40,7 +41,9 @@ void __attribute__((weak)) romstage_mainboard_init(void)
static void *load_ramstage(void)
{
void *entry;
struct stopwatch sw;
stopwatch_init(&sw);
/*
* This platform does not need to cache a loaded ramstage nor do we
* go down this path on resume. Therefore, no romstage_handoff is
@ -52,6 +55,9 @@ static void *load_ramstage(void)
entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA,
CONFIG_CBFS_PREFIX "/ramstage");
printk(BIOS_DEBUG, "Ramstage load time: %ld usecs.\n",
stopwatch_duration_usecs(&sw));
return entry;
}