summaryrefslogtreecommitdiff
path: root/linux-core/drmP.h
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2004-02-20 22:55:12 +0000
committerKeith Whitwell <keith@tungstengraphics.com>2004-02-20 22:55:12 +0000
commit82157579b586c8f1e147250e09f0837214019680 (patch)
tree4ee44b8c564542c0381b05a29dc1377bec910246 /linux-core/drmP.h
parent213247a4416b959738a658f2217d4d01ae9c1e67 (diff)
drm_ctx_dtor.patch Submitted by: Erdi Chen
Diffstat (limited to 'linux-core/drmP.h')
-rw-r--r--linux-core/drmP.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h
index b7b346d4..742c4ac5 100644
--- a/linux-core/drmP.h
+++ b/linux-core/drmP.h
@@ -158,6 +158,7 @@
#define DRM_MEM_CTXBITMAP 18
#define DRM_MEM_STUB 19
#define DRM_MEM_SGLISTS 20
+#define DRM_MEM_CTXLIST 21
#define DRM_MAX_CTXBITMAP (PAGE_SIZE * 8)
@@ -651,6 +652,15 @@ typedef struct drm_map_list {
typedef drm_map_t drm_local_map_t;
+/**
+ * Context handle list
+ */
+typedef struct drm_ctx_list {
+ struct list_head head; /**< list head */
+ drm_context_t handle; /**< context handle */
+ drm_file_t *tag; /**< associated fd private data */
+} drm_ctx_list_t;
+
#if __HAVE_VBL_IRQ
typedef struct drm_vbl_sig {
@@ -711,6 +721,12 @@ typedef struct drm_device {
drm_map_list_t *maplist; /**< Linked list of regions */
int map_count; /**< Number of mappable regions */
+ /** \name Context handle management */
+ /*@{*/
+ drm_ctx_list_t *ctxlist; /**< Linked list of context handles */
+ int ctx_count; /**< Number of context handles */
+ struct semaphore ctxlist_sem; /**< For ctxlist */
+
drm_map_t **context_sareas; /**< per-context SAREA's */
int max_context;