summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/northbridge/intel/nehalem/gma.c10
-rw-r--r--src/northbridge/intel/sandybridge/gma.c10
2 files changed, 16 insertions, 4 deletions
diff --git a/src/northbridge/intel/nehalem/gma.c b/src/northbridge/intel/nehalem/gma.c
index 33e8eaadf7..4e57b0f313 100644
--- a/src/northbridge/intel/nehalem/gma.c
+++ b/src/northbridge/intel/nehalem/gma.c
@@ -1024,8 +1024,14 @@ static void gma_func0_init(struct device *dev)
&& lfb_res && lfb_res->base) {
printk(BIOS_SPEW, "Initializing VGA without OPROM. MMIO 0x%llx\n",
gtt_res->base);
- intel_gma_init(conf, res2mmio(gtt_res, 0, 0), physbase,
- pio_res->base, lfb_res->base);
+ if (IS_ENABLED(CONFIG_MAINBOARD_USE_LIBGFXINIT)) {
+ int lightup_ok;
+ gma_gfxinit(gtt_res->base, lfb_res->base,
+ physbase, &lightup_ok);
+ } else {
+ intel_gma_init(conf, res2mmio(gtt_res, 0, 0), physbase,
+ pio_res->base, lfb_res->base);
+ }
}
/* Linux relies on VBT for panel info. */
diff --git a/src/northbridge/intel/sandybridge/gma.c b/src/northbridge/intel/sandybridge/gma.c
index 290d066b36..70216007a8 100644
--- a/src/northbridge/intel/sandybridge/gma.c
+++ b/src/northbridge/intel/sandybridge/gma.c
@@ -603,8 +603,14 @@ static void gma_func0_init(struct device *dev)
physbase = pci_read_config32(dev, 0x5c) & ~0xf;
graphics_base = dev->resource_list[1].base;
- int lightup_ok = i915lightup_sandy(&conf->gfx, physbase, iobase,
- mmiobase, graphics_base);
+ int lightup_ok;
+ if (IS_ENABLED(CONFIG_MAINBOARD_USE_LIBGFXINIT)) {
+ gma_gfxinit((uintptr_t)mmiobase, graphics_base,
+ physbase, &lightup_ok);
+ } else {
+ lightup_ok = i915lightup_sandy(&conf->gfx, physbase,
+ iobase, mmiobase, graphics_base);
+ }
if (lightup_ok)
gfx_set_init_done(1);
}