diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2015-12-02 11:42:51 -0800 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2016-01-14 18:44:20 +0100 |
commit | d201e8c38aa774a63d4ff975f55a19b76964b9c8 (patch) | |
tree | a41c118cee44ca16d56903cb4ea3eb53469d094c /payloads/libpayload | |
parent | b87bb29f4f06050128d6a3597bcae209605b6321 (diff) | |
download | coreboot-d201e8c38aa774a63d4ff975f55a19b76964b9c8.tar.xz |
cbgfx: add error code to cbgfx_init
cbgfx_init can fail for multiple reasons. These codes help debugging
cbgfx_init.
BUG=chromium:502066
BRANCH=tot
TEST=Tested on Glados
Change-Id: Ifaa8d91b058bd838a53faf5d803c0337cb1e082c
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 4caf2496f3583e133f3f216ec401515c267e6e7b
Original-Change-Id: I84f60dd961db47fa426442172ab19676253b9495
Original-Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/315550
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/12930
Tested-by: build bot (Jenkins)
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'payloads/libpayload')
-rw-r--r-- | payloads/libpayload/drivers/video/graphics.c | 6 | ||||
-rw-r--r-- | payloads/libpayload/include/cbgfx.h | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/payloads/libpayload/drivers/video/graphics.c b/payloads/libpayload/drivers/video/graphics.c index c8d0d4da4d..01e3565996 100644 --- a/payloads/libpayload/drivers/video/graphics.c +++ b/payloads/libpayload/drivers/video/graphics.c @@ -143,11 +143,11 @@ static int cbgfx_init(void) fbinfo = lib_sysinfo.framebuffer; if (!fbinfo) - return -1; + return CBGFX_ERROR_FRAMEBUFFER_INFO; fbaddr = phys_to_virt((uint8_t *)(uintptr_t)(fbinfo->physical_address)); if (!fbaddr) - return -1; + return CBGFX_ERROR_FRAMEBUFFER_ADDR; screen.size.width = fbinfo->x_resolution; screen.size.height = fbinfo->y_resolution; @@ -157,7 +157,7 @@ static int cbgfx_init(void) /* Calculate canvas size & offset, assuming the screen is landscape */ if (screen.size.height > screen.size.width) { LOG("Portrait screen not supported\n"); - return -1; + return CBGFX_ERROR_PORTRAIT_SCREEN; } canvas.size.height = screen.size.height; canvas.size.width = canvas.size.height; diff --git a/payloads/libpayload/include/cbgfx.h b/payloads/libpayload/include/cbgfx.h index 61b9b49fc1..dca1be0acd 100644 --- a/payloads/libpayload/include/cbgfx.h +++ b/payloads/libpayload/include/cbgfx.h @@ -51,6 +51,12 @@ #define CBGFX_ERROR_BITMAP_DATA 0x12 /* bitmap error: scaling out of range */ #define CBGFX_ERROR_SCALE_OUT_OF_RANGE 0x13 +/* invalid framebuffer info */ +#define CBGFX_ERROR_FRAMEBUFFER_INFO 0x14 +/* invalid framebuffer address */ +#define CBGFX_ERROR_FRAMEBUFFER_ADDR 0x15 +/* portrait screen not supported */ +#define CBGFX_ERROR_PORTRAIT_SCREEN 0x16 struct fraction { int32_t n; |