[PATCH] drm/amdgpu: don't increment vram lost if we are in hibernation
Christian König
ckoenig.leichtzumerken at gmail.com
Wed Oct 2 07:17:44 UTC 2019
Am 01.10.19 um 23:48 schrieb Alex Deucher:
> We reset the GPU as part of our hibernation sequence so we need
> to make sure we don't mark vram as lost in that case.
>
> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=111879
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Acked-by: Christian König <christian.koenig at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/nv.c | 6 ++++--
> drivers/gpu/drm/amd/amdgpu/soc15.c | 6 ++++--
> 2 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/nv.c b/drivers/gpu/drm/amd/amdgpu/nv.c
> index b3e7756fcc4b..17dc054a4b6c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/nv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/nv.c
> @@ -319,10 +319,12 @@ static int nv_asic_reset(struct amdgpu_device *adev)
> struct smu_context *smu = &adev->smu;
>
> if (nv_asic_reset_method(adev) == AMD_RESET_METHOD_BACO) {
> - amdgpu_inc_vram_lost(adev);
> + if (!adev->in_suspend)
> + amdgpu_inc_vram_lost(adev);
> ret = smu_baco_reset(smu);
> } else {
> - amdgpu_inc_vram_lost(adev);
> + if (!adev->in_suspend)
> + amdgpu_inc_vram_lost(adev);
> ret = nv_asic_mode1_reset(adev);
> }
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c
> index b5240b5dbf7b..88a49a68c67f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/soc15.c
> +++ b/drivers/gpu/drm/amd/amdgpu/soc15.c
> @@ -564,12 +564,14 @@ static int soc15_asic_reset(struct amdgpu_device *adev)
> {
> switch (soc15_asic_reset_method(adev)) {
> case AMD_RESET_METHOD_BACO:
> - amdgpu_inc_vram_lost(adev);
> + if (!adev->in_suspend)
> + amdgpu_inc_vram_lost(adev);
> return soc15_asic_baco_reset(adev);
> case AMD_RESET_METHOD_MODE2:
> return soc15_mode2_reset(adev);
> default:
> - amdgpu_inc_vram_lost(adev);
> + if (!adev->in_suspend)
> + amdgpu_inc_vram_lost(adev);
> return soc15_asic_mode1_reset(adev);
> }
> }
More information about the amd-gfx
mailing list