From d390e95117166a1f9031df195da840f4fbc00b01 Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Mon, 12 Feb 2024 20:08:07 +0100 Subject: [PATCH 1/7] nixos-hardware: [flake lock update] --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index d53cfed..d61e342 100644 --- a/flake.lock +++ b/flake.lock @@ -190,11 +190,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1706834982, - "narHash": "sha256-3CfxA7gZ+DVv/N9Pvw61bV5Oe/mWfxYPyVQGqp9TMJA=", + "lastModified": 1707211557, + "narHash": "sha256-LTKTzZ6fM5j8XWXf51IMBzDaOaJg9kYWLUZxoIhzRN8=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "83e571bb291161682b9c3ccd48318f115143a550", + "rev": "6e5cc385fc8cf5ca6495d70243074ccdea9f64c7", "type": "github" }, "original": { From 0cd23886c001a55f991068de1b21ed1c14107d4f Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Fri, 16 Feb 2024 04:25:14 +0100 Subject: [PATCH 2/7] [flake lock update] --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index d61e342..67e9380 100644 --- a/flake.lock +++ b/flake.lock @@ -206,11 +206,11 @@ }, "nixos-unstable": { "locked": { - "lastModified": 1707546158, - "narHash": "sha256-nYYJTpzfPMDxI8mzhQsYjIUX+grorqjKEU9Np6Xwy/0=", + "lastModified": 1707689078, + "narHash": "sha256-UUGmRa84ZJHpGZ1WZEBEUOzaPOWG8LZ0yPg1pdDF/yM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d934204a0f8d9198e1e4515dd6fec76a139c87f0", + "rev": "f9d39fb9aff0efee4a3d5f4a6d7c17701d38a1d8", "type": "github" }, "original": { From 9f55497476635acf077ede93f8a8c009f4f3bb2e Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Sat, 17 Feb 2024 00:34:25 +0100 Subject: [PATCH 3/7] host framenix: apply workaround against suspend-resume freeze bug in kernel 6.8 --- hosts/framenix/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/framenix/default.nix b/hosts/framenix/default.nix index 6c2be01..44d6c5f 100644 --- a/hosts/framenix/default.nix +++ b/hosts/framenix/default.nix @@ -37,6 +37,8 @@ in patch = ./0001-drm-buddy-Improve-alloc_range-error-handling-routine.patch; } ]; + # fix freezes after s2idle suspend-resume + boot.blacklistedKernelModules = [ "amd-pmf" ]; boot.kernelParams = [ # temporary workaround for white flickering graphics artefacts From d46efe181fe9d2d0f5d064cf6a47ff0cc1b92005 Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Sat, 17 Feb 2024 03:11:17 +0100 Subject: [PATCH 4/7] framenix kernel: 6.8-rc3 -> 6.8-rc4 --- hosts/framenix/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hosts/framenix/default.nix b/hosts/framenix/default.nix index 44d6c5f..aac198a 100644 --- a/hosts/framenix/default.nix +++ b/hosts/framenix/default.nix @@ -24,10 +24,10 @@ in argsOverride = rec { src = pkgs.fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; - hash = "sha256-9CfwhjawHkMjNYqqJAHq9dQnpeWm0qH/UOAnSu82mNQ="; + hash = "sha256-sLypPyMhFhamhQOWDIkzZ5cVrWfoZDb3prJaESD6UU0="; }; - version = "6.8-rc3"; - modDirVersion = "6.8.0-rc3"; + version = "6.8-rc4"; + modDirVersion = "6.8.0-rc4"; }; }); # revert some commits that introduced the clourful graphics artefacts flickering, From 5cedb5444ad42ac66f63fa0d8bc8c531aabf1236 Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Sat, 17 Feb 2024 03:11:59 +0100 Subject: [PATCH 5/7] framenix kernel: update and pull graphics fix patch from git --- ...e-alloc_range-error-handling-routine.patch | 47 ------------------- hosts/framenix/default.nix | 7 ++- 2 files changed, 5 insertions(+), 49 deletions(-) delete mode 100644 hosts/framenix/0001-drm-buddy-Improve-alloc_range-error-handling-routine.patch diff --git a/hosts/framenix/0001-drm-buddy-Improve-alloc_range-error-handling-routine.patch b/hosts/framenix/0001-drm-buddy-Improve-alloc_range-error-handling-routine.patch deleted file mode 100644 index cc0d4a0..0000000 --- a/hosts/framenix/0001-drm-buddy-Improve-alloc_range-error-handling-routine.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 6e77e6de7582f35138fa1c7523268602ecb2e0a0 Mon Sep 17 00:00:00 2001 -From: Arunpravin Paneer Selvam -Date: Tue, 6 Feb 2024 10:39:24 -0800 -Subject: [PATCH] drm/buddy: Improve alloc_range error handling routine - -If alloc_range() couldn't allocate the requuired size, -return -ENOSPC. - -Signed-off-by: Arunpravin Paneer Selvam ---- - drivers/gpu/drm/drm_buddy.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c -index f57e6d74fb0e..d5aba6392da0 100644 ---- a/drivers/gpu/drm/drm_buddy.c -+++ b/drivers/gpu/drm/drm_buddy.c -@@ -483,9 +483,9 @@ static int __alloc_range(struct drm_buddy *mm, - struct list_head *blocks, - u64 *total_allocated_on_err) - { -+ u64 total_allocated = 0, allocated_size = 0; - struct drm_buddy_block *block; - struct drm_buddy_block *buddy; -- u64 total_allocated = 0; - LIST_HEAD(allocated); - u64 end; - int err; -@@ -539,6 +539,15 @@ static int __alloc_range(struct drm_buddy *mm, - } while (1); - - list_splice_tail(&allocated, blocks); -+ -+ list_for_each_entry(block, blocks, link) -+ allocated_size += drm_buddy_block_size(mm, block); -+ -+ if (allocated_size < size) { -+ err = -ENOSPC; -+ goto err_free; -+ } -+ - return 0; - - err_undo: --- -2.25.1 - diff --git a/hosts/framenix/default.nix b/hosts/framenix/default.nix index aac198a..81295a2 100644 --- a/hosts/framenix/default.nix +++ b/hosts/framenix/default.nix @@ -33,8 +33,11 @@ in # revert some commits that introduced the clourful graphics artefacts flickering, # at least that's the current working hypothesis in https://gitlab.freedesktop.org/drm/amd/-/issues/3097 boot.kernelPatches = [ - {name = "patch attempt from https://gitlab.freedesktop.org/drm/amd/-/issues/3097#note_2271482"; - patch = ./0001-drm-buddy-Improve-alloc_range-error-handling-routine.patch; + {name = "drm/buddy: Fix alloc_range() error handling code"; + patch = pkgs.fetchpatch { + url = "https://cgit.freedesktop.org/drm/drm-misc/patch/?id=8746c6c9dfa31d269c65dd52ab42fde0720b7d91"; + hash = "sha256-Ir7TDLspbYilTJr6aVVb8urIYI2N2vZwI5ayp7laaGw="; + }; } ]; # fix freezes after s2idle suspend-resume From 7ebe7bc14934a442db2c3c1e3af53173fc33fdff Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Sat, 17 Feb 2024 03:12:21 +0100 Subject: [PATCH 6/7] [flake lock update] --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 67e9380..7aff31c 100644 --- a/flake.lock +++ b/flake.lock @@ -206,11 +206,11 @@ }, "nixos-unstable": { "locked": { - "lastModified": 1707689078, - "narHash": "sha256-UUGmRa84ZJHpGZ1WZEBEUOzaPOWG8LZ0yPg1pdDF/yM=", + "lastModified": 1707956935, + "narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f9d39fb9aff0efee4a3d5f4a6d7c17701d38a1d8", + "rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c", "type": "github" }, "original": { @@ -254,11 +254,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1707650010, - "narHash": "sha256-dOhphIA4MGrH4ElNCy/OlwmN24MsnEqFjRR6+RY7jZw=", + "lastModified": 1707978831, + "narHash": "sha256-UblFdWQ2MMZNzD9C/w8+7RjAJ2QIbebbzHUniQ/a44o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "809cca784b9f72a5ad4b991e0e7bcf8890f9c3a6", + "rev": "c68a9fc85c2cb3a313be6ff40511635544dde8da", "type": "github" }, "original": { From 10f78e86bf0d79e6ca53e739e1852c5cefcee6dd Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Sat, 17 Feb 2024 19:06:49 +0100 Subject: [PATCH 7/7] framenix: porper patch for suspend-resume-freeze allows re-enabling the previously blacklisted module amd-pmf --- hosts/framenix/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hosts/framenix/default.nix b/hosts/framenix/default.nix index 81295a2..b5375fe 100644 --- a/hosts/framenix/default.nix +++ b/hosts/framenix/default.nix @@ -33,6 +33,12 @@ in # revert some commits that introduced the clourful graphics artefacts flickering, # at least that's the current working hypothesis in https://gitlab.freedesktop.org/drm/amd/-/issues/3097 boot.kernelPatches = [ + {name = "[PATCH] platform/x86/amd/pmf: Fix a suspend hang on Framework 13"; + patch = pkgs.fetchpatch { + url = "https://lore.kernel.org/platform-driver-x86/20240217005216.113408-1-mario.limonciello@amd.com/raw"; + hash = "sha256-FeKIQ0eLP4yq1WcMaf8Dp0c+DuqOdeuBQU07dFswzD4="; + }; + } {name = "drm/buddy: Fix alloc_range() error handling code"; patch = pkgs.fetchpatch { url = "https://cgit.freedesktop.org/drm/drm-misc/patch/?id=8746c6c9dfa31d269c65dd52ab42fde0720b7d91"; @@ -40,8 +46,6 @@ in }; } ]; - # fix freezes after s2idle suspend-resume - boot.blacklistedKernelModules = [ "amd-pmf" ]; boot.kernelParams = [ # temporary workaround for white flickering graphics artefacts