aboutsummaryrefslogtreecommitdiff
path: root/linux-core/drm_bo.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2007-10-09 21:09:31 -0400
committerDave Airlie <airlied@linux.ie>2007-10-16 22:03:05 +1100
commita69c85fec8ed323bffb1324ea08157b3897e97db (patch)
tree8af6864cc448c13e11ee52a5bda8912bbba54e90 /linux-core/drm_bo.c
parentdccefba71a65566e7e1628b3be67621866000411 (diff)
Drop destroy ioctls for fences and buffer objects.
We now always create a drm_ref_object for user objects and this is then the only things that holds a reference to the user object. This way unreference on will destroy the user object when the last drm_ref_object goes way.
Diffstat (limited to 'linux-core/drm_bo.c')
-rw-r--r--linux-core/drm_bo.c31
1 files changed, 2 insertions, 29 deletions
diff --git a/linux-core/drm_bo.c b/linux-core/drm_bo.c
index e2f460ed..fb360e7f 100644
--- a/linux-core/drm_bo.c
+++ b/linux-core/drm_bo.c
@@ -1674,8 +1674,8 @@ int drm_buffer_object_create(struct drm_device *dev,
}
EXPORT_SYMBOL(drm_buffer_object_create);
-int drm_bo_add_user_object(struct drm_file *file_priv,
- struct drm_buffer_object *bo, int shareable)
+static int drm_bo_add_user_object(struct drm_file *file_priv,
+ struct drm_buffer_object *bo, int shareable)
{
struct drm_device *dev = file_priv->head->dev;
int ret;
@@ -1694,7 +1694,6 @@ int drm_bo_add_user_object(struct drm_file *file_priv,
mutex_unlock(&dev->struct_mutex);
return ret;
}
-EXPORT_SYMBOL(drm_bo_add_user_object);
static int drm_bo_lock_test(struct drm_device * dev, struct drm_file *file_priv)
{
@@ -1816,32 +1815,6 @@ out:
return ret;
}
-
-int drm_bo_destroy_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv)
-{
- struct drm_bo_handle_arg *arg = data;
- struct drm_user_object *uo;
- int ret = 0;
-
- DRM_DEBUG("drm_bo_destroy_ioctl: buffer %d\n", arg->handle);
-
- if (!dev->bm.initialized) {
- DRM_ERROR("Buffer object manager is not initialized.\n");
- return -EINVAL;
- }
-
- mutex_lock(&dev->struct_mutex);
- uo = drm_lookup_user_object(file_priv, arg->handle);
- if (!uo || (uo->type != drm_buffer_type) || uo->owner != file_priv) {
- mutex_unlock(&dev->struct_mutex);
- return -EINVAL;
- }
- ret = drm_remove_user_object(file_priv, uo);
- mutex_unlock(&dev->struct_mutex);
-
- return ret;
-}
-
int drm_bo_map_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv)
{
struct drm_bo_map_wait_idle_arg *arg = data;