Commit d19ee5c2 authored by Simon Glass's avatar Simon Glass
Browse files

x86: ivybridge: Only run the Video BIOS when video is enabled



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: default avatarSimon Glass <sjg@chromium.org>
Reviewed-by: default avatarBin Meng <bmeng.cn@gmail.com>
parent fba7eac1
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <asm/pci.h> #include <asm/pci.h>
#include <asm/arch/pch.h> #include <asm/arch/pch.h>
#include <asm/arch/sandybridge.h> #include <asm/arch/sandybridge.h>
#include <linux/kconfig.h>
struct gt_powermeter { struct gt_powermeter {
u16 reg; u16 reg;
...@@ -730,6 +731,9 @@ static int int15_handler(void) ...@@ -730,6 +731,9 @@ static int int15_handler(void)
int gma_func0_init(pci_dev_t dev, struct pci_controller *hose, int gma_func0_init(pci_dev_t dev, struct pci_controller *hose,
const void *blob, int node) const void *blob, int node)
{ {
#ifdef CONFIG_VIDEO
ulong start;
#endif
void *gtt_bar; void *gtt_bar;
u32 reg32; u32 reg32;
int ret; int ret;
...@@ -745,8 +749,11 @@ int gma_func0_init(pci_dev_t dev, struct pci_controller *hose, ...@@ -745,8 +749,11 @@ int gma_func0_init(pci_dev_t dev, struct pci_controller *hose,
if (ret) if (ret)
return ret; return ret;
#ifdef CONFIG_VIDEO
start = get_timer(0);
ret = pci_run_vga_bios(dev, int15_handler, false); ret = pci_run_vga_bios(dev, int15_handler, false);
debug("BIOS ran in %lums\n", get_timer(start));
#endif
/* Post VBIOS init */ /* Post VBIOS init */
ret = gma_pm_init_post_vbios(gtt_bar, blob, node); ret = gma_pm_init_post_vbios(gtt_bar, blob, node);
if (ret) if (ret)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment