x86: pci: Allow conditionally run VGA rom in S3
Introduce a new CONFIG_S3_VGA_ROM_RUN option so that U-Boot can bypass executing VGA roms in S3. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Stefan Roese <sr@denx.de>
This commit is contained in:
@@ -601,6 +601,18 @@ config HAVE_ACPI_RESUME
|
|||||||
is done, U-Boot needs to find out the wakeup vector provided by OSes
|
is done, U-Boot needs to find out the wakeup vector provided by OSes
|
||||||
and jump there.
|
and jump there.
|
||||||
|
|
||||||
|
config S3_VGA_ROM_RUN
|
||||||
|
bool "Re-run VGA option ROMs on S3 resume"
|
||||||
|
depends on HAVE_ACPI_RESUME
|
||||||
|
default y if HAVE_ACPI_RESUME
|
||||||
|
help
|
||||||
|
Execute VGA option ROMs in U-Boot when resuming from S3. Normally
|
||||||
|
this is needed when graphics console is being used in the kernel.
|
||||||
|
|
||||||
|
Turning it off can reduce some resume time, but be aware that your
|
||||||
|
graphics console won't work without VGA options ROMs. Set it to N
|
||||||
|
if your kernel is only on a serial console.
|
||||||
|
|
||||||
config STACK_SIZE
|
config STACK_SIZE
|
||||||
hex
|
hex
|
||||||
depends on HAVE_ACPI_RESUME
|
depends on HAVE_ACPI_RESUME
|
||||||
|
|||||||
@@ -35,8 +35,22 @@
|
|||||||
#include <video_fb.h>
|
#include <video_fb.h>
|
||||||
#include <linux/screen_info.h>
|
#include <linux/screen_info.h>
|
||||||
|
|
||||||
|
#ifdef CONFIG_X86
|
||||||
|
#include <asm/acpi_s3.h>
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
#endif
|
||||||
|
|
||||||
__weak bool board_should_run_oprom(struct udevice *dev)
|
__weak bool board_should_run_oprom(struct udevice *dev)
|
||||||
{
|
{
|
||||||
|
#if defined(CONFIG_X86) && defined(CONFIG_HAVE_ACPI_RESUME)
|
||||||
|
if (gd->arch.prev_sleep_state == ACPI_S3) {
|
||||||
|
if (IS_ENABLED(CONFIG_S3_VGA_ROM_RUN))
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user