1
0
Fork 0
mirror of https://github.com/NixOS/nixos-hardware synced 2024-12-23 10:09:44 +01:00

Merge pull request #71 from michaelpj/imp/t480s-throttling

T480s: use CPU throttling fix too
This commit is contained in:
Jörg Thalheim 2018-08-23 10:28:43 +01:00 committed by GitHub
commit 7b8ca6d868
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 45 deletions

View file

@ -0,0 +1,38 @@
{ config, pkgs, ... }:
{
# Temporary fix for cpu throttling issues visible in the kernel log
# (journalctl -k) by setting the same temperature limits used by
# Window$
# See https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues
systemd.services.cpu-throttling = {
enable = true;
description = "Sets the offset to 3 °C, so the new trip point is 97 °C";
documentation = [
"https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues"
];
path = [ pkgs.msr-tools ];
script = "wrmsr -a 0x1a2 0x3000000";
serviceConfig = {
Type = "oneshot";
};
wantedBy = [
"timers.target"
];
};
systemd.timers.cpu-throttling = {
enable = true;
description = "Set cpu heating limit to 97 °C";
documentation = [
"https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues"
];
timerConfig = {
OnActiveSec = 60;
OnUnitActiveSec = 60;
Unit = "cpu-throttling.service";
};
wantedBy = [
"timers.target"
];
};
}

View file

@ -4,6 +4,7 @@
imports = [
../../../common/cpu/intel
../acpi_call.nix
../cpu-throttling-bug.nix
../.
];
}

View file

@ -7,16 +7,9 @@
{
imports = [
../.
../../cpu-throttling.nix
../../acpi_call.nix
];
# Give TLP service more control over battery
boot = {
extraModulePackages = with config.boot.kernelPackages; [
acpi_call
];
kernelModules = [
"acpi_call"
];
};
# See https://linrunner.de/en/tlp/docs/tlp-faq.html#battery
services.tlp.extraConfig = ''
@ -26,42 +19,6 @@
ENERGY_PERF_POLICY_ON_BAT=powersave
'';
# Temporary fix for cpu throttling issues visible in the kernel log
# (journalctl -k) by setting the same temperature limits used by
# Window$
# See https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues
systemd.services.cpu-throttling = {
enable = true;
description = "Sets the offset to 3 °C, so the new trip point is 97 °C";
documentation = [
"https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues"
];
path = [ pkgs.msr-tools ];
script = "wrmsr -a 0x1a2 0x3000000";
serviceConfig = {
Type = "oneshot";
};
wantedBy = [
"timers.target"
];
};
systemd.timers.cpu-throttling = {
enable = true;
description = "Set cpu heating limit to 97 °C";
documentation = [
"https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues"
];
timerConfig = {
OnActiveSec = 60;
OnUnitActiveSec = 60;
Unit = "cpu-throttling.service";
};
wantedBy = [
"timers.target"
];
};
# Enable S3 suspend state: you have to manually follow the
# instructions shown here: https://delta-xi.net/#056 in order to
# produce the ACPI patched table. Put the CPIO archive in /boot and