/Linux-v4.19/drivers/gpu/drm/amd/amdkfd/ |
D | kfd_device.c | 333 static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size, 335 static void kfd_gtt_sa_fini(struct kfd_dev *kfd); 337 static int kfd_resume(struct kfd_dev *kfd); 359 struct kfd_dev *kfd; in kgd2kfd_probe() local 383 kfd = kzalloc(sizeof(*kfd), GFP_KERNEL); in kgd2kfd_probe() 384 if (!kfd) in kgd2kfd_probe() 387 kfd->kgd = kgd; in kgd2kfd_probe() 388 kfd->device_info = device_info; in kgd2kfd_probe() 389 kfd->pdev = pdev; in kgd2kfd_probe() 390 kfd->init_complete = false; in kgd2kfd_probe() [all …]
|
D | kfd_doorbell.c | 52 size_t kfd_doorbell_process_slice(struct kfd_dev *kfd) in kfd_doorbell_process_slice() argument 54 return roundup(kfd->device_info->doorbell_size * in kfd_doorbell_process_slice() 60 int kfd_doorbell_init(struct kfd_dev *kfd) in kfd_doorbell_init() argument 73 roundup(kfd->shared_resources.doorbell_start_offset, in kfd_doorbell_init() 74 kfd_doorbell_process_slice(kfd)); in kfd_doorbell_init() 77 rounddown(kfd->shared_resources.doorbell_aperture_size, in kfd_doorbell_init() 78 kfd_doorbell_process_slice(kfd)); in kfd_doorbell_init() 83 kfd_doorbell_process_slice(kfd); in kfd_doorbell_init() 91 kfd->doorbell_base = kfd->shared_resources.doorbell_physical_address + in kfd_doorbell_init() 94 kfd->doorbell_id_offset = doorbell_start_offset / sizeof(u32); in kfd_doorbell_init() [all …]
|
D | kfd_interrupt.c | 52 int kfd_interrupt_init(struct kfd_dev *kfd) in kfd_interrupt_init() argument 56 r = kfifo_alloc(&kfd->ih_fifo, in kfd_interrupt_init() 57 KFD_IH_NUM_ENTRIES * kfd->device_info->ih_ring_entry_size, in kfd_interrupt_init() 64 kfd->ih_wq = alloc_workqueue("KFD IH", WQ_HIGHPRI, 1); in kfd_interrupt_init() 65 spin_lock_init(&kfd->interrupt_lock); in kfd_interrupt_init() 67 INIT_WORK(&kfd->interrupt_work, interrupt_wq); in kfd_interrupt_init() 69 kfd->interrupts_active = true; in kfd_interrupt_init() 81 void kfd_interrupt_exit(struct kfd_dev *kfd) in kfd_interrupt_exit() argument 90 spin_lock_irqsave(&kfd->interrupt_lock, flags); in kfd_interrupt_exit() 91 kfd->interrupts_active = false; in kfd_interrupt_exit() [all …]
|
D | kfd_iommu.c | 39 int kfd_iommu_check_device(struct kfd_dev *kfd) in kfd_iommu_check_device() argument 44 if (!kfd->device_info->needs_iommu_device) in kfd_iommu_check_device() 48 err = amd_iommu_device_info(kfd->pdev, &iommu_info); in kfd_iommu_check_device() 60 int kfd_iommu_device_init(struct kfd_dev *kfd) in kfd_iommu_device_init() argument 67 top_dev = kfd_topology_device_by_id(kfd->id); in kfd_iommu_device_init() 73 if (!kfd->device_info->needs_iommu_device) { in kfd_iommu_device_init() 81 err = amd_iommu_device_info(kfd->pdev, &iommu_info); in kfd_iommu_device_init() 99 (unsigned int)(1 << kfd->device_info->max_pasid_bits), in kfd_iommu_device_init() 225 static int kfd_bind_processes_to_device(struct kfd_dev *kfd) in kfd_bind_processes_to_device() argument 236 pdd = kfd_get_process_device_data(kfd, p); in kfd_bind_processes_to_device() [all …]
|
D | kfd_iommu.h | 30 int kfd_iommu_check_device(struct kfd_dev *kfd); 31 int kfd_iommu_device_init(struct kfd_dev *kfd); 36 void kfd_iommu_suspend(struct kfd_dev *kfd); 37 int kfd_iommu_resume(struct kfd_dev *kfd); 43 static inline int kfd_iommu_check_device(struct kfd_dev *kfd) in kfd_iommu_check_device() argument 47 static inline int kfd_iommu_device_init(struct kfd_dev *kfd) in kfd_iommu_device_init() argument 62 static inline void kfd_iommu_suspend(struct kfd_dev *kfd) in kfd_iommu_suspend() argument 66 static inline int kfd_iommu_resume(struct kfd_dev *kfd) in kfd_iommu_resume() argument
|
D | kfd_priv.h | 291 bool kgd2kfd_device_init(struct kfd_dev *kfd, 293 void kgd2kfd_device_exit(struct kfd_dev *kfd); 774 size_t kfd_doorbell_process_slice(struct kfd_dev *kfd); 775 int kfd_doorbell_init(struct kfd_dev *kfd); 776 void kfd_doorbell_fini(struct kfd_dev *kfd); 779 void __iomem *kfd_get_kernel_doorbell(struct kfd_dev *kfd, 781 void kfd_release_kernel_doorbell(struct kfd_dev *kfd, u32 __iomem *db_addr); 785 unsigned int kfd_doorbell_id_to_offset(struct kfd_dev *kfd, 795 int kfd_gtt_sa_allocate(struct kfd_dev *kfd, unsigned int size, 798 int kfd_gtt_sa_free(struct kfd_dev *kfd, struct kfd_mem_obj *mem_obj); [all …]
|
D | kfd_mqd_manager_v9.c | 76 struct kfd_dev *kfd = mm->dev; in init_mqd() local 82 if (kfd->cwsr_enabled && (q->type == KFD_QUEUE_TYPE_COMPUTE)) { in init_mqd() 86 retval = kfd->kfd2kgd->init_gtt_mem_allocation(kfd->kgd, in init_mqd() 250 struct kfd_dev *kfd = mm->dev; in uninit_mqd() local 253 kfd->kfd2kgd->free_gtt_mem(kfd->kgd, mqd_mem_obj->gtt_mem); in uninit_mqd()
|
D | kfd_kernel_queue_v9.c | 115 struct kfd_dev *kfd = pm->dqm->dev; in pm_runlist_v9() local 127 kfd->max_proc_per_quantum); in pm_runlist_v9()
|
D | kfd_kernel_queue_vi.c | 120 struct kfd_dev *kfd = pm->dqm->dev; in pm_runlist_vi() local 135 kfd->max_proc_per_quantum); in pm_runlist_vi()
|
D | kfd_chardev.c | 994 struct kfd_dev *kfd; in kfd_ioctl_create_event() local 1004 kfd = kfd_device_by_id(GET_GPU_ID(args->event_page_offset)); in kfd_ioctl_create_event() 1005 if (!kfd) { in kfd_ioctl_create_event() 1011 pdd = kfd_bind_process_to_device(kfd, p); in kfd_ioctl_create_event() 1027 err = kfd->kfd2kgd->map_gtt_bo_to_kernel(kfd->kgd, in kfd_ioctl_create_event()
|
/Linux-v4.19/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_amdkfd.c | 110 adev->kfd = kgd2kfd->probe((struct kgd_dev *)adev, in amdgpu_amdkfd_device_probe() 151 if (adev->kfd) { in amdgpu_amdkfd_device_init() 211 kgd2kfd->device_init(adev->kfd, &gpu_resources); in amdgpu_amdkfd_device_init() 217 if (adev->kfd) { in amdgpu_amdkfd_device_fini() 218 kgd2kfd->device_exit(adev->kfd); in amdgpu_amdkfd_device_fini() 219 adev->kfd = NULL; in amdgpu_amdkfd_device_fini() 226 if (adev->kfd) in amdgpu_amdkfd_interrupt() 227 kgd2kfd->interrupt(adev->kfd, ih_ring_entry); in amdgpu_amdkfd_interrupt() 232 if (adev->kfd) in amdgpu_amdkfd_suspend() 233 kgd2kfd->suspend(adev->kfd); in amdgpu_amdkfd_suspend() [all …]
|
D | amdgpu.h | 1521 struct kfd_dev *kfd; member
|
/Linux-v4.19/samples/bpf/ |
D | task_fd_query_user.c | 222 int err, res, kfd, efd; in test_debug_fs_uprobe() local 227 kfd = open(buf, O_WRONLY | O_APPEND, 0); in test_debug_fs_uprobe() 228 CHECK_PERROR_RET(kfd < 0); in test_debug_fs_uprobe() 237 CHECK_PERROR_RET(write(kfd, buf, strlen(buf)) < 0); in test_debug_fs_uprobe() 239 close(kfd); in test_debug_fs_uprobe() 240 kfd = -1; in test_debug_fs_uprobe() 256 kfd = sys_perf_event_open(&attr, -1, 0, -1, PERF_FLAG_FD_CLOEXEC); in test_debug_fs_uprobe() 257 CHECK_PERROR_RET(kfd < 0); in test_debug_fs_uprobe() 258 CHECK_PERROR_RET(ioctl(kfd, PERF_EVENT_IOC_SET_BPF, prog_fd[0]) < 0); in test_debug_fs_uprobe() 259 CHECK_PERROR_RET(ioctl(kfd, PERF_EVENT_IOC_ENABLE, 0) < 0); in test_debug_fs_uprobe() [all …]
|
/Linux-v4.19/drivers/gpu/drm/amd/include/ |
D | kgd_kfd_interface.h | 448 bool (*device_init)(struct kfd_dev *kfd, 450 void (*device_exit)(struct kfd_dev *kfd); 451 void (*interrupt)(struct kfd_dev *kfd, const void *ih_ring_entry); 452 void (*suspend)(struct kfd_dev *kfd); 453 int (*resume)(struct kfd_dev *kfd); 458 int (*pre_reset)(struct kfd_dev *kfd); 459 int (*post_reset)(struct kfd_dev *kfd);
|
/Linux-v4.19/tools/perf/ |
D | builtin-probe.c | 431 int ret, ret2, ufd = -1, kfd = -1; in perf_del_probe_events() local 445 ret = probe_file__open_both(&kfd, &ufd, PF_FL_RW); in perf_del_probe_events() 456 ret = probe_file__get_events(kfd, filter, klist); in perf_del_probe_events() 461 ret = probe_file__del_strlist(kfd, klist); in perf_del_probe_events() 482 if (kfd >= 0) in perf_del_probe_events() 483 close(kfd); in perf_del_probe_events()
|
/Linux-v4.19/tools/perf/util/ |
D | probe-file.c | 125 int probe_file__open_both(int *kfd, int *ufd, int flag) in probe_file__open_both() argument 127 if (!kfd || !ufd) in probe_file__open_both() 130 *kfd = open_kprobe_events(flag & PF_FL_RW); in probe_file__open_both() 132 if (*kfd < 0 && *ufd < 0) { in probe_file__open_both() 133 print_both_open_warning(*kfd, *ufd); in probe_file__open_both() 134 return *kfd; in probe_file__open_both()
|
D | probe-file.h | 42 int probe_file__open_both(int *kfd, int *ufd, int flag);
|
D | probe-event.c | 3431 int ret, ret2, ufd = -1, kfd = -1; in del_perf_probe_events() local 3438 ret = probe_file__open_both(&kfd, &ufd, PF_FL_RW); in del_perf_probe_events() 3442 ret = probe_file__del_events(kfd, filter); in del_perf_probe_events() 3454 if (kfd >= 0) in del_perf_probe_events() 3455 close(kfd); in del_perf_probe_events()
|