nb/intel/haswell: Don't unconditionally set DEVEN
commitcf65627ffa51d2f88569adff83fd36fdd5cf0858
authorTristan Corrick <tristan@corrick.kiwi>
Mon, 17 Dec 2018 09:09:29 +0000 (17 22:09 +1300)
committerPatrick Georgi <pgeorgi@google.com>
Sat, 29 Dec 2018 07:14:23 +0000 (29 07:14 +0000)
tree96922007bb820d8696e3850e06a24f6b2b5dd29a
parentbc896cd8a9570aadb0fb0bdd9df9b30fd3bcddb7
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>
src/northbridge/intel/haswell/early_init.c