Re: [PATCH v4 3/5] drm/amd: Avoid evicting resources at S5
From: Alex Deucher
Date: Thu Jul 17 2025 - 15:11:20 EST
On Mon, Jun 16, 2025 at 1:50 PM Mario Limonciello <superm1@xxxxxxxxxx> wrote:
>
> From: Mario Limonciello <mario.limonciello@xxxxxxx>
>
> Normally resources are evicted on dGPUs at suspend or hibernate and
> on APUs at hibernate. These steps are unnecessary when using the S4
> callbacks to put the system into S5.
>
> Cc: AceLan Kao <acelan.kao@xxxxxxxxxxxxx>
> Cc: Kai-Heng Feng <kaihengf@xxxxxxxxxx>
> Cc: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
> Cc: Denis Benato <benato.denis96@xxxxxxxxx>
> Cc: Merthan Karakaş <m3rthn.k@xxxxxxxxx>
> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
Acked-by: Alex Deucher <alexander.deucher@xxxxxxx>
> ---
> v3: https://lore.kernel.org/linux-pm/20250609024619.407257-1-superm1@xxxxxxxxxx/T/#me6db0fb946e3d604a8f3d455128844ed802c82bb
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 8edd88328749b..c5d8f6d551238 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -4966,6 +4966,10 @@ static int amdgpu_device_evict_resources(struct amdgpu_device *adev)
> if (!adev->in_s4 && (adev->flags & AMD_IS_APU))
> return 0;
>
> + /* No need to evict when going to S5 through S4 callbacks */
> + if (system_state == SYSTEM_HALT || system_state == SYSTEM_POWER_OFF)
> + return 0;
> +
> ret = amdgpu_ttm_evict_resources(adev, TTM_PL_VRAM);
> if (ret)
> DRM_WARN("evicting device resources failed\n");
> --
> 2.43.0
>