mirror of
				https://github.com/NixOS/nixos-hardware.git
				synced 2025-11-04 17:27:14 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			811 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			811 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ lib, config, ... }:
 | 
						|
let
 | 
						|
  kver = config.boot.kernelPackages.kernel.version;
 | 
						|
in
 | 
						|
{
 | 
						|
  # Enables the amd cpu scaling https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html
 | 
						|
  # On recent AMD CPUs this can be more energy efficient.
 | 
						|
 | 
						|
  imports = [ ./. ];
 | 
						|
  boot = lib.mkMerge [
 | 
						|
    (lib.mkIf
 | 
						|
      (
 | 
						|
        (lib.versionAtLeast kver "5.17")
 | 
						|
        && (lib.versionOlder kver "6.1")
 | 
						|
      )
 | 
						|
      {
 | 
						|
        kernelParams = [ "initcall_blacklist=acpi_cpufreq_init" ];
 | 
						|
        kernelModules = [ "amd-pstate" ];
 | 
						|
      })
 | 
						|
    (lib.mkIf
 | 
						|
      (
 | 
						|
        (lib.versionAtLeast kver "6.1")
 | 
						|
        && (lib.versionOlder kver "6.3")
 | 
						|
      )
 | 
						|
      {
 | 
						|
        kernelParams = [ "amd_pstate=passive" ];
 | 
						|
      })
 | 
						|
    (lib.mkIf (lib.versionAtLeast kver "6.3") {
 | 
						|
      kernelParams = [ "amd_pstate=active" ];
 | 
						|
    })
 | 
						|
  ];
 | 
						|
}
 |