mirror of
				https://github.com/NixOS/nixos-hardware.git
				synced 2025-11-04 17:27:14 +08:00 
			
		
		
		
	move acpi_call.nix and cpu-throttling-bug.nix to common folder
This commit is contained in:
		
				
					committed by
					
						
						Jörg Thalheim
					
				
			
			
				
	
			
			
			
						parent
						
							d4a430fef2
						
					
				
				
					commit
					941fbef86f
				
			
							
								
								
									
										10
									
								
								common/pc/laptop/acpi_call.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								common/pc/laptop/acpi_call.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
# acpi_call makes tlp work for newer thinkpads
 | 
			
		||||
 | 
			
		||||
{ config, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  boot = {
 | 
			
		||||
    kernelModules = [ "acpi_call" ];
 | 
			
		||||
    extraModulePackages = with config.boot.kernelPackages; [ acpi_call ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										38
									
								
								common/pc/laptop/cpu-throttling-bug.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								common/pc/laptop/cpu-throttling-bug.nix
									
									
									
									
									
										Normal 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"
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user