From 0a50084e4d7535c5eb86dc3bf18c357eec4aa69a Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Fri, 23 Sep 2011 10:33:58 -0700 Subject: [PATCH] Don't run VGA option ROMs on S3 resume. This will save us a few 100 ms on resume. Change-Id: Iabf4c8ab88662ba41236162f0a6f5bd80d8c1255 Signed-off-by: Stefan Reinauer Reviewed-on: http://review.coreboot.org/715 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich Reviewed-by: Patrick Georgi --- src/devices/Kconfig | 7 +++++++ src/devices/pci_device.c | 11 +++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/devices/Kconfig b/src/devices/Kconfig index 9e5ea6e09..572addcf5 100644 --- a/src/devices/Kconfig +++ b/src/devices/Kconfig @@ -33,6 +33,13 @@ config VGA_ROM_RUN Execute VGA option ROMs, if found. This is required to enable PCI/AGP/PCI-E video cards. +config S3_VGA_ROM_RUN + bool "Re-run VGA option ROMs on S3 resume" + default y + depends on VGA_ROM_RUN && HAVE_ACPI_RESUME + help + Execute VGA option ROMs when coming out of an S3 resume. + config PCI_ROM_RUN bool "Run non-VGA option ROMs" default y diff --git a/src/devices/pci_device.c b/src/devices/pci_device.c index 2ccb38a75..0a870b84c 100644 --- a/src/devices/pci_device.c +++ b/src/devices/pci_device.c @@ -51,6 +51,9 @@ #if CONFIG_PC80_SYSTEM == 1 #include #endif +#if CONFIG_HAVE_ACPI_RESUME && !CONFIG_S3_VGA_ROM_RUN +#include +#endif u8 pci_moving_config8(struct device *dev, unsigned int reg) { @@ -672,6 +675,14 @@ void pci_dev_init(struct device *dev) if (ram == NULL) return; +#if CONFIG_HAVE_ACPI_RESUME && !CONFIG_S3_VGA_ROM_RUN + /* If S3_VGA_ROM_RUN is disabled, skip running VGA option + * ROMs when coming out of an S3 resume. + */ + if ((acpi_slp_type == 3) && + ((dev->class >> 8) == PCI_CLASS_DISPLAY_VGA)) + return; +#endif run_bios(dev, (unsigned long)ram); #endif /* CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN */ } -- 2.25.1