diff options
Diffstat (limited to 'include/drm-uapi/i915_drm.h')
-rw-r--r-- | include/drm-uapi/i915_drm.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/include/drm-uapi/i915_drm.h b/include/drm-uapi/i915_drm.h index 27a3a441..f05fe660 100644 --- a/include/drm-uapi/i915_drm.h +++ b/include/drm-uapi/i915_drm.h @@ -359,6 +359,7 @@ typedef struct _drm_i915_sarea { #define DRM_I915_QUERY 0x39 #define DRM_I915_GEM_VM_CREATE 0x3a #define DRM_I915_GEM_VM_DESTROY 0x3b +#define DRM_I915_GEM_VM_WAIT 0x3c /* Must be kept compact -- no holes */ #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) @@ -422,6 +423,7 @@ typedef struct _drm_i915_sarea { #define DRM_IOCTL_I915_QUERY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_QUERY, struct drm_i915_query) #define DRM_IOCTL_I915_GEM_VM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_CREATE, struct drm_i915_gem_vm_control) #define DRM_IOCTL_I915_GEM_VM_DESTROY DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_VM_DESTROY, struct drm_i915_gem_vm_control) +#define DRM_IOCTL_I915_GEM_VM_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_WAIT, struct drm_i915_gem_vm_wait) /* Allow drivers to submit batchbuffers directly to hardware, relying * on the security mechanisms provided by hardware. @@ -1900,6 +1902,41 @@ struct drm_i915_gem_vm_control { __u32 vm_id; }; +/* + * (*IOVA & MASK) OP (VALUE & MASK) + * + * OP: + * - EQ, NEQ + * - GT, GTE + * - LT, LTE + * - BEFORE, AFTER + * + */ +struct drm_i915_gem_vm_wait { + __u64 extensions; + __u64 iova; + __u32 vm_id; + __u16 op; +#define I915_VM_WAIT_EQ 0 +#define I915_VM_WAIT_NEQ 1 +#define I915_VM_WAIT_GT 2 +#define I915_VM_WAIT_GTE 3 +#define I915_VM_WAIT_LT 4 +#define I915_VM_WAIT_LTE 5 +#define I915_VM_WAIT_BEFORE 6 +#define I915_VM_WAIT_AFTER 7 +#define I915_VM_WAIT_PASSED 8 + __u16 flags; +#define I915_VM_WAIT_ABSTIME 0x1 + __u64 value; + __u64 mask; +#define I915_VM_WAIT_U8 0xffu +#define I915_VM_WAIT_U16 0xffffu +#define I915_VM_WAIT_U32 0xfffffffful +#define I915_VM_WAIT_U64 0xffffffffffffffffull + __u64 timeout; +}; + struct drm_i915_reg_read { /* * Register offset. |