Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 196464
b: refs/heads/master
c: fd632aa
h: refs/heads/master
v: v3
  • Loading branch information
Daniel Vetter authored and Dave Airlie committed Apr 20, 2010
1 parent 738a7aa commit 4b47c3f
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1d397043bcc2c8cdccb584a8ef73131f28f18e4c
refs/heads/master: fd632aa34c8592fb1d37fc83cbffa827bc7dd42c
10 changes: 3 additions & 7 deletions trunk/drivers/gpu/drm/drm_gem.c
Original file line number Diff line number Diff line change
Expand Up @@ -422,15 +422,15 @@ drm_gem_release(struct drm_device *dev, struct drm_file *file_private)
idr_destroy(&file_private->object_idr);
}

static void
drm_gem_object_free_common(struct drm_gem_object *obj)
void
drm_gem_object_release(struct drm_gem_object *obj)
{
struct drm_device *dev = obj->dev;
fput(obj->filp);
atomic_dec(&dev->object_count);
atomic_sub(obj->size, &dev->object_memory);
kfree(obj);
}
EXPORT_SYMBOL(drm_gem_object_release);

/**
* Called after the last reference to the object has been lost.
Expand All @@ -448,8 +448,6 @@ drm_gem_object_free(struct kref *kref)

if (dev->driver->gem_free_object != NULL)
dev->driver->gem_free_object(obj);

drm_gem_object_free_common(obj);
}
EXPORT_SYMBOL(drm_gem_object_free);

Expand All @@ -472,8 +470,6 @@ drm_gem_object_free_unlocked(struct kref *kref)
dev->driver->gem_free_object(obj);
mutex_unlock(&dev->struct_mutex);
}

drm_gem_object_free_common(obj);
}
EXPORT_SYMBOL(drm_gem_object_free_unlocked);

Expand Down
3 changes: 3 additions & 0 deletions trunk/drivers/gpu/drm/i915/i915_gem.c
Original file line number Diff line number Diff line change
Expand Up @@ -4474,6 +4474,9 @@ void i915_gem_free_object(struct drm_gem_object *obj)
kfree(obj_priv->page_cpu_valid);
kfree(obj_priv->bit_17);
kfree(obj->driver_private);

drm_gem_object_release(obj);
kfree(obj);
}

/** Unbinds all inactive objects. */
Expand Down
3 changes: 3 additions & 0 deletions trunk/drivers/gpu/drm/nouveau/nouveau_gem.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ nouveau_gem_object_del(struct drm_gem_object *gem)
}

ttm_bo_unref(&bo);

drm_gem_object_release(gem);
kfree(gem);
}

int
Expand Down
3 changes: 3 additions & 0 deletions trunk/drivers/gpu/drm/radeon/radeon_gem.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ void radeon_gem_object_free(struct drm_gem_object *gobj)
if (robj) {
radeon_bo_unref(&robj);
}

drm_gem_object_release(gobj);
kfree(gobj);
}

int radeon_gem_object_create(struct radeon_device *rdev, int size,
Expand Down
1 change: 1 addition & 0 deletions trunk/include/drm/drmP.h
Original file line number Diff line number Diff line change
Expand Up @@ -1428,6 +1428,7 @@ extern void drm_sysfs_connector_remove(struct drm_connector *connector);
/* Graphics Execution Manager library functions (drm_gem.c) */
int drm_gem_init(struct drm_device *dev);
void drm_gem_destroy(struct drm_device *dev);
void drm_gem_object_release(struct drm_gem_object *obj);
void drm_gem_object_free(struct kref *kref);
void drm_gem_object_free_unlocked(struct kref *kref);
struct drm_gem_object *drm_gem_object_alloc(struct drm_device *dev,
Expand Down

0 comments on commit 4b47c3f

Please sign in to comment.