示例#1
0
void
drm_gem_release(struct drm_device *dev, struct drm_file *file_priv)
{

	drm_gem_names_foreach(&file_priv->object_names,
	    drm_gem_object_release_handle, NULL);
	drm_gem_names_fini(&file_priv->object_names);
}
示例#2
0
void i915_gem_context_close(struct drm_device *dev, struct drm_file *file)
{
	struct drm_i915_file_private *file_priv = file->driver_priv;

	//DRM_LOCK(dev); /* Called from preclose(), the lock is already owned. */
	drm_gem_names_foreach(&file_priv->context_idr, context_idr_cleanup, NULL);
	drm_gem_names_fini(&file_priv->context_idr);
	//DRM_UNLOCK(dev);
}
示例#3
0
void i915_gem_context_close(struct drm_device *dev, struct drm_file *file)
{
	struct drm_i915_file_private *file_priv = file->driver_priv;

	DRM_LOCK(dev);
	drm_gem_names_foreach(&file_priv->context_idr, context_idr_cleanup, NULL);
	drm_gem_names_fini(&file_priv->context_idr);
	DRM_UNLOCK(dev);
}
示例#4
0
文件: drm_gem.c 项目: coyizumi/cs111
void
drm_gem_destroy(struct drm_device *dev)
{
    struct drm_gem_mm *mm = dev->mm_private;

    dev->mm_private = NULL;
    drm_ht_remove(&mm->offset_hash);
    delete_unrhdr(mm->idxunr);
    free(mm, DRM_MEM_DRIVER);
    drm_gem_names_fini(&dev->object_names);
}