From 10510255f7b0b7acfe6434020c40c824a3071b04 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Tue, 30 Jan 2018 10:04:02 -0700 Subject: [PATCH] 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 Reviewed-on: https://review.coreboot.org/23505 Reviewed-by: Justin TerAvest Reviewed-by: Martin Roth Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh --- src/device/Kconfig | 7 +++++++ src/device/pci_device.c | 5 +++++ 2 files changed, 12 insertions(+) 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. */