diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2016-01-29 09:45:51 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-01-29 16:01:57 -0800 |
commit | 933c4e7aa4b873f0ad9cd4c348a1ea4f37f66aa7 (patch) | |
tree | 7a4f3c3dfd33e9d43044e5b7e0d49c1d8ddfab54 | |
parent | 7cbd1ced18e6abf63e1017b2d02ad80391b47cd7 (diff) | |
download | vboot-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.c | 10 |
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); } |