summaryrefslogtreecommitdiff
path: root/src/northbridge/intel/haswell/Kconfig
diff options
context:
space:
mode:
authorAngel Pons <th3fanbus@gmail.com>2020-08-29 02:52:09 +0200
committerAngel Pons <th3fanbus@gmail.com>2020-10-22 20:05:25 +0000
commit84641c81834841fa6cdad19d06b06c05ba899825 (patch)
treed845feb660275cfd59e8d6502d9f4f09bab85ac5 /src/northbridge/intel/haswell/Kconfig
parent6c4028dd3ddf571ef2e992de8d9927b598f7cd6b (diff)
nb/intel/haswell: Add HASWELL_HIDE_PEG_FROM_MRC option
The MRC will perform PCI enumeration, and if it detects a VGA device in a PEG slot, it will disable the IGD and not reserve any memory for it. Since the memory map is locked by the time MRC finishes, the IGD can not be enabled afterwards. Changing this behavior requires patching the MRC. Hiding the PEG devices from MRC allows the IGD to be used even when a dedicated graphics card is present. However, MRC will not program the PEG AFE settings as it should, which can cause stability problems at higher PCIe link speeds. Thus, restrict this workaround to only run when the HASWELL_HIDE_PEG_FROM_MRC option is enabled. This allows the IGD to be disabled and the PEG AFE settings to be programmed when a dedicated graphics card is to be enabled, which results in increased stability. The most ideal way to fix this problem for good is to implement native platform init. Native init is necessary to make Nvidia Optimus usable. Tested on Asrock B85M Pro4, using the PEG slot with a dedicated graphics card as well as without. Graphics in both situations function properly. Change-Id: I4d825b1c41d8705bfafe28d8ecb0a511788901f0 Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/45534 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Nico Huber <nico.h@gmx.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/northbridge/intel/haswell/Kconfig')
-rw-r--r--src/northbridge/intel/haswell/Kconfig9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/northbridge/intel/haswell/Kconfig b/src/northbridge/intel/haswell/Kconfig
index 84be33df4e..04ab373ce2 100644
--- a/src/northbridge/intel/haswell/Kconfig
+++ b/src/northbridge/intel/haswell/Kconfig
@@ -78,6 +78,15 @@ config MRC_FILE
The path and filename of the file to use as System Agent
binary.
+config HASWELL_HIDE_PEG_FROM_MRC
+ bool "Hide PEG devices from MRC to work around hardcoded MRC behavior"
+ default y
+ help
+ If set, hides all PEG devices from MRC. This allows the iGPU
+ to be used even when a dedicated graphics card is present.
+ However, it prevents MRC from programming PEG AFE registers,
+ which can make PEG devices unstable. When unsure, choose N.
+
config PRE_GRAPHICS_DELAY
int "Graphics initialization delay in ms"
default 0