diff options
author | Ben Widawsky <ben@bwidawsk.net> | 2012-06-04 17:42:54 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-06-14 11:36:20 -0400 |
commit | 846248136dd3a6723135b8515ed7dc4c52a7b2ae (patch) | |
tree | fb8b3fdc86ba3632ca8edeb71074fde6b41753ff /include | |
parent | f2ef6eb1453a95ce8ab388493793c54a6bedc405 (diff) |
drm/i915/context: create & destroy ioctls
Add the interfaces to allow user space to create and destroy contexts.
Contexts are destroyed automatically if the file descriptor for the dri
device is closed.
Following convention as usual here causes checkpatch warnings.
v2: with is_initialized, no longer need to init at create
drop the context switch on create (daniel)
v3: Use interruptible lock (Chris)
return -ENODEV in !GEM case (Chris)
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/drm/i915_drm.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h index 5c28ee1d1911..5da73244486a 100644 --- a/include/drm/i915_drm.h +++ b/include/drm/i915_drm.h | |||
@@ -201,6 +201,8 @@ typedef struct _drm_i915_sarea { | |||
201 | #define DRM_I915_GET_SPRITE_COLORKEY 0x2a | 201 | #define DRM_I915_GET_SPRITE_COLORKEY 0x2a |
202 | #define DRM_I915_SET_SPRITE_COLORKEY 0x2b | 202 | #define DRM_I915_SET_SPRITE_COLORKEY 0x2b |
203 | #define DRM_I915_GEM_WAIT 0x2c | 203 | #define DRM_I915_GEM_WAIT 0x2c |
204 | #define DRM_I915_GEM_CONTEXT_CREATE 0x2d | ||
205 | #define DRM_I915_GEM_CONTEXT_DESTROY 0x2e | ||
204 | 206 | ||
205 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) | 207 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) |
206 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) | 208 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) |
@@ -245,6 +247,8 @@ typedef struct _drm_i915_sarea { | |||
245 | #define DRM_IOCTL_I915_SET_SPRITE_COLORKEY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_SET_SPRITE_COLORKEY, struct drm_intel_sprite_colorkey) | 247 | #define DRM_IOCTL_I915_SET_SPRITE_COLORKEY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_SET_SPRITE_COLORKEY, struct drm_intel_sprite_colorkey) |
246 | #define DRM_IOCTL_I915_GET_SPRITE_COLORKEY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_SET_SPRITE_COLORKEY, struct drm_intel_sprite_colorkey) | 248 | #define DRM_IOCTL_I915_GET_SPRITE_COLORKEY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_SET_SPRITE_COLORKEY, struct drm_intel_sprite_colorkey) |
247 | #define DRM_IOCTL_I915_GEM_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_WAIT, struct drm_i915_gem_wait) | 249 | #define DRM_IOCTL_I915_GEM_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_WAIT, struct drm_i915_gem_wait) |
250 | #define DRM_IOCTL_I915_GEM_CONTEXT_CREATE DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_CREATE, struct drm_i915_gem_context_create) | ||
251 | #define DRM_IOCTL_I915_GEM_CONTEXT_DESTROY DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_DESTROY, struct drm_i915_gem_context_destroy) | ||
248 | 252 | ||
249 | /* Allow drivers to submit batchbuffers directly to hardware, relying | 253 | /* Allow drivers to submit batchbuffers directly to hardware, relying |
250 | * on the security mechanisms provided by hardware. | 254 | * on the security mechanisms provided by hardware. |
@@ -897,4 +901,15 @@ struct drm_i915_gem_wait { | |||
897 | __s64 timeout_ns; | 901 | __s64 timeout_ns; |
898 | }; | 902 | }; |
899 | 903 | ||
904 | struct drm_i915_gem_context_create { | ||
905 | /* output: id of new context*/ | ||
906 | __u32 ctx_id; | ||
907 | __u32 pad; | ||
908 | }; | ||
909 | |||
910 | struct drm_i915_gem_context_destroy { | ||
911 | __u32 ctx_id; | ||
912 | __u32 pad; | ||
913 | }; | ||
914 | |||
900 | #endif /* _I915_DRM_H_ */ | 915 | #endif /* _I915_DRM_H_ */ |