aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2016-02-08 05:08:35 -0500
committerAlex Deucher <alexander.deucher@amd.com>2016-02-10 14:17:16 -0500
commitcc325d1913475655b81c0417ba04c84f168ac78c (patch)
tree6dcc586983e753988a4b2713678f78bbb49ded6e /drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
parent04db4caf5c836c211977a54c9218f2cdee14897f (diff)
drm/amdgpu: check userptrs mm earlier
Instead of when we try to bind it check the usermm when we try to use it in the IOCTLs. Signed-off-by: Christian König <christian.koenig@amd.com> Acked-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.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index 84e850f81f39..b1a611e79c94 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -310,7 +310,7 @@ int amdgpu_mode_dumb_mmap(struct drm_file *filp,
310 return -ENOENT; 310 return -ENOENT;
311 } 311 }
312 robj = gem_to_amdgpu_bo(gobj); 312 robj = gem_to_amdgpu_bo(gobj);
313 if (amdgpu_ttm_tt_has_userptr(robj->tbo.ttm) || 313 if (amdgpu_ttm_tt_get_usermm(robj->tbo.ttm) ||
314 (robj->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS)) { 314 (robj->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS)) {
315 drm_gem_object_unreference_unlocked(gobj); 315 drm_gem_object_unreference_unlocked(gobj);
316 return -EPERM; 316 return -EPERM;
@@ -638,7 +638,7 @@ int amdgpu_gem_op_ioctl(struct drm_device *dev, void *data,
638 break; 638 break;
639 } 639 }
640 case AMDGPU_GEM_OP_SET_PLACEMENT: 640 case AMDGPU_GEM_OP_SET_PLACEMENT:
641 if (amdgpu_ttm_tt_has_userptr(robj->tbo.ttm)) { 641 if (amdgpu_ttm_tt_get_usermm(robj->tbo.ttm)) {
642 r = -EPERM; 642 r = -EPERM;
643 amdgpu_bo_unreserve(robj); 643 amdgpu_bo_unreserve(robj);
644 break; 644 break;