diff options
author | Simon Glass <sjg@chromium.org> | 2011-12-20 15:46:57 -0800 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2012-01-05 19:26:17 -0800 |
commit | 2cc6f8645dc2edb7a65e128b23314cfdaf0d22d1 (patch) | |
tree | 613fa6625c9ba97f0c9f6f462e45a5767d1034f9 /drivers | |
parent | 3d7efd222becd25c43c01a8f800de688c820e61a (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.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/video/tegra2.c b/drivers/video/tegra2.c index 065db7c140f..18bd47432e7 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) |