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 <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/715
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Stefan Reinauer 2011-09-23 10:33:58 -07:00 committed by Patrick Georgi
parent c8feeddf34
commit 0a50084e4d
2 changed files with 18 additions and 0 deletions

View File

@ -33,6 +33,13 @@ config VGA_ROM_RUN
Execute VGA option ROMs, if found. This is required to enable Execute VGA option ROMs, if found. This is required to enable
PCI/AGP/PCI-E video cards. 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 config PCI_ROM_RUN
bool "Run non-VGA option ROMs" bool "Run non-VGA option ROMs"
default y default y

View File

@ -51,6 +51,9 @@
#if CONFIG_PC80_SYSTEM == 1 #if CONFIG_PC80_SYSTEM == 1
#include <pc80/i8259.h> #include <pc80/i8259.h>
#endif #endif
#if CONFIG_HAVE_ACPI_RESUME && !CONFIG_S3_VGA_ROM_RUN
#include <arch/acpi.h>
#endif
u8 pci_moving_config8(struct device *dev, unsigned int reg) u8 pci_moving_config8(struct device *dev, unsigned int reg)
{ {
@ -672,6 +675,14 @@ void pci_dev_init(struct device *dev)
if (ram == NULL) if (ram == NULL)
return; 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); run_bios(dev, (unsigned long)ram);
#endif /* CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN */ #endif /* CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN */
} }