summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTristan Corrick <tristan@corrick.kiwi>2018-12-17 22:09:29 +1300
committerPatrick Georgi <pgeorgi@google.com>2018-12-29 07:14:23 +0000
commitcf65627ffa51d2f88569adff83fd36fdd5cf0858 (patch)
tree96922007bb820d8696e3850e06a24f6b2b5dd29a /src
parentbc896cd8a9570aadb0fb0bdd9df9b30fd3bcddb7 (diff)
downloadcoreboot-cf65627ffa51d2f88569adff83fd36fdd5cf0858.tar.xz
nb/intel/haswell: Don't unconditionally set DEVEN
The existing code sets DEVEN with the intention of enabling the IGD and Mini-HD audio. However, according to the datasheet [1] and some testing on hardware, the bits in DEVEN are set by default if and only if the straps/fuses say the device should be enabled. To illustrate this, here are a few initial values of DEVEN on some Haswell systems: Supermicro X10SLM+-F: 0x0000002d ASRock H81M-HDS: 0x00000039 Acer C720: 0x000000b1 On the X10SLM+-F, the IGD is disabled by default, and PEG10 & PEG11 are enabled by default. On the C720, the PEG devices are all disabled by default, while the IGD and Mini-HD audio are already enabled. There are two issues that result from the existing behaviour: PEG devices are unconditionally disabled, and devices are set as enabled when it's not actually possible to enable them. So, don't touch the DEVEN register at this stage, as there are no benefits. Interestingly, on an Acer C720 (Google Peppy), a PCI device 00:04.0 appears. It is a thermal sensor. `powerstat` was used to measure idle power usage over 30 minutes under Debian GNU/Linux 9.6. There was no change in reported power draw. [1] Desktop 4th Generation Intel® Core TM Processor Family, Desktop Intel® Pentium® Processor Family, and Desktop Intel® Celeron® Processor Family Datasheet – Volume 2 of 2. December 2013, revision 003, document number 328898. Change-Id: I242f9138472de5a0b26b5852f632b53b2920132d Signed-off-by: Tristan Corrick <tristan@corrick.kiwi> Reviewed-on: https://review.coreboot.org/c/30269 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/northbridge/intel/haswell/early_init.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/src/northbridge/intel/haswell/early_init.c b/src/northbridge/intel/haswell/early_init.c
index 663812a5ce..861873e80d 100644
--- a/src/northbridge/intel/haswell/early_init.c
+++ b/src/northbridge/intel/haswell/early_init.c
@@ -127,9 +127,5 @@ void haswell_early_initialization(int chipset_type)
/* Setup IOMMU BARs */
haswell_setup_iommu();
- /* Device Enable: IGD and Mini-HD Audio */
- pci_write_config32(PCI_DEV(0, 0, 0), DEVEN,
- DEVEN_D0EN | DEVEN_D2EN | DEVEN_D3EN);
-
haswell_setup_graphics();
}