aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2017-03-13 05:13:37 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-03-29 23:54:00 -0400
commit663e4577a5733fab18d601128f54486d78595bc0 (patch)
treeaf0a0b2121dea7755bcb0b1bbde9af53f986db18 /drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
parent4388fc2ab0e83fd6247c48c7e97064cc75511848 (diff)
drm/amdgpu: separate page table allocation from mapping
This makes it easier to implement a replace operation. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index 6daf004955b0..0240f108f90e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -631,8 +631,12 @@ int amdgpu_gem_va_ioctl(struct drm_device *dev, void *data,
631 631
632 switch (args->operation) { 632 switch (args->operation) {
633 case AMDGPU_VA_OP_MAP: 633 case AMDGPU_VA_OP_MAP:
634 va_flags = amdgpu_vm_get_pte_flags(adev, args->flags); 634 r = amdgpu_vm_alloc_pts(adev, bo_va->vm, args->va_address,
635 args->map_size);
636 if (r)
637 goto error_backoff;
635 638
639 va_flags = amdgpu_vm_get_pte_flags(adev, args->flags);
636 r = amdgpu_vm_bo_map(adev, bo_va, args->va_address, 640 r = amdgpu_vm_bo_map(adev, bo_va, args->va_address,
637 args->offset_in_bo, args->map_size, 641 args->offset_in_bo, args->map_size,
638 va_flags); 642 va_flags);