diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 14 | 
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c index 57b74d35052f..8ef31d687ef3 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c @@ -296,8 +296,8 @@ int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data,  		      AMDGPU_GEM_CREATE_VRAM_CLEARED |  		      AMDGPU_GEM_CREATE_VM_ALWAYS_VALID |  		      AMDGPU_GEM_CREATE_EXPLICIT_SYNC | -		      AMDGPU_GEM_CREATE_ENCRYPTED)) - +		      AMDGPU_GEM_CREATE_ENCRYPTED | +		      AMDGPU_GEM_CREATE_DISCARDABLE))  		return -EINVAL;  	/* reject invalid gem domains */ @@ -526,7 +526,8 @@ int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data,  		return -ENOENT;  	}  	robj = gem_to_amdgpu_bo(gobj); -	ret = dma_resv_wait_timeout(robj->tbo.base.resv, true, true, timeout); +	ret = dma_resv_wait_timeout(robj->tbo.base.resv, DMA_RESV_USAGE_READ, +				    true, timeout);  	/* ret == 0 means not signaled,  	 * ret > 0 means signaled @@ -612,7 +613,7 @@ static void amdgpu_gem_va_update_vm(struct amdgpu_device *adev,  	if (operation == AMDGPU_VA_OP_MAP ||  	    operation == AMDGPU_VA_OP_REPLACE) { -		r = amdgpu_vm_bo_update(adev, bo_va, false, NULL); +		r = amdgpu_vm_bo_update(adev, bo_va, false);  		if (r)  			goto error;  	} @@ -644,6 +645,8 @@ uint64_t amdgpu_gem_va_map_flags(struct amdgpu_device *adev, uint32_t flags)  		pte_flag |= AMDGPU_PTE_WRITEABLE;  	if (flags & AMDGPU_VM_PAGE_PRT)  		pte_flag |= AMDGPU_PTE_PRT; +	if (flags & AMDGPU_VM_PAGE_NOALLOC) +		pte_flag |= AMDGPU_PTE_NOALLOC;  	if (adev->gmc.gmc_funcs->map_mtype)  		pte_flag |= amdgpu_gmc_map_mtype(adev, @@ -657,7 +660,8 @@ int amdgpu_gem_va_ioctl(struct drm_device *dev, void *data,  {  	const uint32_t valid_flags = AMDGPU_VM_DELAY_UPDATE |  		AMDGPU_VM_PAGE_READABLE | AMDGPU_VM_PAGE_WRITEABLE | -		AMDGPU_VM_PAGE_EXECUTABLE | AMDGPU_VM_MTYPE_MASK; +		AMDGPU_VM_PAGE_EXECUTABLE | AMDGPU_VM_MTYPE_MASK | +		AMDGPU_VM_PAGE_NOALLOC;  	const uint32_t prt_flags = AMDGPU_VM_DELAY_UPDATE |  		AMDGPU_VM_PAGE_PRT;  |