nb/intel/i945/gma: Skip native VGA init for ACPI S3 resume

Currently, native VGA initialization takes 90 ms during resume. But, it
is not needed. So, skip it to save that time.

Note, it is assumed that ACPI aware operating systems ship the
appropriate drivers to initialize the graphics device. With Linux, if
the module/driver *i915* is not loaded, then the display will stay
black.

TEST=On Lenovo X60t with Debian and Linux 4.15.11-1~bpo9+1, suspend and
resume system and notice display is correctly initialized by the driver
i915 after resume. Notice the messages below.

```
PCI: 00:02.0 init ...
Skipping native VGA initialization when resuming from ACPI S3.
PCI: 00:02.0 init finished in 56 usecs
PCI: 00:02.1 init ...
```

Change-Id: I6cc9dde94c18671d077132daf648e8ba557e7887
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: https://review.coreboot.org/25676
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Paul Menzel 2018-04-14 20:08:54 +02:00 committed by Nico Huber
parent b23833fb29
commit 5e7ad65f6f
1 changed files with 5 additions and 1 deletions

View File

@ -701,6 +701,10 @@ static void gma_func0_init(struct device *dev)
| PCI_COMMAND_IO | PCI_COMMAND_MEMORY); | PCI_COMMAND_IO | PCI_COMMAND_MEMORY);
if (IS_ENABLED(CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT)) { if (IS_ENABLED(CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT)) {
if (acpi_is_wakeup_s3())
printk(BIOS_INFO,
"Skipping native VGA initialization when resuming from ACPI S3.\n");
else
gma_ngi(dev); gma_ngi(dev);
} else { } else {
/* PCI Init, will run VBIOS */ /* PCI Init, will run VBIOS */