aboutsummaryrefslogtreecommitdiff
path: root/src/device/pci_device.c
diff options
context:
space:
mode:
authorJohanna Schander <coreboot@mimoja.de>2019-07-24 10:14:26 +0200
committerPatrick Georgi <pgeorgi@google.com>2019-07-26 08:40:23 +0000
commitdb7a3ae8635a92764d357a93c04f49e9d9bbdca7 (patch)
tree3702d5ead582751226efa5deb597d07412c1ae51 /src/device/pci_device.c
parenta31cd21c3ad1ef8029aed733a3f8ab2286b81385 (diff)
src/device/oprom: Fix bootsplash display code for optionroms
So far the bootsplash is only correctly rendered if the framebuffer is set up as 1024x768@16. Different resolutions did not show anything, differnent depth resulted in the distorted images. This commit removes this limit by using the actual framebuffer resolutions and combines the code for x86 and yabel. For the moment the bootsplash is still limited to VGA-OptionROM framebuffer init. It was tested in 1280x1024@32 on the wip razer blade stealth using the intel vgabios. Change-Id: I5ab7b8a0f28badaa16e25dbe807158870d06e26a Signed-off-by: Johanna Schander <coreboot@mimoja.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34537 Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/device/pci_device.c')
-rw-r--r--src/device/pci_device.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/device/pci_device.c b/src/device/pci_device.c
index 9c47085152..7786043a6c 100644
--- a/src/device/pci_device.c
+++ b/src/device/pci_device.c
@@ -34,6 +34,7 @@
#include <arch/acpi.h>
#include <device/pci_ops.h>
#include <bootmode.h>
+#include <bootsplash.h>
#include <console/console.h>
#include <stdlib.h>
#include <stdint.h>
@@ -49,6 +50,8 @@
#include <pc80/i8259.h>
#include <security/vboot/vbnv.h>
#include <timestamp.h>
+#include <types.h>
+
u8 pci_moving_config8(struct device *dev, unsigned int reg)
{
@@ -764,9 +767,13 @@ void pci_dev_init(struct device *dev)
return;
run_bios(dev, (unsigned long)ram);
+
gfx_set_init_done(1);
printk(BIOS_DEBUG, "VGA Option ROM was run\n");
timestamp_add_now(TS_OPROM_END);
+
+ if (CONFIG(BOOTSPLASH))
+ set_vesa_bootsplash();
}
/** Default device operation for PCI devices */