summaryrefslogtreecommitdiff
path: root/linux-core/drm_stub.c
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/drm_stub.c
parenta96b61fdc4fc3df50c91ca489f45f12cdad74f69 (diff)
Make memory caches global so that they can be used with
multiple heads.
Diffstat (limited to 'linux-core/drm_stub.c')
-rw-r--r--linux-core/drm_stub.c34
1 files changed, 5 insertions, 29 deletions
diff --git a/linux-core/drm_stub.c b/linux-core/drm_stub.c
index 2d0f1d24..c4f33813 100644
--- a/linux-core/drm_stub.c
+++ b/linux-core/drm_stub.c
@@ -54,29 +54,11 @@ drm_head_t **drm_heads;
struct drm_sysfs_class *drm_class;
struct proc_dir_entry *drm_proc_root;
-
-static int drm_create_memory_caches(drm_device_t *dev)
-{
- dev->mm_cache = kmem_cache_create("drm_mm_node_t",
- sizeof(drm_mm_node_t),
- 0,
- SLAB_HWCACHE_ALIGN,
- NULL,NULL);
- if (!dev->mm_cache)
- return -ENOMEM;
-
- drm_mm_set_cache(dev->mm_cache);
- dev->fence_object_cache = kmem_cache_create("drm_fence_object_t",
- sizeof(drm_fence_object_t),
- 0,
- SLAB_HWCACHE_ALIGN,
- NULL,NULL);
- if (!dev->fence_object_cache)
- return -ENOMEM;
-
- return 0;
-}
-
+drm_cache_t drm_cache =
+{ .mm = NULL,
+ .fence_object = NULL,
+ .ref_object = NULL
+};
static int drm_fill_in_dev(drm_device_t * dev, struct pci_dev *pdev,
const struct pci_device_id *ent,
@@ -151,12 +133,6 @@ static int drm_fill_in_dev(drm_device_t * dev, struct pci_dev *pdev,
goto error_out_unreg;
}
- retcode = drm_create_memory_caches(dev);
- if (retcode) {
- DRM_ERROR("Failed creating memory caches\n");
- goto error_out_unreg;
- }
-
drm_fence_manager_init(dev);
return 0;