]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
Merge tag 'amd-drm-next-5.10-2020-09-03' of git://people.freedesktop.org/~agd5f/linux...
[mirror_ubuntu-jammy-kernel.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_object.c
index 5ac7b55614750c6a469565ab442cad6454d2ac10..887a4da5eefc6175ef72059ce729478871374f2d 100644 (file)
@@ -374,6 +374,9 @@ int amdgpu_bo_create_kernel_at(struct amdgpu_device *adev,
        if (r)
                return r;
 
+       if ((*bo_ptr) == NULL)
+               return 0;
+
        /*
         * Remove the original mem node and create a new one at the request
         * position.
@@ -381,7 +384,7 @@ int amdgpu_bo_create_kernel_at(struct amdgpu_device *adev,
        if (cpu_addr)
                amdgpu_bo_kunmap(*bo_ptr);
 
-       ttm_bo_mem_put(&(*bo_ptr)->tbo, &(*bo_ptr)->tbo.mem);
+       ttm_resource_free(&(*bo_ptr)->tbo, &(*bo_ptr)->tbo.mem);
 
        for (i = 0; i < (*bo_ptr)->placement.num_placement; ++i) {
                (*bo_ptr)->placements[i].fpfn = offset >> PAGE_SHIFT;
@@ -442,14 +445,14 @@ void amdgpu_bo_free_kernel(struct amdgpu_bo **bo, u64 *gpu_addr,
 static bool amdgpu_bo_validate_size(struct amdgpu_device *adev,
                                          unsigned long size, u32 domain)
 {
-       struct ttm_mem_type_manager *man = NULL;
+       struct ttm_resource_manager *man = NULL;
 
        /*
         * If GTT is part of requested domains the check must succeed to
         * allow fall back to GTT
         */
        if (domain & AMDGPU_GEM_DOMAIN_GTT) {
-               man = &adev->mman.bdev.man[TTM_PL_TT];
+               man = ttm_manager_type(&adev->mman.bdev, TTM_PL_TT);
 
                if (size < (man->size << PAGE_SHIFT))
                        return true;
@@ -458,7 +461,7 @@ static bool amdgpu_bo_validate_size(struct amdgpu_device *adev,
        }
 
        if (domain & AMDGPU_GEM_DOMAIN_VRAM) {
-               man = &adev->mman.bdev.man[TTM_PL_VRAM];
+               man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM);
 
                if (size < (man->size << PAGE_SHIFT))
                        return true;
@@ -552,7 +555,7 @@ static int amdgpu_bo_do_create(struct amdgpu_device *adev,
        bo = kzalloc(sizeof(struct amdgpu_bo), GFP_KERNEL);
        if (bo == NULL)
                return -ENOMEM;
-       drm_gem_private_object_init(adev->ddev, &bo->tbo.base, size);
+       drm_gem_private_object_init(adev_to_drm(adev), &bo->tbo.base, size);
        INIT_LIST_HEAD(&bo->shadow_list);
        bo->vm_bo = NULL;
        bo->preferred_domains = bp->preferred_domain ? bp->preferred_domain :
@@ -1268,11 +1271,11 @@ int amdgpu_bo_get_metadata(struct amdgpu_bo *bo, void *buffer,
  */
 void amdgpu_bo_move_notify(struct ttm_buffer_object *bo,
                           bool evict,
-                          struct ttm_mem_reg *new_mem)
+                          struct ttm_resource *new_mem)
 {
        struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev);
        struct amdgpu_bo *abo;
-       struct ttm_mem_reg *old_mem = &bo->mem;
+       struct ttm_resource *old_mem = &bo->mem;
 
        if (!amdgpu_bo_is_amdgpu_bo(bo))
                return;
@@ -1299,7 +1302,7 @@ void amdgpu_bo_move_notify(struct ttm_buffer_object *bo,
 }
 
 /**
- * amdgpu_bo_move_notify - notification about a BO being released
+ * amdgpu_bo_release_notify - notification about a BO being released
  * @bo: pointer to a buffer object
  *
  * Wipes VRAM buffers whose contents should not be leaked before the