3rdparty/lib{hwbase,gfxinit}: Update to latest master

Simplifies our C interface function gma_gfxinit(), due to the following
changes:

* *libgfxinit* knows about the underlying PCI device now and can
  probe MMIO addresses by itself.
* The framebuffer mapping is now completely handled inside the
  library where we validate that we neither overflow
  - the stolen memory,
  - the GTT address space, the GTT itself nor
  - the aperture window (i.e. resource2 of the PCI device)
    that we use to access the framebuffer.

Other changes:

* Fixes and a quirk for DP training.
* Fix for DP-VGA adapters that report an analog display in EDID.
* Fixes for Skylake support with coreboot.
* DDI Buffer drive-strength configuration for Haswell, Broadwell and
  Skylake.
* `gfx_test` can now be run from X windows (with glitches).
* Compatibility with GCC 7 and SPARK GPL 2017.

TEST=Booted lenovo/t420 and verified that everything works as usual.

Change-Id: I001ba973d864811503410579fd7ad55ab8612759
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/20606
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
Nico Huber
2017-07-16 16:40:41 +02:00
parent 18228168a5
commit 504d1eff4b
10 changed files with 24 additions and 54 deletions

View File

@@ -456,12 +456,6 @@ static void gma_func0_init(struct device *dev)
{
int lightup_ok = 0;
u32 reg32;
u64 physbase;
const struct resource *const linearfb_res =
find_resource(dev, PCI_BASE_ADDRESS_2);
if (!linearfb_res || !linearfb_res->base)
return;
/* IGD needs to be Bus Master */
reg32 = pci_read_config32(dev, PCI_COMMAND);
@@ -476,9 +470,7 @@ static void gma_func0_init(struct device *dev)
if (IS_ENABLED(CONFIG_MAINBOARD_USE_LIBGFXINIT)) {
printk(BIOS_SPEW, "NATIVE graphics, run native enable\n");
physbase = pci_read_config32(dev, 0x5c) & ~0xf;
gma_gfxinit(gtt_res->base, linearfb_res->base,
physbase, &lightup_ok);
gma_gfxinit(&lightup_ok);
gfx_set_init_done(1);
}