[Hardware/AMD] only enable Zenpower for Zen[1-3] with kernel 6.13 and earlier

This commit is contained in:
Antoine Viallon 2025-03-25 23:36:54 +01:00
parent ed142942db
commit 413a4a93f1
Signed by: aviallon
GPG key ID: 186FC35EDEB25716

View file

@ -2,7 +2,7 @@
with lib; with lib;
let let
generalCfg = config.aviallon.general; generalCfg = config.aviallon.general;
cpuIsZen = ! isNull (builtins.match "znver[0-9]" generalCfg.cpu.arch); enableZenpower = (! isNull (builtins.match "znver[1-3]" generalCfg.cpu.arch)) && (versionOlder kernelVersion "6.13");
kernelVersion = getVersion config.boot.kernelPackages.kernel; kernelVersion = getVersion config.boot.kernelPackages.kernel;
in { in {
config = mkIf (generalCfg.cpu.vendor == "amd") { config = mkIf (generalCfg.cpu.vendor == "amd") {
@ -27,20 +27,18 @@ in {
"amd_pstate.shared_memory" = 1; "amd_pstate.shared_memory" = 1;
}; };
aviallon.boot.patches = mkIf config.aviallon.optimizations.enable { aviallon.boot.patches = mkIf config.aviallon.optimizations.enable {};
amdClusterId.enable = mkIf cpuIsZen true;
};
boot.extraModulePackages = with config.boot.kernelPackages; [] boot.extraModulePackages = with config.boot.kernelPackages; []
++ optional cpuIsZen (info "enable zenpower for Ryzen CPU" zenpower) ++ optional enableZenpower (info "enable zenpower for Ryzen [1-3] CPU" zenpower)
; ;
boot.kernelModules = [] boot.kernelModules = []
++ optional cpuIsZen "zenpower" ++ optional enableZenpower "zenpower"
; ;
boot.blacklistedKernelModules = [] boot.blacklistedKernelModules = []
++ optional cpuIsZen "k10-temp" # Superseded by zenpower ++ optional enableZenpower "k10-temp" # Superseded by zenpower
; ;
}; };
} }