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); }
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); }
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); }
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); }