]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jan 2023 07:40:13 +0000 (08:40 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jan 2023 07:40:13 +0000 (08:40 +0100)
added patches:
drm-amdgpu-complete-gfxoff-allow-signal-during-suspend-without-delay.patch

queue-5.15/drm-amdgpu-complete-gfxoff-allow-signal-during-suspend-without-delay.patch [new file with mode: 0644]
queue-5.15/series

diff --git a/queue-5.15/drm-amdgpu-complete-gfxoff-allow-signal-during-suspend-without-delay.patch b/queue-5.15/drm-amdgpu-complete-gfxoff-allow-signal-during-suspend-without-delay.patch
new file mode 100644 (file)
index 0000000..88780e4
--- /dev/null
@@ -0,0 +1,42 @@
+From 4b31b92b143f7d209f3d494c56d4c4673e9fc53d Mon Sep 17 00:00:00 2001
+From: Harsh Jain <harsh.jain@amd.com>
+Date: Wed, 2 Nov 2022 15:23:08 +0530
+Subject: drm/amdgpu: complete gfxoff allow signal during suspend without delay
+
+From: Harsh Jain <harsh.jain@amd.com>
+
+commit 4b31b92b143f7d209f3d494c56d4c4673e9fc53d upstream.
+
+change guarantees that gfxoff is allowed before moving further in
+s2idle sequence to add more reliablity about gfxoff in amdgpu IP's
+suspend flow
+
+Signed-off-by: Harsh Jain <harsh.jain@amd.com>
+Reviewed-by: Evan Quan <evan.quan@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Cc: "Limonciello, Mario" <Mario.Limonciello@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c |   10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
+@@ -580,10 +580,14 @@ void amdgpu_gfx_off_ctrl(struct amdgpu_d
+               if (adev->gfx.gfx_off_req_count == 0 &&
+                   !adev->gfx.gfx_off_state) {
+                       /* If going to s2idle, no need to wait */
+-                      if (adev->in_s0ix)
+-                              delay = GFX_OFF_NO_DELAY;
+-                      schedule_delayed_work(&adev->gfx.gfx_off_delay_work,
++                      if (adev->in_s0ix) {
++                              if (!amdgpu_dpm_set_powergating_by_smu(adev,
++                                              AMD_IP_BLOCK_TYPE_GFX, true))
++                                      adev->gfx.gfx_off_state = true;
++                      } else {
++                              schedule_delayed_work(&adev->gfx.gfx_off_delay_work,
+                                             delay);
++                      }
+               }
+       } else {
+               if (adev->gfx.gfx_off_req_count == 0) {
index cff24bf44ffdd24d47bc58a607eedef261edb279..21f540d2b37b12c3e0648b8c7923743a4c852df8 100644 (file)
@@ -143,3 +143,4 @@ panic-expose-warn_count-to-sysfs.patch
 docs-fix-path-paste-o-for-sys-kernel-warn_count.patch
 exit-use-read_once-for-all-oops-warn-limit-reads.patch
 bluetooth-hci_sync-cancel-cmd_timer-if-hci_open-fail.patch
+drm-amdgpu-complete-gfxoff-allow-signal-during-suspend-without-delay.patch