[PATCH 2/2] drm/amdgpu: use GTT only as fallback for VRAM|GTT

Hamza Mahfooz hamza.mahfooz at amd.com
Mon Nov 27 15:53:11 UTC 2023


On 11/27/23 09:54, Christian König wrote:
> Try to fill up VRAM as well by setting the busy flag on GTT allocations.
> 
> This fixes the issue that when VRAM was evacuated for suspend it's never
> filled up again unless the application is restarted.
> 

Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2893

> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> index aa0dd6dad068..ddc8fb4db678 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> @@ -173,6 +173,12 @@ void amdgpu_bo_placement_from_domain(struct amdgpu_bo *abo, u32 domain)
>   			abo->flags & AMDGPU_GEM_CREATE_PREEMPTIBLE ?
>   			AMDGPU_PL_PREEMPT : TTM_PL_TT;
>   		places[c].flags = 0;
> +		/*
> +		 * When GTT is just an alternative to VRAM make sure that we
> +		 * only use it as fallback and still try to fill up VRAM first.
> +		 */
> +		if (domain & AMDGPU_GEM_DOMAIN_VRAM)
> +			places[c].flags |= TTM_PL_FLAG_BUSY;
>   		c++;
>   	}
>   
-- 
Hamza



More information about the dri-devel mailing list