summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2011-12-20 15:46:57 -0800
committerSimon Glass <sjg@chromium.org>2012-01-05 19:26:17 -0800
commit2cc6f8645dc2edb7a65e128b23314cfdaf0d22d1 (patch)
tree613fa6625c9ba97f0c9f6f462e45a5767d1034f9 /drivers
parent3d7efd222becd25c43c01a8f800de688c820e61a (diff)
Track lcd wait time using bootstage
The intent is for LCD init to happen such that we never need to call udelay(). Add tracking that this is indeed the case, and report it with the boot time report. BUG=chromium-os:22938 TEST=build and boot on Kaen Change-Id: I78e458a6b878a4237e4e059525bae4fa47844ed9 Reviewed-on: https://gerrit.chromium.org/gerrit/13377 Commit-Ready: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/tegra2.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/video/tegra2.c b/drivers/video/tegra2.c
index 065db7c140..18bd47432e 100644
--- a/drivers/video/tegra2.c
+++ b/drivers/video/tegra2.c
@@ -314,9 +314,12 @@ static int handle_stage(const void *blob)
int tegra_lcd_check_next_stage(const void *blob, int wait)
{
+ int err = 0;
+
if (stage == STAGE_DONE)
return 0;
+ bootstage_start(BOOTSTAGE_LCD_WAIT, "lcd_wait");
do {
/* wait if we need to */
debug("%s: stage %d\n", __func__, stage);
@@ -332,9 +335,11 @@ int tegra_lcd_check_next_stage(const void *blob, int wait)
}
if (handle_stage(blob))
- return -1;
- } while (wait && stage != STAGE_DONE);
- return 0;
+ err = -1;
+
+ } while (wait && !err && stage != STAGE_DONE);
+ bootstage_accum(BOOTSTAGE_LCD_WAIT);
+ return err;
}
void lcd_enable(void)