summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2018-01-30 10:04:02 -0700
committerAaron Durbin <adurbin@chromium.org>2018-02-01 00:14:04 +0000
commit10510255f7b0b7acfe6434020c40c824a3071b04 (patch)
treec0370a1821a9019439208f77ece1f94bb65dcec3
parentfbed9a5facf3a2e9a28953f3a445801e57d716dd (diff)
device: add ALWAYS_RUN_OPROM option
Certain platforms require that the option rom always needs to be ran in order for display to work correctly. Therefore, provide this ability for the platform to select such that we force option rom loading. BUG=b:72400950 Change-Id: I597bc8af7ac8b68fe8505aac5f1c7e1ccd34ac27 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/23505 Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Martin Roth <martinroth@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
-rw-r--r--src/device/Kconfig7
-rw-r--r--src/device/pci_device.c5
2 files changed, 12 insertions, 0 deletions
diff --git a/src/device/Kconfig b/src/device/Kconfig
index 99eedab108..82caa96be1 100644
--- a/src/device/Kconfig
+++ b/src/device/Kconfig
@@ -140,6 +140,13 @@ config ALWAYS_LOAD_OPROM
are needed for the kernel's display driver to know how a piece of
hardware is configured to be used.
+config ALWAYS_RUN_OPROM
+ def_bool n
+ depends on VGA_ROM_RUN && ALWAYS_LOAD_OPROM
+ help
+ Always uncondtionally run the option regardless of other
+ policies.
+
config ON_DEVICE_ROM_LOAD
bool "Load Option ROMs on PCI devices"
default n if PAYLOAD_SEABIOS
diff --git a/src/device/pci_device.c b/src/device/pci_device.c
index 13ab1127da..02eca66e27 100644
--- a/src/device/pci_device.c
+++ b/src/device/pci_device.c
@@ -671,6 +671,11 @@ static int should_run_oprom(struct device *dev)
if (should_run >= 0)
return should_run;
+ if (IS_ENABLED(CONFIG_ALWAYS_RUN_OPROM)) {
+ should_run = 1;
+ return should_run;
+ }
+
/* Don't run VGA option ROMs, unless we have to print
* something on the screen before the kernel is loaded.
*/