Merge tag 'amd-drm-next-5.10-2020-09-03' of git://people.freedesktop.org/~agd5f/linux...
[linux-2.6-microblaze.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_amdkfd_gpuvm.c
index a58af51..b6b8215 100644 (file)
@@ -148,8 +148,12 @@ static int amdgpu_amdkfd_reserve_mem_limit(struct amdgpu_device *adev,
 
        spin_lock(&kfd_mem_limit.mem_limit_lock);
 
+       if (kfd_mem_limit.system_mem_used + system_mem_needed >
+           kfd_mem_limit.max_system_mem_limit)
+               pr_debug("Set no_system_mem_limit=1 if using shared memory\n");
+
        if ((kfd_mem_limit.system_mem_used + system_mem_needed >
-            kfd_mem_limit.max_system_mem_limit) ||
+            kfd_mem_limit.max_system_mem_limit && !no_system_mem_limit) ||
            (kfd_mem_limit.ttm_mem_used + ttm_mem_needed >
             kfd_mem_limit.max_ttm_mem_limit) ||
            (adev->kfd.vram_used + vram_needed >
@@ -562,7 +566,7 @@ static int init_user_pages(struct kgd_mem *mem, uint64_t user_addr)
 
        mutex_lock(&process_info->lock);
 
-       ret = amdgpu_ttm_tt_set_userptr(bo->tbo.ttm, user_addr, 0);
+       ret = amdgpu_ttm_tt_set_userptr(&bo->tbo, user_addr, 0);
        if (ret) {
                pr_err("%s: Failed to set userptr: %d\n", __func__, ret);
                goto out;
@@ -1668,7 +1672,7 @@ int amdgpu_amdkfd_gpuvm_import_dmabuf(struct kgd_dev *kgd,
                return -EINVAL;
 
        obj = dma_buf->priv;
-       if (obj->dev->dev_private != adev)
+       if (drm_to_adev(obj->dev) != adev)
                /* Can't handle buffers from other devices */
                return -EINVAL;