diff options
author | Aaron Durbin <adurbin@chromium.org> | 2018-01-30 10:04:02 -0700 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2018-02-01 00:14:04 +0000 |
commit | 10510255f7b0b7acfe6434020c40c824a3071b04 (patch) | |
tree | c0370a1821a9019439208f77ece1f94bb65dcec3 | |
parent | fbed9a5facf3a2e9a28953f3a445801e57d716dd (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/Kconfig | 7 | ||||
-rw-r--r-- | src/device/pci_device.c | 5 |
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. */ |