]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
drm/amdgpu: correctly sign extend 48bit addresses v3
[linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_amdkfd.c
index f8bbbb3a95043ebee9d5d02471b83e98fb923a0c..db9872f83d0381be1ac50d1d1feb4d9ccf1e018c 100644 (file)
@@ -36,36 +36,16 @@ int amdgpu_amdkfd_init(void)
 {
        int ret;
 
-#if defined(CONFIG_HSA_AMD_MODULE)
-       int (*kgd2kfd_init_p)(unsigned int, const struct kgd2kfd_calls**);
-
-       kgd2kfd_init_p = symbol_request(kgd2kfd_init);
-
-       if (kgd2kfd_init_p == NULL)
-               return -ENOENT;
-
-       ret = kgd2kfd_init_p(KFD_INTERFACE_VERSION, &kgd2kfd);
-       if (ret) {
-               symbol_put(kgd2kfd_init);
-               kgd2kfd = NULL;
-       }
-
-
-#elif defined(CONFIG_HSA_AMD)
-
+#ifdef CONFIG_HSA_AMD
        ret = kgd2kfd_init(KFD_INTERFACE_VERSION, &kgd2kfd);
        if (ret)
                kgd2kfd = NULL;
-
+       amdgpu_amdkfd_gpuvm_init_mem_limits();
 #else
        kgd2kfd = NULL;
        ret = -ENOENT;
 #endif
 
-#if defined(CONFIG_HSA_AMD_MODULE) || defined(CONFIG_HSA_AMD)
-       amdgpu_amdkfd_gpuvm_init_mem_limits();
-#endif
-
        return ret;
 }
 
@@ -155,7 +135,7 @@ void amdgpu_amdkfd_device_init(struct amdgpu_device *adev)
                        .num_queue_per_pipe = adev->gfx.mec.num_queue_per_pipe,
                        .gpuvm_size = min(adev->vm_manager.max_pfn
                                          << AMDGPU_GPU_PAGE_SHIFT,
-                                         AMDGPU_VA_HOLE_START),
+                                         AMDGPU_GMC_HOLE_START),
                        .drm_render_minor = adev->ddev->render->index
                };
 
@@ -267,7 +247,8 @@ void amdgpu_amdkfd_gpu_reset(struct kgd_dev *kgd)
 {
        struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
 
-       amdgpu_device_gpu_recover(adev, NULL, false);
+       if (amdgpu_device_should_recover_gpu(adev))
+               amdgpu_device_gpu_recover(adev, NULL);
 }
 
 int alloc_gtt_mem(struct kgd_dev *kgd, size_t size,
@@ -506,7 +487,7 @@ bool amdgpu_amdkfd_is_kfd_vmid(struct amdgpu_device *adev, u32 vmid)
        return false;
 }
 
-#if !defined(CONFIG_HSA_AMD_MODULE) && !defined(CONFIG_HSA_AMD)
+#ifndef CONFIG_HSA_AMD
 bool amdkfd_fence_check_mm(struct dma_fence *f, struct mm_struct *mm)
 {
        return false;