[PATCH 3/4] drm/amdgpu: Fix acquiring VM on large-BAR systems

Christian König ckoenig.leichtzumerken at gmail.com
Fri Mar 23 19:35:45 UTC 2018


Am 23.03.2018 um 20:30 schrieb Felix Kuehling:
> On large-BAR systems the VM page tables for compute are accessed by
> the CPU. Always allow CPU access to the page directory so that it can
> be used later by the CPU when a VM is converted to a compute VM.

NAK, that means we initial place the PD in the visible are for GFX which 
is not desired (not much of an issue for Vega/Raven, but bad for older 
generations).

Better to clear the flag later on and set the 
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED and then re-validate.

Regards,
Christian.

>
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index 90ff79e..bc3557b 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -2406,8 +2406,7 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm,
>   	if (vm->use_cpu_for_update)
>   		flags |= AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED;
>   	else
> -		flags |= (AMDGPU_GEM_CREATE_NO_CPU_ACCESS |
> -				AMDGPU_GEM_CREATE_SHADOW);
> +		flags |= AMDGPU_GEM_CREATE_SHADOW;
>   
>   	size = amdgpu_vm_bo_size(adev, adev->vm_manager.root_level);
>   	r = amdgpu_bo_create(adev, size, align, true, AMDGPU_GEM_DOMAIN_VRAM,



More information about the amd-gfx mailing list