Lines Matching defs:kfd
44 int kfd_iommu_check_device(struct kfd_dev *kfd)
49 if (!kfd->device_info->needs_iommu_device)
53 err = amd_iommu_device_info(kfd->pdev, &iommu_info);
65 int kfd_iommu_device_init(struct kfd_dev *kfd)
71 if (!kfd->device_info->needs_iommu_device)
75 err = amd_iommu_device_info(kfd->pdev, &iommu_info);
93 (unsigned int)(1 << kfd->device_info->max_pasid_bits),
219 static int kfd_bind_processes_to_device(struct kfd_dev *kfd)
230 pdd = kfd_get_process_device_data(kfd, p);
237 err = amd_iommu_bind_pasid(kfd->pdev, p->pasid,
260 static void kfd_unbind_processes_from_device(struct kfd_dev *kfd)
270 pdd = kfd_get_process_device_data(kfd, p);
290 void kfd_iommu_suspend(struct kfd_dev *kfd)
292 if (!kfd->device_info->needs_iommu_device)
295 kfd_unbind_processes_from_device(kfd);
297 amd_iommu_set_invalidate_ctx_cb(kfd->pdev, NULL);
298 amd_iommu_set_invalid_ppr_cb(kfd->pdev, NULL);
299 amd_iommu_free_device(kfd->pdev);
307 int kfd_iommu_resume(struct kfd_dev *kfd)
312 if (!kfd->device_info->needs_iommu_device)
317 err = amd_iommu_init_device(kfd->pdev, pasid_limit);
321 amd_iommu_set_invalidate_ctx_cb(kfd->pdev,
323 amd_iommu_set_invalid_ppr_cb(kfd->pdev,
326 err = kfd_bind_processes_to_device(kfd);
328 amd_iommu_set_invalidate_ctx_cb(kfd->pdev, NULL);
329 amd_iommu_set_invalid_ppr_cb(kfd->pdev, NULL);
330 amd_iommu_free_device(kfd->pdev);