summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2016-01-29 09:45:51 -0800
committerchrome-bot <chrome-bot@chromium.org>2016-01-29 16:01:57 -0800
commit933c4e7aa4b873f0ad9cd4c348a1ea4f37f66aa7 (patch)
tree7a4f3c3dfd33e9d43044e5b7e0d49c1d8ddfab54
parent7cbd1ced18e6abf63e1017b2d02ad80391b47cd7 (diff)
downloadvboot-933c4e7aa4b873f0ad9cd4c348a1ea4f37f66aa7.tar.gz
vboot_display: Keep track of displayed screen
Vboot needs to track the currently displayed screen so when it needs to change the locale or display the debug overlay it knows which screen to redraw. Currently only the legacy path is doing this so change the new path to update the current screen if it is successfully drawn. BUG=chrome-os-partner:49766 BRANCH=glados TEST=boot on glados in dev mode, hit tab and ensure screen does not go black Change-Id: I4a2bf028275db57b2d0469fc1cb574e871820713 Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/324549 Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--firmware/lib/vboot_display.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/firmware/lib/vboot_display.c b/firmware/lib/vboot_display.c
index 8dbf2f2b..f2978fb0 100644
--- a/firmware/lib/vboot_display.c
+++ b/firmware/lib/vboot_display.c
@@ -357,8 +357,14 @@ VbError_t VbDisplayScreen(VbCommonParams *cparams, uint32_t screen,
/* Read the locale last saved */
VbNvGet(vncptr, VBNV_LOCALIZATION_INDEX, &locale);
- if (gbb->bmpfv_size == 0)
- return VbExDisplayScreen(screen, locale);
+ if (gbb->bmpfv_size == 0) {
+ VbError_t ret = VbExDisplayScreen(screen, locale);
+
+ /* Keep track of the currently displayed screen */
+ if (ret == VBERROR_SUCCESS)
+ disp_current_screen = screen;
+ return ret;
+ }
return VbDisplayScreenLegacy(cparams, screen, force, vncptr, locale);
}