Home
last modified time | relevance | path

Searched refs:kgd (Results 1 – 25 of 26) sorted by relevance

12

/Linux-v5.4/drivers/gpu/drm/amd/amdgpu/
Damdgpu_amdkfd_gfx_v7.c93 static void kgd_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid,
97 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid,
100 static int kgd_init_interrupts(struct kgd_dev *kgd, uint32_t pipe_id);
101 static int kgd_hqd_load(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
105 static int kgd_hqd_dump(struct kgd_dev *kgd,
108 static int kgd_hqd_sdma_load(struct kgd_dev *kgd, void *mqd,
110 static int kgd_hqd_sdma_dump(struct kgd_dev *kgd,
113 static bool kgd_hqd_is_occupied(struct kgd_dev *kgd, uint64_t queue_address,
116 static int kgd_hqd_destroy(struct kgd_dev *kgd, void *mqd,
120 static bool kgd_hqd_sdma_is_occupied(struct kgd_dev *kgd, void *mqd);
[all …]
Damdgpu_amdkfd_gfx_v8.c51 static void kgd_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid,
55 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid,
57 static int kgd_init_interrupts(struct kgd_dev *kgd, uint32_t pipe_id);
58 static int kgd_hqd_load(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
62 static int kgd_hqd_dump(struct kgd_dev *kgd,
65 static int kgd_hqd_sdma_load(struct kgd_dev *kgd, void *mqd,
67 static int kgd_hqd_sdma_dump(struct kgd_dev *kgd,
70 static bool kgd_hqd_is_occupied(struct kgd_dev *kgd, uint64_t queue_address,
72 static bool kgd_hqd_sdma_is_occupied(struct kgd_dev *kgd, void *mqd);
73 static int kgd_hqd_destroy(struct kgd_dev *kgd, void *mqd,
[all …]
Damdgpu_amdkfd_gfx_v9.h25 void kgd_gfx_v9_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid,
29 int kgd_gfx_v9_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid,
31 int kgd_gfx_v9_init_interrupts(struct kgd_dev *kgd, uint32_t pipe_id);
32 int kgd_gfx_v9_hqd_load(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
36 int kgd_gfx_v9_hqd_dump(struct kgd_dev *kgd,
39 bool kgd_gfx_v9_hqd_is_occupied(struct kgd_dev *kgd, uint64_t queue_address,
41 int kgd_gfx_v9_hqd_destroy(struct kgd_dev *kgd, void *mqd,
45 int kgd_gfx_v9_address_watch_disable(struct kgd_dev *kgd);
46 int kgd_gfx_v9_address_watch_execute(struct kgd_dev *kgd,
51 int kgd_gfx_v9_wave_control_execute(struct kgd_dev *kgd,
[all …]
Damdgpu_amdkfd_gfx_v10.c57 static void kgd_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid,
61 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid,
63 static int kgd_init_interrupts(struct kgd_dev *kgd, uint32_t pipe_id);
64 static int kgd_hqd_load(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
68 static int kgd_hqd_dump(struct kgd_dev *kgd,
71 static int kgd_hqd_sdma_load(struct kgd_dev *kgd, void *mqd,
73 static int kgd_hqd_sdma_dump(struct kgd_dev *kgd,
76 static bool kgd_hqd_is_occupied(struct kgd_dev *kgd, uint64_t queue_address,
78 static bool kgd_hqd_sdma_is_occupied(struct kgd_dev *kgd, void *mqd);
79 static int kgd_hqd_destroy(struct kgd_dev *kgd, void *mqd,
[all …]
Damdgpu_amdkfd.h134 int amdgpu_amdkfd_submit_ib(struct kgd_dev *kgd, enum kgd_engine_type engine,
137 void amdgpu_amdkfd_set_compute_idle(struct kgd_dev *kgd, bool idle);
138 bool amdgpu_amdkfd_have_atomics_support(struct kgd_dev *kgd);
152 void amdgpu_amdkfd_gpu_reset(struct kgd_dev *kgd);
155 int amdgpu_amdkfd_alloc_gtt_mem(struct kgd_dev *kgd, size_t size,
158 void amdgpu_amdkfd_free_gtt_mem(struct kgd_dev *kgd, void *mem_obj);
159 int amdgpu_amdkfd_alloc_gws(struct kgd_dev *kgd, size_t size, void **mem_obj);
160 void amdgpu_amdkfd_free_gws(struct kgd_dev *kgd, void *mem_obj);
163 uint32_t amdgpu_amdkfd_get_fw_version(struct kgd_dev *kgd,
165 void amdgpu_amdkfd_get_local_mem_info(struct kgd_dev *kgd,
[all …]
Damdgpu_amdkfd_gfx_v9.c66 int kgd_gfx_v9_get_tile_config(struct kgd_dev *kgd, in kgd_gfx_v9_get_tile_config() argument
69 struct amdgpu_device *adev = (struct amdgpu_device *)kgd; in kgd_gfx_v9_get_tile_config()
84 static inline struct amdgpu_device *get_amdgpu_device(struct kgd_dev *kgd) in get_amdgpu_device() argument
86 return (struct amdgpu_device *)kgd; in get_amdgpu_device()
89 static void lock_srbm(struct kgd_dev *kgd, uint32_t mec, uint32_t pipe, in lock_srbm() argument
92 struct amdgpu_device *adev = get_amdgpu_device(kgd); in lock_srbm()
98 static void unlock_srbm(struct kgd_dev *kgd) in unlock_srbm() argument
100 struct amdgpu_device *adev = get_amdgpu_device(kgd); in unlock_srbm()
106 static void acquire_queue(struct kgd_dev *kgd, uint32_t pipe_id, in acquire_queue() argument
109 struct amdgpu_device *adev = get_amdgpu_device(kgd); in acquire_queue()
[all …]
Damdgpu_amdkfd.c260 void amdgpu_amdkfd_gpu_reset(struct kgd_dev *kgd) in amdgpu_amdkfd_gpu_reset() argument
262 struct amdgpu_device *adev = (struct amdgpu_device *)kgd; in amdgpu_amdkfd_gpu_reset()
268 int amdgpu_amdkfd_alloc_gtt_mem(struct kgd_dev *kgd, size_t size, in amdgpu_amdkfd_alloc_gtt_mem() argument
272 struct amdgpu_device *adev = (struct amdgpu_device *)kgd; in amdgpu_amdkfd_alloc_gtt_mem()
340 void amdgpu_amdkfd_free_gtt_mem(struct kgd_dev *kgd, void *mem_obj) in amdgpu_amdkfd_free_gtt_mem() argument
351 int amdgpu_amdkfd_alloc_gws(struct kgd_dev *kgd, size_t size, in amdgpu_amdkfd_alloc_gws() argument
354 struct amdgpu_device *adev = (struct amdgpu_device *)kgd; in amdgpu_amdkfd_alloc_gws()
378 void amdgpu_amdkfd_free_gws(struct kgd_dev *kgd, void *mem_obj) in amdgpu_amdkfd_free_gws() argument
385 uint32_t amdgpu_amdkfd_get_fw_version(struct kgd_dev *kgd, in amdgpu_amdkfd_get_fw_version() argument
388 struct amdgpu_device *adev = (struct amdgpu_device *)kgd; in amdgpu_amdkfd_get_fw_version()
[all …]
Damdgpu_amdkfd_arcturus.c62 static inline struct amdgpu_device *get_amdgpu_device(struct kgd_dev *kgd) in get_amdgpu_device() argument
64 return (struct amdgpu_device *)kgd; in get_amdgpu_device()
130 static int kgd_hqd_sdma_load(struct kgd_dev *kgd, void *mqd, in kgd_hqd_sdma_load() argument
133 struct amdgpu_device *adev = get_amdgpu_device(kgd); in kgd_hqd_sdma_load()
203 static int kgd_hqd_sdma_dump(struct kgd_dev *kgd, in kgd_hqd_sdma_dump() argument
207 struct amdgpu_device *adev = get_amdgpu_device(kgd); in kgd_hqd_sdma_dump()
234 static bool kgd_hqd_sdma_is_occupied(struct kgd_dev *kgd, void *mqd) in kgd_hqd_sdma_is_occupied() argument
236 struct amdgpu_device *adev = get_amdgpu_device(kgd); in kgd_hqd_sdma_is_occupied()
253 static int kgd_hqd_sdma_destroy(struct kgd_dev *kgd, void *mqd, in kgd_hqd_sdma_destroy() argument
256 struct amdgpu_device *adev = get_amdgpu_device(kgd); in kgd_hqd_sdma_destroy()
Damdgpu_amdkfd_gpuvm.c78 static inline struct amdgpu_device *get_amdgpu_device(struct kgd_dev *kgd) in get_amdgpu_device() argument
80 return (struct amdgpu_device *)kgd; in get_amdgpu_device()
926 int amdgpu_amdkfd_gpuvm_create_process_vm(struct kgd_dev *kgd, unsigned int pasid, in amdgpu_amdkfd_gpuvm_create_process_vm() argument
930 struct amdgpu_device *adev = get_amdgpu_device(kgd); in amdgpu_amdkfd_gpuvm_create_process_vm()
961 int amdgpu_amdkfd_gpuvm_acquire_process_vm(struct kgd_dev *kgd, in amdgpu_amdkfd_gpuvm_acquire_process_vm() argument
966 struct amdgpu_device *adev = get_amdgpu_device(kgd); in amdgpu_amdkfd_gpuvm_acquire_process_vm()
1025 void amdgpu_amdkfd_gpuvm_destroy_process_vm(struct kgd_dev *kgd, void *vm) in amdgpu_amdkfd_gpuvm_destroy_process_vm() argument
1027 struct amdgpu_device *adev = get_amdgpu_device(kgd); in amdgpu_amdkfd_gpuvm_destroy_process_vm()
1030 if (WARN_ON(!kgd || !vm)) in amdgpu_amdkfd_gpuvm_destroy_process_vm()
1040 void amdgpu_amdkfd_gpuvm_release_process_vm(struct kgd_dev *kgd, void *vm) in amdgpu_amdkfd_gpuvm_release_process_vm() argument
[all …]
/Linux-v5.4/drivers/gpu/drm/amd/include/
Dkgd_kfd_interface.h245 void (*program_sh_mem_settings)(struct kgd_dev *kgd, uint32_t vmid,
249 int (*set_pasid_vmid_mapping)(struct kgd_dev *kgd, unsigned int pasid,
252 int (*init_interrupts)(struct kgd_dev *kgd, uint32_t pipe_id);
254 int (*hqd_load)(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
259 int (*hqd_sdma_load)(struct kgd_dev *kgd, void *mqd,
262 int (*hqd_dump)(struct kgd_dev *kgd,
266 int (*hqd_sdma_dump)(struct kgd_dev *kgd,
270 bool (*hqd_is_occupied)(struct kgd_dev *kgd, uint64_t queue_address,
273 int (*hqd_destroy)(struct kgd_dev *kgd, void *mqd, uint32_t reset_type,
277 bool (*hqd_sdma_is_occupied)(struct kgd_dev *kgd, void *mqd);
[all …]
/Linux-v5.4/drivers/gpu/drm/amd/amdkfd/
Dkfd_device.c524 struct kfd_dev *kgd2kfd_probe(struct kgd_dev *kgd, in kgd2kfd_probe() argument
544 kfd->pci_atomic_requested = amdgpu_amdkfd_have_atomics_support(kgd); in kgd2kfd_probe()
554 kfd->kgd = kgd; in kgd2kfd_probe()
600 kfd->mec_fw_version = amdgpu_amdkfd_get_fw_version(kfd->kgd, in kgd2kfd_device_init()
602 kfd->sdma_fw_version = amdgpu_amdkfd_get_fw_version(kfd->kgd, in kgd2kfd_device_init()
623 if (hws_gws_support && amdgpu_amdkfd_alloc_gws(kfd->kgd, in kgd2kfd_device_init()
624 amdgpu_amdkfd_get_num_gws(kfd->kgd), &kfd->gws)) { in kgd2kfd_device_init()
626 amdgpu_amdkfd_get_num_gws(kfd->kgd)); in kgd2kfd_device_init()
648 kfd->kgd, size, &kfd->gtt_mem, in kgd2kfd_device_init()
670 kfd->hive_id = kfd->kfd2kgd->get_hive_id(kfd->kgd); in kgd2kfd_device_init()
[all …]
Dkfd_process.c166 amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu(dev->kgd, mem, pdd->vm); in kfd_process_free_gpuvm()
167 amdgpu_amdkfd_gpuvm_free_memory_of_gpu(dev->kgd, mem); in kfd_process_free_gpuvm()
185 err = amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(kdev->kgd, gpu_va, size, in kfd_process_alloc_gpuvm()
190 err = amdgpu_amdkfd_gpuvm_map_memory_to_gpu(kdev->kgd, mem, pdd->vm); in kfd_process_alloc_gpuvm()
194 err = amdgpu_amdkfd_gpuvm_sync_memory(kdev->kgd, mem, true); in kfd_process_alloc_gpuvm()
213 err = amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(kdev->kgd, in kfd_process_alloc_gpuvm()
231 amdgpu_amdkfd_gpuvm_free_memory_of_gpu(kdev->kgd, mem); in kfd_process_alloc_gpuvm()
397 peer_pdd->dev->kgd, mem, peer_pdd->vm); in kfd_process_device_free_bos()
400 amdgpu_amdkfd_gpuvm_free_memory_of_gpu(pdd->dev->kgd, mem); in kfd_process_device_free_bos()
424 pdd->dev->kgd, pdd->vm); in kfd_process_destroy_pdds()
[all …]
Dcik_event_interrupt.c50 vmid = f2g->read_vmid_from_vmfault_reg(dev->kgd); in cik_event_interrupt_isr()
51 pasid = f2g->get_atc_vmid_pasid_mapping_pasid(dev->kgd, vmid); in cik_event_interrupt_isr()
111 amdgpu_amdkfd_gpuvm_get_vm_fault_info(dev->kgd, &info); in cik_event_interrupt_wq()
Dkfd_mqd_manager_v10.c83 retval = amdgpu_amdkfd_alloc_gtt_mem(kfd->kgd, in allocate_mqd()
169 r = mm->dev->kfd2kgd->hqd_load(mm->dev->kgd, mqd, pipe_id, queue_id, in load_mqd()
246 (mm->dev->kgd, mqd, type, timeout, in destroy_mqd()
256 amdgpu_amdkfd_free_gtt_mem(kfd->kgd, mqd_mem_obj->gtt_mem); in free_mqd()
268 mm->dev->kgd, queue_address, in is_occupied()
342 return mm->dev->kfd2kgd->hqd_sdma_load(mm->dev->kgd, mqd, in load_mqd_sdma()
388 return mm->dev->kfd2kgd->hqd_sdma_destroy(mm->dev->kgd, mqd, timeout); in destroy_mqd_sdma()
395 return mm->dev->kfd2kgd->hqd_sdma_is_occupied(mm->dev->kgd, mqd); in is_occupied_sdma()
Dkfd_mqd_manager_v9.c98 retval = amdgpu_amdkfd_alloc_gtt_mem(kfd->kgd, in allocate_mqd()
189 return mm->dev->kfd2kgd->hqd_load(mm->dev->kgd, mqd, pipe_id, queue_id, in load_mqd()
265 (mm->dev->kgd, mqd, type, timeout, in destroy_mqd()
275 amdgpu_amdkfd_free_gtt_mem(kfd->kgd, mqd_mem_obj->gtt_mem); in free_mqd()
287 mm->dev->kgd, queue_address, in is_occupied()
360 return mm->dev->kfd2kgd->hqd_sdma_load(mm->dev->kgd, mqd, in load_mqd_sdma()
402 return mm->dev->kfd2kgd->hqd_sdma_destroy(mm->dev->kgd, mqd, timeout); in destroy_mqd_sdma()
409 return mm->dev->kfd2kgd->hqd_sdma_is_occupied(mm->dev->kgd, mqd); in is_occupied_sdma()
Dkfd_dbgdev.c44 dev->kfd2kgd->address_watch_disable(dev->kgd); in dbgdev_address_watch_disable_nodiq()
325 dbgdev->dev->kgd, in dbgdev_address_watch_nodiq()
423 dbgdev->dev->kgd, in dbgdev_address_watch_diq()
434 dbgdev->dev->kgd, in dbgdev_address_watch_diq()
444 dbgdev->dev->kgd, in dbgdev_address_watch_diq()
460 dbgdev->dev->kgd, in dbgdev_address_watch_diq()
755 return dbgdev->dev->kfd2kgd->wave_control_execute(dbgdev->dev->kgd, in dbgdev_wave_control_nodiq()
786 (dev->kgd, vmid)) { in dbgdev_wave_reset_wavefronts()
788 (dev->kgd, vmid) == p->pasid) { in dbgdev_wave_reset_wavefronts()
814 dev->kfd2kgd->wave_control_execute(dev->kgd, in dbgdev_wave_reset_wavefronts()
Dkfd_mqd_manager_cik.c173 return mm->dev->kfd2kgd->hqd_load(mm->dev->kgd, mqd, pipe_id, queue_id, in load_mqd()
182 return mm->dev->kfd2kgd->hqd_sdma_load(mm->dev->kgd, mqd, in load_mqd_sdma()
267 return mm->dev->kfd2kgd->hqd_destroy(mm->dev->kgd, mqd, type, timeout, in destroy_mqd()
280 return mm->dev->kfd2kgd->hqd_sdma_destroy(mm->dev->kgd, mqd, timeout); in destroy_mqd_sdma()
288 return mm->dev->kfd2kgd->hqd_is_occupied(mm->dev->kgd, queue_address, in is_occupied()
297 return mm->dev->kfd2kgd->hqd_sdma_is_occupied(mm->dev->kgd, mqd); in is_occupied_sdma()
Dkfd_mqd_manager_vi.c164 return mm->dev->kfd2kgd->hqd_load(mm->dev->kgd, mqd, pipe_id, queue_id, in load_mqd()
258 (mm->dev->kgd, mqd, type, timeout, in destroy_mqd()
273 mm->dev->kgd, queue_address, in is_occupied()
343 return mm->dev->kfd2kgd->hqd_sdma_load(mm->dev->kgd, mqd, in load_mqd_sdma()
384 return mm->dev->kfd2kgd->hqd_sdma_destroy(mm->dev->kgd, mqd, timeout); in destroy_mqd_sdma()
391 return mm->dev->kfd2kgd->hqd_sdma_is_occupied(mm->dev->kgd, mqd); in is_occupied_sdma()
Dkfd_chardev.c835 args->gpu_clock_counter = amdgpu_amdkfd_get_gpu_clock_counter(dev->kgd); in kfd_ioctl_get_clock_counters()
1042 err = amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(kfd->kgd, in kfd_ioctl_create_event()
1133 dev->kgd, args->va_addr, pdd->qpd.vmid); in kfd_ioctl_set_scratch_backing_va()
1154 dev->kfd2kgd->get_tile_config(dev->kgd, &config); in kfd_ioctl_get_tile_config()
1240 amdgpu_amdkfd_get_local_mem_info(dev->kgd, &mem_info); in kfd_dev_is_large_bar()
1280 offset = amdgpu_amdkfd_get_mmio_remap_phys_addr(dev->kgd); in kfd_ioctl_alloc_memory_of_gpu()
1294 dev->kgd, args->va_addr, args->size, in kfd_ioctl_alloc_memory_of_gpu()
1323 amdgpu_amdkfd_gpuvm_free_memory_of_gpu(dev->kgd, (struct kgd_mem *)mem); in kfd_ioctl_alloc_memory_of_gpu()
1358 ret = amdgpu_amdkfd_gpuvm_free_memory_of_gpu(dev->kgd, in kfd_ioctl_free_memory_of_gpu()
1440 peer->kgd, (struct kgd_mem *)mem, peer_pdd->vm); in kfd_ioctl_map_memory_to_gpu()
[all …]
Dkfd_topology.c115 struct kfd_dev *kfd_device_by_kgd(const struct kgd_dev *kgd) in kfd_device_by_kgd() argument
123 if (top_dev->gpu && top_dev->gpu->kgd == kgd) { in kfd_device_by_kgd()
1073 amdgpu_amdkfd_get_local_mem_info(gpu->kgd, &local_mem_info); in kfd_generate_gpu_id()
1146 amdgpu_amdkfd_get_local_mem_info(dev->gpu->kgd, &local_mem_info); in kfd_fill_mem_clk_max_info()
1268 amdgpu_amdkfd_get_cu_info(dev->gpu->kgd, &cu_info); in kfd_topology_add_device()
1280 amdgpu_amdkfd_get_max_engine_clock_in_mhz(dev->gpu->kgd); in kfd_topology_add_device()
1292 amdgpu_amdkfd_get_num_gws(dev->gpu->kgd) : 0; in kfd_topology_add_device()
1351 ctx = amdgpu_ras_get_context((struct amdgpu_device *)(dev->gpu->kgd)); in kfd_topology_add_device()
Dkfd_device_queue_manager.c128 dqm->dev->kgd, qpd->vmid, in program_sh_mem_settings()
217 dqm->dev->kfd2kgd->set_vm_context_page_table_base(dqm->dev->kgd, in allocate_vmid()
224 dqm->dev->kgd, qpd->sh_hidden_private_base, qpd->vmid); in allocate_vmid()
242 return amdgpu_amdkfd_submit_ib(kdev->kgd, KGD_ENGINE_MEC1, qpd->vmid, in flush_texture_cache_nocpsch()
679 dqm->dev->kgd, in restore_process_queues_nocpsch()
844 dqm->dev->kgd, pasid, vmid); in set_pasid_vmid_mapping()
853 dqm->dev->kfd2kgd->init_interrupts(dqm->dev->kgd, i); in init_interrupts()
1683 retval = amdgpu_amdkfd_alloc_gtt_mem(dev->kgd, size, in allocate_hiq_sdma_mqd()
1822 amdgpu_amdkfd_free_gtt_mem(dev->kgd, mqd->gtt_mem); in deallocate_hiq_sdma_mqd()
1853 amdgpu_amdkfd_gpu_reset(dqm->dev->kgd); in kfd_process_hw_exception()
[all …]
Dkfd_int_process_v9.c58 dev->kgd, vmid); in event_interrupt_isr_v9()
Dkfd_mqd_manager.c104 amdgpu_amdkfd_get_cu_info(mm->dev->kgd, &cu_info); in mqd_symmetrically_map_cu_mask()
Dkfd_crat.c1127 amdgpu_amdkfd_get_xgmi_hops_count(kdev->kgd, peer_kdev->kgd); in kfd_fill_gpu_xgmi_link_to_gpu()
1192 amdgpu_amdkfd_get_cu_info(kdev->kgd, &cu_info); in kfd_create_vcrat_image_gpu()
1223 amdgpu_amdkfd_get_local_mem_info(kdev->kgd, &local_mem_info); in kfd_create_vcrat_image_gpu()
Dkfd_priv.h229 struct kgd_dev *kgd; member
851 struct kfd_dev *kfd_device_by_kgd(const struct kgd_dev *kgd);

12