From 4cba5c01604d78c3c256a9bf12e6b6ac7054e7b5 Mon Sep 17 00:00:00 2001 From: chn Date: Wed, 5 Jun 2024 11:34:43 +0800 Subject: [PATCH] hardware.cpu: add iommu flags --- devices/surface/default.nix | 1 - modules/hardware/default.nix | 14 +++++++++----- modules/hardware/gpu.nix | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/devices/surface/default.nix b/devices/surface/default.nix index 4feea8b2..4a9e9d60 100644 --- a/devices/surface/default.nix +++ b/devices/surface/default.nix @@ -55,7 +55,6 @@ inputs: }; bugs = [ "xmunet" "suspend-hibernate-no-platform" ]; }; - boot.kernelParams = [ "intel_iommu=off" ]; environment.systemPackages = with inputs.pkgs; [ maliit-keyboard maliit-framework ]; powerManagement.resumeCommands = ''${inputs.pkgs.systemd}/bin/systemctl restart iptsd''; services.iptsd.config = diff --git a/modules/hardware/default.nix b/modules/hardware/default.nix index f11065ca..c54c227e 100644 --- a/modules/hardware/default.nix +++ b/modules/hardware/default.nix @@ -50,9 +50,10 @@ inputs: { hardware.cpu = builtins.listToAttrs (map (name: { inherit name; value = { updateMicrocode = true; }; }) hardware.cpus); - boot.initrd.availableKernelModules = - let - modules = + boot = + { + initrd.availableKernelModules = + let modules = { intel = [ @@ -60,8 +61,11 @@ inputs: ]; amd = []; }; - in - builtins.concatLists (map (cpu: modules.${cpu}) hardware.cpus); + in builtins.concatLists (map (cpu: modules.${cpu}) hardware.cpus); + kernelParams = + let params = { intel = [ "intel_iommu=off" ]; amd = [ "amd_iommu=fullflush" ]; }; + in builtins.concatLists (map (cpu: params.${cpu}) hardware.cpus); + }; } ) ]; diff --git a/modules/hardware/gpu.nix b/modules/hardware/gpu.nix index fc590a2d..3460cda2 100644 --- a/modules/hardware/gpu.nix +++ b/modules/hardware/gpu.nix @@ -67,7 +67,7 @@ inputs: boot = { kernelParams = inputs.lib.mkIf (builtins.elem "amd" gpus) - [ "radeon.cik_support=0" "amdgpu.cik_support=1" "radeon.si_support=0" "amdgpu.si_support=1" "iommu=pt" ]; + [ "radeon.cik_support=0" "amdgpu.cik_support=1" "radeon.si_support=0" "amdgpu.si_support=1" ]; blacklistedKernelModules = [ "nouveau" ]; }; environment.variables.VDPAU_DRIVER = inputs.lib.mkIf (builtins.elem "intel" gpus) "va_gl";