nb/intel/sandybridge: Fix PEG disablement
Fix regression introduced by:3660c0fc65
"northbridge/intel/sandybridge: Enable PEG clock-gating on demand" Issue observed: GNU/Linux kernel crashes in earlyinit on systems without PEG devices. The crash occurs on every boot in different functions. There's no problem on systems with PEG enabled. Test system: * Lenovo T530 * Intel Core i5-3320M CPU * Fedora GNU/Linux 4.1 * PEG disabled in devicetree Problem description: Tests shows that modifing PEG chicken bit or device enable bits after setting BIOS_RESET_CPL causes random crashes in GNU/Linux. Problem solution: Disable PEG devices before setting BIOS_RESET_CPL. Final testing results: No more random kernel crashes. Change-Id: I4a967c2d00d7d1e4426cf5abdd5f616c21557da7 Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-on: http://review.coreboot.org/12112 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber <nico.h@gmx.de> (cherry picked from commitaad34cda4b
) Reviewed-on: https://review.coreboot.org/12456 Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
ca374d34ed
commit
ad342a4589
|
@ -431,6 +431,11 @@ static void northbridge_init(struct device *dev)
|
|||
}
|
||||
MCHBAR32(0x5f10) = bridge_type;
|
||||
|
||||
/* Turn off unused devices. Has to be done before
|
||||
* setting BIOS_RESET_CPL.
|
||||
*/
|
||||
disable_peg();
|
||||
|
||||
/*
|
||||
* Set bit 0 of BIOS_RESET_CPL to indicate to the CPU
|
||||
* that BIOS has initialized memory and power management
|
||||
|
@ -456,9 +461,6 @@ static void northbridge_init(struct device *dev)
|
|||
|
||||
/* Set here before graphics PM init */
|
||||
MCHBAR32(0x5500) = 0x00100001;
|
||||
|
||||
/* Turn off unused devices */
|
||||
disable_peg();
|
||||
}
|
||||
|
||||
static void northbridge_enable(device_t dev)
|
||||
|
|
Loading…
Reference in New Issue