Issue #121 has been updated by Patrick Rudolph.
I made good progress with https://review.coreboot.org/c/coreboot/+/81597 It allows to configure the VR12-compatible regulator adjusting the CPU core voltage. Especially the PSI state are from interest, since those are using in Package C3 or deeper.
My X220 is stable for 9hours while residing in Package C7 without freezes or shutdowns.
Since the VR12 configuration is mainboard specific the devicetree settings should not be copy pasted from existing board, but read from vendor firmware MSRs. The values can be obtained from MSR 0x601 and MSR 0x602 for example using the `$ rdmsr` tool. The devicetree values can be obtained using:
``` #!/bin/bash echo "register "pp0_current_limit" = "$(($(rdmsr -d -f 12:0 0x601) / 8))"" echo "register "pp1_current_limit" = "$(($(rdmsr -d -f 12:0 0x602) / 8))""
echo "register "pp0_psi[VR12_PSI1]" = "{$(($(rdmsr -d -f 41:39 0x601) + 1)), $(rdmsr -d -f 38:32 0x601)}"" echo "register "pp0_psi[VR12_PSI2]" = "{$(($(rdmsr -d -f 51:49 0x601) + 1)), $(rdmsr -d -f 48:42 0x601)}"" echo "register "pp0_psi[VR12_PSI3]" = "{$(($(rdmsr -d -f 61:59 0x601) + 1)), $(rdmsr -d -f 58:52 0x601)}""
echo "register "pp1_psi[VR12_PSI1]" = "{$(($(rdmsr -d -f 41:39 0x602) + 1)), $(rdmsr -d -f 38:32 0x602)}"" echo "register "pp1_psi[VR12_PSI2]" = "{$(($(rdmsr -d -f 51:49 0x602) + 1)), $(rdmsr -d -f 48:42 0x602)}"" echo "register "pp1_psi[VR12_PSI3]" = "{$(($(rdmsr -d -f 61:59 0x602) + 1)), $(rdmsr -d -f 58:52 0x602)}"" ```
---------------------------------------- Bug #121: T520: Hangs in OS https://ticket.coreboot.org/issues/121#change-1815
* Author: Firstname Lastname * Status: In Progress * Priority: Normal * Category: chipset configuration * Start date: 2017-06-09 * Affected hardware: SNB, IVY * Affected OS: - ---------------------------------------- I have been running coreboot since 2017.04.15 and have experienced hangs ever since then. It was suggested by folk on the IRC that I run memtest to check for incorrect raminit causing errors, however I have run memtest for 12 hours straight with no errors.
Due to the ambiguous nature of the hangs (immediate freeze with no warning signs, audio gets stuck repeating the last 50ms or so of noise, not sure what this effect is called) I don't have much useful information other than the .config and dmesg. However one thing I can say with high confidence is that the hangs occur significantly more frequently in Linux (*buntu distros) than Windows 10. Within an hour of launching Linux a hang is likely, whereas Windows typically runs for many hours before a hang occurs. I considered this an insignificant anecdotal anomaly at first but over the course of the nearly 2 months I have been running coreboot it seems to be a solid trend. The hangs occur anywhere, typically during mere desktop usage or basic web browsing.
Additionally there is another form of hang I experience where the screen goes black except for some sort of graphical corruption down the left side (http://i.imgur.com/4zWrlpX.jpg), whether this is related to the more common total freeze hangs I don't know but I figured I should include it nonetheless. These hangs only occur about 1:20 compared to the regular hangs.
---Files-------------------------------- config (20.7 KB) dmesg.txt (57.3 KB) cbmem-raminit.txt (62 KB) lspci.txt (29.6 KB) cpuinfo.txt (3.94 KB) defconfig (1023 Bytes) defconfig (699 Bytes)