[coreboot-gerrit] New patch to review for coreboot: cbgfx: add error code to cbgfx_init

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Wed Jan 13 18:43:47 CET 2016


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12930

-gerrit

commit ccf40facf21617cc48d82e9504f2fc32f5d52c28
Author: Daisuke Nojiri <dnojiri at chromium.org>
Date:   Wed Dec 2 11:42:51 2015 -0800

    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 at chromium.org>
    Original-Commit-Id: 4caf2496f3583e133f3f216ec401515c267e6e7b
    Original-Change-Id: I84f60dd961db47fa426442172ab19676253b9495
    Original-Signed-off-by: Daisuke Nojiri <dnojiri at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/315550
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 payloads/libpayload/drivers/video/graphics.c | 6 +++---
 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 c8d0d4d..01e3565 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 61b9b49..dca1be0 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;



More information about the coreboot-gerrit mailing list