diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2004-02-20 22:55:12 +0000 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2004-02-20 22:55:12 +0000 |
commit | 82157579b586c8f1e147250e09f0837214019680 (patch) | |
tree | 4ee44b8c564542c0381b05a29dc1377bec910246 /linux/drmP.h | |
parent | 213247a4416b959738a658f2217d4d01ae9c1e67 (diff) |
drm_ctx_dtor.patch Submitted by: Erdi Chen
Diffstat (limited to 'linux/drmP.h')
-rw-r--r-- | linux/drmP.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/linux/drmP.h b/linux/drmP.h index b7b346d4..742c4ac5 100644 --- a/linux/drmP.h +++ b/linux/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; |