[coreboot] Lenovo X200 running Coreboot drains 3-4W more power than with Vendor BIOS

Nico Huber nico.h at gmx.de
Tue May 3 01:27:35 CEST 2016


Hi Daniel,

On 03.05.2016 00:47, Daniel Kulesz via coreboot wrote:
> Hi all,
> 
> On Mon, 2 May 2016 13:16:15 +0200
> Nico Huber <nico.huber at secunet.com> wrote:
>> Regarding C3/C4 support, AFAIK, we implemented it fully but it just
>> didn't work on the system we originally ported coreboot for (Roda/RK9).
>> The system kept resetting whenever it should enter (or maybe exit) C3,
>> IIRC.  You could give it a try on your X200 though. Whatever the issue
>> on the RK9 was, it might be board specific.
>>
>> If you want to try it, in src/mainboard/lenovo/x200/cstates.c add:
>>         {
>>                 /* acpi C3 / cpu C3 */
>>                 3, 0x02,  300,
>>                 { ACPI_ADDRESS_SPACE_FIXED, 1, 2, { 1 }, 0x20, 0 }
>>         },
>> for C3 or
>>         {
>>                 /* acpi C3 / cpu C4 */
>>                 3, 0x02,  300,
>>                 { ACPI_ADDRESS_SPACE_FIXED, 1, 2, { 1 }, 0x30, 0 }
>>         },
>> for C4. You can not have all of them, as ACPI only supports three
>> C-states.
> 
> Indeed this was a *VERY GOOD* hint! I added the line with the C4
> states and idle power consumption dropped to about 11.5W running my
> regular OS and with Wifi on. So I again disassembled the
> keyboard/palmrest, removed the wifi card and did exactly the same
> measurements as before. And here are the results:
> 
> Benchmark results: almost like before (not crappy like with vendor
> BIOS!), a little worse because it probably takes a few ms for the CPU
> to wake up from C4 first.  Stress test: >37.2W (as before)
>
> Idle, max brightness: 10.8W (!!)
> Idle, lowest brightness: 7.8W (!!)
> 
> ...and after running "powertop --auto-tune":
> Idle, max brightness: 9.9W
> Idle, lowest brightness: 6.9W
> Screen off:6.4W
>
Very NICE!

> Sounds stupid, but I'm really impressed now! But... is there a reason
> C4 is not enabled by default then? I mean, if it makes trouble, you
> can always disable it (at least on Linux) with the command line
> parameters as discussed previously. Imho, it should be at least
> configurable using the regular config mechanism.
> 
I guess, just nobody tried it before on a ThinkPad. The entries for
C1/C2 are most probably copy-pasted from Roda/RK9. Thanks for testing
this through! If you don't want to go further (https://coreboot.org/Git)
somebody else will likely write a patch ;)

Nico



More information about the coreboot mailing list