summaryrefslogtreecommitdiff
path: root/linux-core/drmP.h
diff options
context:
space:
mode:
authorThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-09-04 16:57:20 +0200
committerThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-09-04 16:57:20 +0200
commita6b8e3eaf49044e135a0b9288192525f301458d5 (patch)
treef13f3c9327e597e2fdc372d2bce8be3e8bdeaa0b /linux-core/drmP.h
parenta96b61fdc4fc3df50c91ca489f45f12cdad74f69 (diff)
Make memory caches global so that they can be used with
multiple heads.
Diffstat (limited to 'linux-core/drmP.h')
-rw-r--r--linux-core/drmP.h20
1 files changed, 13 insertions, 7 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h
index c6646212..23766373 100644
--- a/linux-core/drmP.h
+++ b/linux-core/drmP.h
@@ -745,6 +745,18 @@ typedef struct drm_head {
struct class_device *dev_class;
} drm_head_t;
+typedef struct drm_cache {
+
+ /*
+ * Memory caches
+ */
+
+ kmem_cache_t *mm;
+ kmem_cache_t *fence_object;
+ kmem_cache_t *ref_object;
+} drm_cache_t;
+
+
typedef struct drm_fence_driver{
int no_types;
@@ -926,12 +938,6 @@ typedef struct drm_device {
drm_fence_manager_t fm;
drm_buffer_manager_t bm;
- /*
- * Memory caches
- */
- kmem_cache_t *mm_cache;
- kmem_cache_t *fence_object_cache;
-
} drm_device_t;
#if __OS_HAS_AGP
@@ -1254,6 +1260,7 @@ extern int drm_put_head(drm_head_t * head);
extern unsigned int drm_debug; /* 1 to enable debug output */
extern unsigned int drm_cards_limit;
extern drm_head_t **drm_heads;
+extern drm_cache_t drm_cache;
extern struct drm_sysfs_class *drm_class;
extern struct proc_dir_entry *drm_proc_root;
@@ -1302,7 +1309,6 @@ extern drm_mm_node_t *drm_mm_search_free(const drm_mm_t *mm, unsigned long size,
unsigned alignment, int best_match);
extern int drm_mm_init(drm_mm_t *mm, unsigned long start, unsigned long size);
extern void drm_mm_takedown(drm_mm_t *mm);
-extern void drm_mm_set_cache(kmem_cache_t *cache);
extern int drm_mm_clean(drm_mm_t *mm);
/*