diff options
-rw-r--r-- | src/northbridge/intel/nehalem/gma.c | 10 | ||||
-rw-r--r-- | src/northbridge/intel/sandybridge/gma.c | 10 |
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); } |