|
@@ -97,9 +97,6 @@ static void amdgpu_ttm_bo_destroy(struct ttm_buffer_object *tbo)
|
|
|
|
|
|
amdgpu_update_memory_usage(bo->adev, &bo->tbo.mem, NULL);
|
|
|
|
|
|
- mutex_lock(&bo->adev->gem.mutex);
|
|
|
- list_del_init(&bo->list);
|
|
|
- mutex_unlock(&bo->adev->gem.mutex);
|
|
|
drm_gem_object_release(&bo->gem_base);
|
|
|
amdgpu_bo_unref(&bo->parent);
|
|
|
kfree(bo->metadata);
|
|
@@ -473,26 +470,6 @@ int amdgpu_bo_evict_vram(struct amdgpu_device *adev)
|
|
|
return ttm_bo_evict_mm(&adev->mman.bdev, TTM_PL_VRAM);
|
|
|
}
|
|
|
|
|
|
-void amdgpu_bo_force_delete(struct amdgpu_device *adev)
|
|
|
-{
|
|
|
- struct amdgpu_bo *bo, *n;
|
|
|
-
|
|
|
- if (list_empty(&adev->gem.objects)) {
|
|
|
- return;
|
|
|
- }
|
|
|
- dev_err(adev->dev, "Userspace still has active objects !\n");
|
|
|
- list_for_each_entry_safe(bo, n, &adev->gem.objects, list) {
|
|
|
- dev_err(adev->dev, "%p %p %lu %lu force free\n",
|
|
|
- &bo->gem_base, bo, (unsigned long)bo->gem_base.size,
|
|
|
- *((unsigned long *)&bo->gem_base.refcount));
|
|
|
- mutex_lock(&bo->adev->gem.mutex);
|
|
|
- list_del_init(&bo->list);
|
|
|
- mutex_unlock(&bo->adev->gem.mutex);
|
|
|
- /* this should unref the ttm bo */
|
|
|
- drm_gem_object_unreference_unlocked(&bo->gem_base);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
int amdgpu_bo_init(struct amdgpu_device *adev)
|
|
|
{
|
|
|
/* Add an MTRR for the VRAM */
|