Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fc220f65 authored by Christian König's avatar Christian König Committed by Alex Deucher
Browse files

drm/amdgpu: add flag to delay VM updates

parent 2b48d323
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -525,8 +525,8 @@ int amdgpu_gem_va_ioctl(struct drm_device *dev, void *data,
		return -EINVAL;
		return -EINVAL;
	}
	}


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


	if (!r)
	if (!r && !(args->flags & AMDGPU_VM_DELAY_UPDATE))
		amdgpu_gem_va_update_vm(adev, bo_va);
		amdgpu_gem_va_update_vm(adev, bo_va);


	drm_gem_object_unreference_unlocked(gobj);
	drm_gem_object_unreference_unlocked(gobj);
+3 −0
Original line number Original line Diff line number Diff line
@@ -313,6 +313,9 @@ struct drm_amdgpu_gem_op {
#define AMDGPU_VA_OP_MAP			1
#define AMDGPU_VA_OP_MAP			1
#define AMDGPU_VA_OP_UNMAP			2
#define AMDGPU_VA_OP_UNMAP			2


/* Delay the page table update till the next CS */
#define AMDGPU_VM_DELAY_UPDATE		(1 << 0)

/* Mapping flags */
/* Mapping flags */
/* readable mapping */
/* readable mapping */
#define AMDGPU_VM_PAGE_READABLE		(1 << 1)
#define AMDGPU_VM_PAGE_READABLE		(1 << 1)