summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNico Huber <nico.huber@secunet.com>2016-10-05 18:02:01 +0200
committerNico Huber <nico.h@gmx.de>2016-11-29 23:46:39 +0100
commit88c6487c34b72d2355c7ce0e322e8c8365a2c567 (patch)
tree34bbc6725793b077646354013484cb6424f69230
parent542e9488bd3f084c373e89e869aeca84aaa8c66c (diff)
downloadcoreboot-88c6487c34b72d2355c7ce0e322e8c8365a2c567.tar.xz
nb/intel/nehalem,sandybridge: Hook up libgfxinit
Change-Id: I4288193c022cc0963b926b4b43834c222e41bb0d Signed-off-by: Nico Huber <nico.huber@secunet.com> Reviewed-on: https://review.coreboot.org/16953 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-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);
}