diff options
author | Tristan Corrick <tristan@corrick.kiwi> | 2018-12-17 22:09:29 +1300 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2018-12-29 07:14:23 +0000 |
commit | cf65627ffa51d2f88569adff83fd36fdd5cf0858 (patch) | |
tree | 96922007bb820d8696e3850e06a24f6b2b5dd29a /src | |
parent | bc896cd8a9570aadb0fb0bdd9df9b30fd3bcddb7 (diff) | |
download | coreboot-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.c | 4 |
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(); } |