On 10/31/2025 7:01 AM, Antheas Kapenekakis wrote:
On Sun, 26 Oct 2025 at 05:30, Mario Limonciello (AMD)
<[email protected]> wrote:

From: Alex Deucher <[email protected]>

For S3 on vangogh, PMFW needs to be notified before the
driver powers down RLC.  This already happens in smu_disable_dpms()
so drop the superfluous call in amdgpu_device_suspend().

Signed-off-by: Alex Deucher <[email protected]>
Co-developed-by: Mario Limonciello (AMD) <[email protected]>
Signed-off-by: Mario Limonciello (AMD) <[email protected]>

Just for this patch:

Tested-by: Antheas Kapenekakis <[email protected]>

If the subject is refactored to take into account that it fixes sleep add:
#Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4659
#Reported-by: Antheas Kapenekakis <[email protected]>

Tested on a Steam Deck OLED and Xbox Ally.

Thanks for checking. This series is already merged so too late for tags. But I'll add your tags to the other patch.


@Mario: For my series, can you have a look at the first two patches
and if they are ok push forward with merging? Also, reminder for the
Legion Go 2 quirk.

I'll look at the two platform-x86 ones again and leave comments if necessary.


Best,
Antheas

---
Cc: [email protected]
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |  4 ----
  drivers/gpu/drm/amd/pm/amdgpu_dpm.c        | 18 ------------------
  drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h    |  2 --
  3 files changed, 24 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index b8d91247f51a..f6850b86e96f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -5280,10 +5280,6 @@ int amdgpu_device_suspend(struct drm_device *dev, bool 
notify_clients)
         if (amdgpu_sriov_vf(adev))
                 amdgpu_virt_release_full_gpu(adev, false);

-       r = amdgpu_dpm_notify_rlc_state(adev, false);
-       if (r)
-               return r;
-
         return 0;
  }

diff --git a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c 
b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c
index 5d08dc3b7110..5c4d0eb198c4 100644
--- a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c
+++ b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c
@@ -195,24 +195,6 @@ int amdgpu_dpm_set_mp1_state(struct amdgpu_device *adev,
         return ret;
  }

-int amdgpu_dpm_notify_rlc_state(struct amdgpu_device *adev, bool en)
-{
-       int ret = 0;
-       const struct amd_pm_funcs *pp_funcs = adev->powerplay.pp_funcs;
-
-       if (pp_funcs && pp_funcs->notify_rlc_state) {
-               mutex_lock(&adev->pm.mutex);
-
-               ret = pp_funcs->notify_rlc_state(
-                               adev->powerplay.pp_handle,
-                               en);
-
-               mutex_unlock(&adev->pm.mutex);
-       }
-
-       return ret;
-}
-
  int amdgpu_dpm_is_baco_supported(struct amdgpu_device *adev)
  {
         const struct amd_pm_funcs *pp_funcs = adev->powerplay.pp_funcs;
diff --git a/drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h 
b/drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h
index 3bce74f8bb0a..c7ea29385682 100644
--- a/drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h
+++ b/drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h
@@ -424,8 +424,6 @@ int amdgpu_dpm_mode1_reset(struct amdgpu_device *adev);
  int amdgpu_dpm_set_mp1_state(struct amdgpu_device *adev,
                              enum pp_mp1_state mp1_state);

-int amdgpu_dpm_notify_rlc_state(struct amdgpu_device *adev, bool en);
-
  int amdgpu_dpm_set_gfx_power_up_by_imu(struct amdgpu_device *adev);

  int amdgpu_dpm_baco_exit(struct amdgpu_device *adev);
--
2.51.1




Reply via email to