[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