/netbsd/sys/external/bsd/drm2/dist/drm/amd/amdkfd/ |
H A D | kfd_dbgmgr.c | 56 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 D | cik_event_interrupt.c | 42 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 D | kfd_int_process_v9.c | 38 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 D | kfd_iommu.c | 125 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 D | kfd_process.c | 91 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 D | kfd_events.c | 468 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 D | kfd_priv.h | 690 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 D | kfd_pasid.c | 85 void kfd_pasid_free(unsigned int pasid) in kfd_pasid_free() argument 88 amdgpu_pasid_free(pasid); in kfd_pasid_free()
|
H A D | kfd_dbgdev.c | 53 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 D | kfd_pm4_headers.h | 60 uint32_t pasid:16; member 109 uint32_t pasid:16; member
|
H A D | kfd_pm4_headers_vi.h | 155 uint32_t pasid:16; member 306 uint32_t pasid:16; member 370 uint32_t pasid:16; member
|
H A D | kfd_pm4_headers_ai.h | 149 uint32_t pasid:16; member 349 uint32_t pasid:16; member 417 uint32_t pasid:16; member
|
H A D | kfd_packet_manager_v9.c | 48 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 D | kfd_packet_manager_vi.c | 59 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 D | kfd_device_queue_manager.c | 48 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 D | amdgpu_ids.c | 57 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 D | amdgpu_trace.h | 90 __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 D | amdgpu_gmc.h | 98 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 D | amdgpu_vm.c | 1104 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 D | amdgpu_ids.h | 63 unsigned pasid; member 76 void amdgpu_pasid_free(unsigned int pasid); 78 unsigned int pasid);
|
H A D | amdgpu_vm.h | 287 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 D | amdgpu_gmc_v9_0.c | 318 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 D | amdgpu_kms.c | 983 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 D | amdgpu_amdkfd.h | 142 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 D | amdgpu_gmc_v10_0.c | 163 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()
|