the following patch was just integrated into master: commit 538ad1f6c7fcba133931d2d2673c0bf50b5f9aad Author: Duncan Laurie dlaurie@chromium.org Date: Mon Jul 9 09:58:35 2012 -0700
CPU: Set flex ratio to nominal TDP ratio in bootblock
CPUs with configurable TDP will run the TSC at the max non-turbo ratio for the maximum TDP value, which can cause issues if another TDP is desired. To deal with this we set the flex ratio to the nominal TDP ratio early in the boot and then configure the Soft Reset Data registers so the PCH can tell the CPU what frequency to run at after a reset.
This is done very early in the bootblock because it is necessary to reset the system after setting a flex ratio.
The end result is that the TSC will now increment at the max non-turbo frequency for the nominal TDP.
On some system with 1.8GHz CPU ensure that the kernel detects the CPU speed as ~1800mhz rather than ~2300mhz:
> dmesg | grep "MHz processor" [ 0.004000] Detected 1795.801 MHz processor.
Change-Id: I8436dced9199003b6423186a2b041e3f7b84ab8c Signed-off-by: Duncan Laurie dlaurie@google.com
Build-Tested: build bot (Jenkins) at Tue Jul 24 23:10:06 2012, giving +1 Reviewed-By: Ronald G. Minnich rminnich@gmail.com at Tue Jul 24 23:49:46 2012, giving +2 See http://review.coreboot.org/1329 for details.
-gerrit