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.

@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.

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