HomeSort by: relevance | last modified time | path
    Searched refs:kfd (Results 1 - 24 of 24) sorted by relevancy

  /src/sys/external/bsd/drm2/dist/drm/amd/amdkfd/
kfd_interrupt.c 26 * KFD Interrupts.
57 int kfd_interrupt_init(struct kfd_dev *kfd)
61 r = kfifo_alloc(&kfd->ih_fifo,
62 KFD_IH_NUM_ENTRIES * kfd->device_info->ih_ring_entry_size,
69 kfd->ih_wq = alloc_workqueue("KFD IH", WQ_HIGHPRI, 1);
70 if (unlikely(!kfd->ih_wq)) {
71 kfifo_free(&kfd->ih_fifo);
72 dev_err(kfd_chardev(), "Failed to allocate KFD IH workqueue\n");
75 spin_lock_init(&kfd->interrupt_lock)
    [all...]
kfd_iommu.h 32 int kfd_iommu_check_device(struct kfd_dev *kfd);
33 int kfd_iommu_device_init(struct kfd_dev *kfd);
38 void kfd_iommu_suspend(struct kfd_dev *kfd);
39 int kfd_iommu_resume(struct kfd_dev *kfd);
45 static inline int kfd_iommu_check_device(struct kfd_dev *kfd)
49 static inline int kfd_iommu_device_init(struct kfd_dev *kfd)
64 static inline void kfd_iommu_suspend(struct kfd_dev *kfd)
68 static inline int kfd_iommu_resume(struct kfd_dev *kfd)
kfd_device.c 41 * kfd_locked is used to lock the kfd driver during suspend or reset
42 * once locked, kfd driver will stop any further GPU execution.
490 static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size,
492 static void kfd_gtt_sa_fini(struct kfd_dev *kfd);
494 static int kfd_resume(struct kfd_dev *kfd);
499 struct kfd_dev *kfd; local in function:kgd2kfd_probe
513 dev_err(kfd_device, "%s %s not supported in kfd\n",
518 kfd = kzalloc(sizeof(*kfd), GFP_KERNEL);
519 if (!kfd)
    [all...]
kfd_doorbell.c 50 * Although the mapping is done by KFD, it is equivalent to an mmap of
51 * the /dev/kfd with the particular device encoded in the mmap offset.
52 * There will be other uses for mmap of /dev/kfd, so only a range of
57 size_t kfd_doorbell_process_slice(struct kfd_dev *kfd)
59 return roundup(kfd->device_info->doorbell_size *
65 int kfd_doorbell_init(struct kfd_dev *kfd)
78 roundup(kfd->shared_resources.doorbell_start_offset,
79 kfd_doorbell_process_slice(kfd));
82 rounddown(kfd->shared_resources.doorbell_aperture_size,
83 kfd_doorbell_process_slice(kfd));
    [all...]
kfd_iommu.c 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
    [all...]
kfd_priv.h 56 /* Use upper bits of mmap offset to store KFD driver specific information.
155 * Ignore CRAT table during KFD initialization, can be used to work around
237 * KFD. It is aligned for mapping
241 * doorbell BAR to the first KFD
276 * Interrupts of interest to KFD are copied
478 * @process: The kfd process that created this queue.
480 * @device: The kfd device that created this queue.
590 /* KFD Memory Eviction */
784 /* KFD process API for creating and translating handles */
809 size_t kfd_doorbell_process_slice(struct kfd_dev *kfd);
    [all...]
kfd_mqd_manager.h 55 * @dev: The kfd device structure coupled with this module.
65 * ASIC. Currently the kfd driver supports only Kaveri so there are instances
71 struct kfd_mem_obj* (*allocate_mqd)(struct kfd_dev *kfd,
kfd_mqd_manager_v9.c 89 static struct kfd_mem_obj *allocate_mqd(struct kfd_dev *kfd,
99 if (kfd->cwsr_enabled && (q->type == KFD_QUEUE_TYPE_COMPUTE)) {
103 retval = amdgpu_amdkfd_alloc_gtt_mem(kfd->kgd,
110 retval = kfd_gtt_sa_allocate(kfd, sizeof(struct v9_mqd),
285 struct kfd_dev *kfd = mm->dev; local in function:free_mqd
288 amdgpu_amdkfd_free_gtt_mem(kfd->kgd, mqd_mem_obj->gtt_mem);
kfd_packet_manager_v9.c 87 struct kfd_dev *kfd = pm->dqm->dev; local in function:pm_runlist_v9
92 * of processes in the runlist and kfd module parameter
99 kfd->max_proc_per_quantum);
kfd_packet_manager_vi.c 84 struct kfd_dev *kfd = pm->dqm->dev; local in function:pm_runlist_vi
92 * of processes in the runlist and kfd module parameter
99 kfd->max_proc_per_quantum);
kfd_mqd_manager_cik.c 80 static struct kfd_mem_obj *allocate_mqd(struct kfd_dev *kfd,
85 if (kfd_gtt_sa_allocate(kfd, sizeof(struct cik_mqd),
130 * In KFD we are using a fixed pipe priority set to CS_MEDIUM.
kfd_mqd_manager_v10.c 80 static struct kfd_mem_obj *allocate_mqd(struct kfd_dev *kfd,
85 if (kfd_gtt_sa_allocate(kfd, sizeof(struct v10_compute_mqd),
kfd_mqd_manager_vi.c 83 static struct kfd_mem_obj *allocate_mqd(struct kfd_dev *kfd,
88 if (kfd_gtt_sa_allocate(kfd, sizeof(struct vi_mqd),
kfd_chardev.c 53 static const char kfd_dev_name[] = "kfd";
124 "Process %d (32-bit) failed to open /dev/kfd\n"
1026 * handle is passed to KFD with the first call to this IOCTL
1030 struct kfd_dev *kfd; local in function:kfd_ioctl_create_event
1040 kfd = kfd_device_by_id(GET_GPU_ID(args->event_page_offset));
1041 if (!kfd) {
1047 pdd = kfd_bind_process_to_device(kfd, p);
1063 err = amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(kfd->kgd,
1333 /* MMIO is mapped through kfd device
1334 * Generate a kfd mmap offse
    [all...]
  /src/usr.sbin/mdsetimage/
mdsetimage.c 75 int ch, kfd, fsfd, rv; local in function:main
126 if ((kfd = open(kfile, O_RDONLY, 0)) == -1)
129 if ((kfd = open(kfile, O_RDWR, 0)) == -1)
133 if (fstat(kfd, &ksb) == -1)
139 MAP_FILE | MAP_PRIVATE, kfd, 0)) == (caddr_t)-1)
144 bin = bin_open(kfd, kfile, bfdname);
181 if (lseek(kfd, md_root_image_offset, SEEK_SET) !=
192 rfd = kfd;
199 wfd = kfd;
226 if (lseek(kfd, md_root_size_offset, SEEK_SET) !
    [all...]
bin_nlist.c 45 int kfd; member in struct:bininfo
74 bin_open(int kfd, const char *kfile, const char *bfdname)
82 bin->kfd = kfd;
122 if (__fdnlist(bin->kfd, nl) != 0)
  /src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/
amdgpu_amdkfd.c 73 adev->kfd.dev = kgd2kfd_probe((struct kgd_dev *)adev,
76 if (adev->kfd.dev)
118 if (adev->kfd.dev) {
167 kgd2kfd_device_init(adev->kfd.dev, adev->ddev, &gpu_resources);
173 if (adev->kfd.dev) {
174 kgd2kfd_device_exit(adev->kfd.dev);
175 adev->kfd.dev = NULL;
182 if (adev->kfd.dev)
183 kgd2kfd_interrupt(adev->kfd.dev, ih_ring_entry);
188 if (adev->kfd.dev
    [all...]
amdgpu_amdkfd.h 72 /* KFD Memory Eviction */
103 /* List head of all VMs that belong to a KFD process */
105 /* List head for all KFD BOs that belong to a KFD process. */
250 bool kgd2kfd_device_init(struct kfd_dev *kfd,
253 void kgd2kfd_device_exit(struct kfd_dev *kfd);
254 void kgd2kfd_suspend(struct kfd_dev *kfd);
255 int kgd2kfd_resume(struct kfd_dev *kfd);
256 int kgd2kfd_pre_reset(struct kfd_dev *kfd);
257 int kgd2kfd_post_reset(struct kfd_dev *kfd);
    [all...]
amdgpu_sdma.c 167 kgd2kfd_set_sram_ecc_flag(adev->kfd.dev);
amdgpu_umc.c 103 kgd2kfd_set_sram_ecc_flag(adev->kfd.dev);
amdgpu_amdkfd_gpuvm.c 38 /* BO flag to indicate a KFD userptr BO */
46 /* Impose limit on how much memory KFD can use */
159 (adev->kfd.vram_used + vram_needed >
165 adev->kfd.vram_used += vram_needed;
191 adev->kfd.vram_used -= size;
192 WARN_ONCE(adev->kfd.vram_used < 0,
193 "kfd VRAM memory accounting unbalanced");
197 "kfd system memory accounting unbalanced");
199 "kfd TTM memory accounting unbalanced");
581 struct amdgpu_bo_list_entry kfd_bo; /* BO list entry for the KFD BO *
    [all...]
amdgpu_gfx.c 641 kgd2kfd_set_sram_ecc_flag(adev->kfd.dev);
amdgpu.h 927 /* KFD */
928 struct amdgpu_kfd_dev kfd; member in struct:amdgpu_device
  /src/usr.bin/config/
main.c 1824 int found, kfd; local in function:extract_config
1831 kfd = open(conffile, O_RDONLY);
1832 if (kfd == -1)
1834 if (fstat(kfd, &st) == -1)
1837 kfd, 0);
1871 (void)close(kfd);

Completed in 56 milliseconds