Home
last modified time | relevance | path

Searched refs:pasid (Results 1 – 25 of 53) sorted by relevance

123

/netbsd/sys/external/bsd/drm2/dist/drm/amd/amdkfd/
H A Dkfd_dbgmgr.c56 pmgr->pasid = 0; in kfd_dbgmgr_uninitialize()
82 new_buff->pasid = 0; in kfd_dbgmgr_create()
103 if (pmgr->pasid != 0) { in kfd_dbgmgr_register()
105 pmgr->pasid); in kfd_dbgmgr_register()
110 pmgr->pasid = p->pasid; in kfd_dbgmgr_register()
124 if (pmgr->pasid != p->pasid) { in kfd_dbgmgr_unregister()
126 p->pasid); in kfd_dbgmgr_unregister()
132 pmgr->pasid = 0; in kfd_dbgmgr_unregister()
141 if (pmgr->pasid != wac_info->process->pasid) { in kfd_dbgmgr_wave_control()
143 wac_info->process->pasid); in kfd_dbgmgr_wave_control()
[all …]
H A Dcik_event_interrupt.c42 uint16_t pasid; in cik_event_interrupt_isr() local
62 tmp_ihre->ring_id |= pasid << 16; in cik_event_interrupt_isr()
64 return ret && (pasid != 0) && in cik_event_interrupt_isr()
76 pasid = (ihre->ring_id & 0xffff0000) >> 16; in cik_event_interrupt_isr()
100 if (pasid == 0) in cik_event_interrupt_wq()
104 kfd_signal_event_interrupt(pasid, context_id, 28); in cik_event_interrupt_wq()
106 kfd_signal_event_interrupt(pasid, context_id, 28); in cik_event_interrupt_wq()
110 kfd_signal_hw_exception_event(pasid); in cik_event_interrupt_wq()
115 kfd_process_vm_fault(dev->dqm, pasid); in cik_event_interrupt_wq()
123 kfd_signal_vm_fault_event(dev, pasid, &info); in cik_event_interrupt_wq()
[all …]
H A Dkfd_int_process_v9.c38 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v9() local
49 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v9()
62 pasid = dev->dqm->vmid_pasid[vmid]; in event_interrupt_isr_v9()
66 & ~pasid_mask) | pasid); in event_interrupt_isr_v9()
70 client_id, source_id, vmid, pasid); in event_interrupt_isr_v9()
94 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_wq_v9() local
99 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_wq_v9()
104 kfd_signal_event_interrupt(pasid, context_id, 32); in event_interrupt_wq_v9()
110 kfd_signal_hw_exception_event(pasid); in event_interrupt_wq_v9()
125 kfd_process_vm_fault(dev->dqm, pasid); in event_interrupt_wq_v9()
[all …]
H A Dkfd_iommu.c125 err = amd_iommu_bind_pasid(dev->pdev, p->pasid, p->lead_thread); in kfd_iommu_bind_process_to_device()
143 amd_iommu_unbind_pasid(pdd->dev->pdev, p->pasid); in kfd_iommu_unbind_process()
147 static void iommu_pasid_shutdown_callback(struct pci_dev *pdev, int pasid) in iommu_pasid_shutdown_callback() argument
161 p = kfd_lookup_process_by_pasid(pasid); in iommu_pasid_shutdown_callback()
165 pr_debug("Unbinding process 0x%x from IOMMU\n", pasid); in iommu_pasid_shutdown_callback()
169 if (dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) { in iommu_pasid_shutdown_callback()
193 static int iommu_invalid_ppr_cb(struct pci_dev *pdev, int pasid, in iommu_invalid_ppr_cb() argument
203 pasid, in iommu_invalid_ppr_cb()
209 kfd_signal_iommu_event(dev, pasid, address, in iommu_invalid_ppr_cb()
237 err = amd_iommu_bind_pasid(kfd->pdev, p->pasid, in kfd_bind_processes_to_device()
[all …]
H A Dkfd_process.c91 val = p->pasid; in kfd_procfs_show()
428 pdd->dev->id, p->pasid); in kfd_process_destroy_pdds()
479 kfd_pasid_free(p->pasid); in kfd_process_wq_release()
534 if (dev && dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) { in kfd_process_notifier_release()
649 process->pasid = kfd_pasid_alloc(); in create_process()
650 if (process->pasid == 0) in create_process()
685 kfd_pasid_free(process->pasid); in create_process()
799 dev->kgd, drm_file, p->pasid, in kfd_process_device_init_vm()
924 if (p->pasid == pasid) { in kfd_lookup_process_by_pasid()
1119 p->pasid); in kfd_resume_all_processes()
[all …]
H A Dkfd_events.c468 void kfd_signal_event_interrupt(unsigned int pasid, uint32_t partial_id, in kfd_signal_event_interrupt() argument
478 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_event_interrupt()
860 p->lead_thread->pid, p->pasid); in lookup_events_by_type_and_signal()
869 p->lead_thread->pid, p->pasid); in lookup_events_by_type_and_signal()
874 p->lead_thread->pid, p->pasid); in lookup_events_by_type_and_signal()
880 void kfd_signal_iommu_event(struct kfd_dev *dev, unsigned int pasid, in kfd_signal_iommu_event() argument
892 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_iommu_event()
958 void kfd_signal_hw_exception_event(unsigned int pasid) in kfd_signal_hw_exception_event() argument
965 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_hw_exception_event()
979 void kfd_signal_vm_fault_event(struct kfd_dev *dev, unsigned int pasid, in kfd_signal_vm_fault_event() argument
[all …]
H A Dkfd_priv.h690 uint16_t pasid; member
764 struct kfd_process *kfd_lookup_process_by_pasid(unsigned int pasid);
806 void kfd_pasid_free(unsigned int pasid);
889 int kfd_process_vm_fault(struct device_queue_manager *dqm, unsigned int pasid);
1009 void kfd_signal_event_interrupt(unsigned int pasid, uint32_t partial_id,
1012 unsigned int pasid, unsigned long address,
1014 void kfd_signal_hw_exception_event(unsigned int pasid);
1025 void kfd_signal_vm_fault_event(struct kfd_dev *dev, unsigned int pasid,
H A Dkfd_pasid.c85 void kfd_pasid_free(unsigned int pasid) in kfd_pasid_free() argument
88 amdgpu_pasid_free(pasid); in kfd_pasid_free()
H A Dkfd_dbgdev.c53 unsigned int pasid, uint64_t vmid0_address, in dbgdev_diq_submit_ib() argument
104 ib_packet->bitfields5.pasid = pasid; in dbgdev_diq_submit_ib()
475 adw_info->process->pasid, in dbgdev_address_watch_diq()
689 wac_info->process->pasid, in dbgdev_wave_control_diq()
794 if (status && queried_pasid == p->pasid) { in dbgdev_wave_reset_wavefronts()
796 vmid, p->pasid); in dbgdev_wave_reset_wavefronts()
802 pr_err("Didn't find vmid for pasid 0x%x\n", p->pasid); in dbgdev_wave_reset_wavefronts()
H A Dkfd_pm4_headers.h60 uint32_t pasid:16; member
109 uint32_t pasid:16; member
H A Dkfd_pm4_headers_vi.h155 uint32_t pasid:16; member
306 uint32_t pasid:16; member
370 uint32_t pasid:16; member
H A Dkfd_pm4_headers_ai.h149 uint32_t pasid:16; member
349 uint32_t pasid:16; member
417 uint32_t pasid:16; member
H A Dkfd_packet_manager_v9.c48 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_v9()
270 packet->bitfields3a.pasid = filter_param; in pm_unmap_queues_v9()
H A Dkfd_packet_manager_vi.c59 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_vi()
250 packet->bitfields3a.pasid = filter_param; in pm_unmap_queues_vi()
H A Dkfd_device_queue_manager.c48 unsigned int pasid, unsigned int vmid);
220 dqm->vmid_pasid[allocated_vmid] = q->process->pasid; in allocate_vmid()
222 set_pasid_vmid_mapping(dqm, q->process->pasid, allocated_vmid); in allocate_vmid()
613 pdd->process->pasid); in evict_process_queues_nocpsch()
659 pdd->process->pasid); in evict_process_queues_cpsch()
705 pdd->process->pasid); in restore_process_queues_nocpsch()
781 pdd->process->pasid); in restore_process_queues_cpsch()
878 set_pasid_vmid_mapping(struct device_queue_manager *dqm, unsigned int pasid, in set_pasid_vmid_mapping() argument
882 dqm->dev->kgd, pasid, vmid); in set_pasid_vmid_mapping()
1910 unsigned int pasid) in kfd_process_vm_fault() argument
[all …]
/netbsd/sys/external/bsd/drm2/dist/drm/amd/amdgpu/
H A Damdgpu_ids.c57 unsigned int pasid; member
73 int pasid = -EINVAL; in amdgpu_pasid_alloc() local
79 if (pasid != -ENOSPC) in amdgpu_pasid_alloc()
83 if (pasid >= 0) in amdgpu_pasid_alloc()
86 return pasid; in amdgpu_pasid_alloc()
119 unsigned int pasid) in amdgpu_pasid_free_delayed() argument
131 amdgpu_pasid_free(pasid); in amdgpu_pasid_free_delayed()
156 amdgpu_pasid_free(pasid); in amdgpu_pasid_free_delayed()
158 cb->pasid = pasid; in amdgpu_pasid_free_delayed()
172 amdgpu_pasid_free(pasid); in amdgpu_pasid_free_delayed()
[all …]
H A Damdgpu_trace.h90 __field(unsigned, pasid)
102 __entry->pasid = iv->pasid;
223 __field(u32, pasid)
233 __entry->pasid = vm->pasid;
396 TP_PROTO(unsigned pasid),
397 TP_ARGS(pasid),
402 __entry->pasid = pasid;
408 TP_PROTO(unsigned pasid),
409 TP_ARGS(pasid)
413 TP_PROTO(unsigned pasid),
[all …]
H A Damdgpu_gmc.h98 int (*flush_gpu_tlb_pasid)(struct amdgpu_device *adev, uint16_t pasid,
105 unsigned pasid);
227 #define amdgpu_gmc_flush_gpu_tlb_pasid(adev, pasid, type, allhub) \ argument
229 ((adev), (pasid), (type), (allhub)))
231 …e amdgpu_gmc_emit_pasid_mapping(r, vmid, pasid) (r)->adev->gmc.gmc_funcs->emit_pasid_mapping((r), … argument
278 uint16_t pasid, uint64_t timestamp);
H A Damdgpu_vm.c1104 if (id->pasid != job->pasid || !id->pasid_mapping || in amdgpu_vm_flush()
1149 id->pasid = job->pasid; in amdgpu_vm_flush()
2900 if (pasid) { in amdgpu_vm_init()
2912 vm->pasid = pasid; in amdgpu_vm_init()
3009 if (pasid) { in amdgpu_vm_make_compute()
3062 vm->pasid = 0; in amdgpu_vm_make_compute()
3068 if (pasid) in amdgpu_vm_make_compute()
3069 vm->pasid = pasid; in amdgpu_vm_make_compute()
3074 if (pasid) { in amdgpu_vm_make_compute()
3103 vm->pasid = 0; in amdgpu_vm_release_compute()
[all …]
H A Damdgpu_ids.h63 unsigned pasid; member
76 void amdgpu_pasid_free(unsigned int pasid);
78 unsigned int pasid);
H A Damdgpu_vm.h287 unsigned int pasid; member
377 int vm_context, unsigned int pasid);
378 int amdgpu_vm_make_compute(struct amdgpu_device *adev, struct amdgpu_vm *vm, unsigned int pasid);
439 void amdgpu_vm_get_task_info(struct amdgpu_device *adev, unsigned int pasid,
441 bool amdgpu_vm_handle_fault(struct amdgpu_device *adev, unsigned int pasid,
H A Damdgpu_gmc_v9_0.c318 if (retry_fault && amdgpu_gmc_filter_faults(adev, addr, entry->pasid, in gmc_v9_0_process_interrupt()
335 amdgpu_vm_handle_fault(adev, entry->pasid, addr)) in gmc_v9_0_process_interrupt()
355 amdgpu_vm_get_task_info(adev, entry->pasid, &task_info); in gmc_v9_0_process_interrupt()
362 entry->pasid, task_info.process_name, task_info.tgid, in gmc_v9_0_process_interrupt()
570 uint16_t pasid, uint32_t flush_type, in gmc_v9_0_flush_gpu_tlb_pasid() argument
589 pasid, flush_type, all_hub); in gmc_v9_0_flush_gpu_tlb_pasid()
606 if (ret && queried_pasid == pasid) { in gmc_v9_0_flush_gpu_tlb_pasid()
667 unsigned pasid) in gmc_v9_0_emit_pasid_mapping() argument
681 amdgpu_ring_emit_wreg(ring, reg, pasid); in gmc_v9_0_emit_pasid_mapping()
H A Damdgpu_kms.c983 int r, pasid; in amdgpu_driver_open_kms() local
1006 pasid = amdgpu_pasid_alloc(16); in amdgpu_driver_open_kms()
1007 if (pasid < 0) { in amdgpu_driver_open_kms()
1009 pasid = 0; in amdgpu_driver_open_kms()
1011 r = amdgpu_vm_init(adev, &fpriv->vm, AMDGPU_VM_CONTEXT_GFX, pasid); in amdgpu_driver_open_kms()
1042 if (pasid) in amdgpu_driver_open_kms()
1043 amdgpu_pasid_free(pasid); in amdgpu_driver_open_kms()
1069 unsigned int pasid; in amdgpu_driver_postclose_kms() local
1092 pasid = fpriv->vm.pasid; in amdgpu_driver_postclose_kms()
1098 if (pasid) in amdgpu_driver_postclose_kms()
[all …]
H A Damdgpu_amdkfd.h142 int amdgpu_amdkfd_flush_gpu_tlb_pasid(struct kgd_dev *kgd, uint16_t pasid);
204 int amdgpu_amdkfd_gpuvm_create_process_vm(struct kgd_dev *kgd, unsigned int pasid,
208 struct file *filp, unsigned int pasid,
H A Damdgpu_gmc_v10_0.c163 amdgpu_vm_get_task_info(adev, entry->pasid, &task_info); in gmc_v10_0_process_interrupt()
170 entry->pasid, task_info.process_name, task_info.tgid, in gmc_v10_0_process_interrupt()
414 uint16_t pasid, uint32_t flush_type, in gmc_v10_0_flush_gpu_tlb_pasid() argument
430 pasid, flush_type, all_hub); in gmc_v10_0_flush_gpu_tlb_pasid()
447 if (ret && queried_pasid == pasid) { in gmc_v10_0_flush_gpu_tlb_pasid()
506 unsigned pasid) in gmc_v10_0_emit_pasid_mapping() argument
516 amdgpu_ring_emit_wreg(ring, reg, pasid); in gmc_v10_0_emit_pasid_mapping()

123