[U-Boot] [PATCH 09/22] x86: ivybridge: Only run the Video BIOS when video is enabled

Simon Glass sjg at chromium.org
Sun Dec 28 03:20:33 CET 2014


This takes about about 700ms on link when running natively and 900ms when
running using the emulator. It is a waste of time if video is not enabled,
so don't bother running the video BIOS in that case.

We could add a command to run the video BIOS later when needed, but this is
not considered at present.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 arch/x86/cpu/ivybridge/gma.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/arch/x86/cpu/ivybridge/gma.c b/arch/x86/cpu/ivybridge/gma.c
index 3d7f740..125021b 100644
--- a/arch/x86/cpu/ivybridge/gma.c
+++ b/arch/x86/cpu/ivybridge/gma.c
@@ -15,6 +15,13 @@
 #include <asm/pci.h>
 #include <asm/arch/pch.h>
 #include <asm/arch/sandybridge.h>
+#include <linux/kconfig.h>
+
+#ifdef CONFIG_VIDEO
+#define RUN_VIDEO_BIOS		1
+#else
+#define RUN_VIDEO_BIOS		1
+#endif
 
 struct gt_powermeter {
 	u16 reg;
@@ -745,7 +752,15 @@ int gma_func0_init(pci_dev_t dev, struct pci_controller *hose,
 	if (ret)
 		return ret;
 
-	ret = pci_run_vga_bios(dev, int15_handler, false);
+	/*
+	 * TODO: Change to IS_ENABLED(CONFIG_VIDEO) when Kconfig supports
+	 * CONFIG_VIDEO.
+	 */
+	if (RUN_VIDEO_BIOS) {
+		start = get_timer(0);
+		ret = pci_run_vga_bios(dev, int15_handler, false);
+		debug("BIOS ran in %lums\n", get_timer(start));
+	}
 
 	/* Post VBIOS init */
 	ret = gma_pm_init_post_vbios(gtt_bar, blob, node);
-- 
2.2.0.rc0.207.ga3a616c



More information about the U-Boot mailing list