|
@@ -525,8 +525,8 @@ int amdgpu_gem_va_ioctl(struct drm_device *dev, void *data,
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
- invalid_flags = ~(AMDGPU_VM_PAGE_READABLE | AMDGPU_VM_PAGE_WRITEABLE |
|
|
|
- AMDGPU_VM_PAGE_EXECUTABLE);
|
|
|
+ invalid_flags = ~(AMDGPU_VM_DELAY_UPDATE | AMDGPU_VM_PAGE_READABLE |
|
|
|
+ AMDGPU_VM_PAGE_WRITEABLE | AMDGPU_VM_PAGE_EXECUTABLE);
|
|
|
if ((args->flags & invalid_flags)) {
|
|
|
dev_err(&dev->pdev->dev, "invalid flags 0x%08X vs 0x%08X\n",
|
|
|
args->flags, invalid_flags);
|
|
@@ -579,7 +579,7 @@ int amdgpu_gem_va_ioctl(struct drm_device *dev, void *data,
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- if (!r)
|
|
|
+ if (!r && !(args->flags & AMDGPU_VM_DELAY_UPDATE))
|
|
|
amdgpu_gem_va_update_vm(adev, bo_va);
|
|
|
|
|
|
drm_gem_object_unreference_unlocked(gobj);
|