/openbsd/sys/dev/pci/drm/amd/amdkfd/ |
H A D | cik_event_interrupt.c | 38 uint16_t pasid; in cik_event_interrupt_isr() local 58 tmp_ihre->ring_id |= pasid << 16; in cik_event_interrupt_isr() 60 return ret && (pasid != 0) && in cik_event_interrupt_isr() 72 pasid = (ihre->ring_id & 0xffff0000) >> 16; in cik_event_interrupt_isr() 95 u32 pasid = (ihre->ring_id & 0xffff0000) >> 16; in cik_event_interrupt_wq() local 97 if (pasid == 0) in cik_event_interrupt_wq() 101 kfd_signal_event_interrupt(pasid, context_id, 28); in cik_event_interrupt_wq() 103 kfd_signal_event_interrupt(pasid, context_id, 28); in cik_event_interrupt_wq() 107 kfd_signal_hw_exception_event(pasid); in cik_event_interrupt_wq() 112 kfd_smi_event_update_vmfault(dev, pasid); in cik_event_interrupt_wq() [all …]
|
H A D | kfd_int_process_v9.c | 144 uint16_t pasid, uint16_t client_id) in event_interrupt_poison_consumption_v9() argument 164 ret = kfd_dqm_evict_pasid(dev->dqm, pasid); in event_interrupt_poison_consumption_v9() 218 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v9() local 264 pasid = dev->dqm->vmid_pasid[vmid]; in event_interrupt_isr_v9() 268 & ~pasid_mask) | pasid); in event_interrupt_isr_v9() 272 client_id, source_id, vmid, pasid); in event_interrupt_isr_v9() 313 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_wq_v9() local 389 kfd_set_dbg_ev_from_interrupt(dev, pasid, in event_interrupt_wq_v9() 438 pasid, in event_interrupt_wq_v9() 443 kfd_smi_event_update_vmfault(dev, pasid); in event_interrupt_wq_v9() [all …]
|
H A D | kfd_int_process_v10.c | 133 uint16_t pasid, uint16_t client_id) in event_interrupt_poison_consumption() argument 153 ret = kfd_dqm_evict_pasid(dev->dqm, pasid); in event_interrupt_poison_consumption() 165 kfd_signal_poison_consumed_event(dev, pasid); in event_interrupt_poison_consumption() 188 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v10() local 201 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v10() 223 client_id, source_id, vmid, pasid); in event_interrupt_isr_v10() 248 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_wq_v10() local 254 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_wq_v10() 340 kfd_set_dbg_ev_from_interrupt(dev, pasid, in event_interrupt_wq_v10() 392 pasid, in event_interrupt_wq_v10() [all …]
|
H A D | kfd_int_process_v11.c | 192 uint16_t pasid, uint16_t source_id) in event_interrupt_poison_consumption_v11() argument 219 kfd_signal_poison_consumed_event(dev, pasid); in event_interrupt_poison_consumption_v11() 234 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v11() local 247 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v11() 255 client_id, source_id, vmid, pasid); in event_interrupt_isr_v11() 290 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_wq_v11() 316 kfd_set_dbg_ev_from_interrupt(dev, pasid, -1, in event_interrupt_wq_v11() 319 kfd_smi_event_update_vmfault(dev, pasid); in event_interrupt_wq_v11() 329 kfd_set_dbg_ev_from_interrupt(dev, pasid, in event_interrupt_wq_v11() 367 dev, pasid, source_id); in event_interrupt_wq_v11() [all …]
|
H A D | kfd_process.c | 283 dev->id, proc->pasid); in kfd_get_cu_occupancy() 1021 pdd->dev->id, p->pasid); in kfd_process_destroy_pdds() 1133 kfd_pasid_free(p->pasid); in kfd_process_wq_release() 1480 process->pasid = kfd_pasid_alloc(); in create_process() 1481 if (process->pasid == 0) { in create_process() 1539 kfd_pasid_free(process->pasid); in create_process() 1777 if (p->pasid == pasid) { in kfd_lookup_process_by_pasid() 1975 p->pasid, PROCESS_BACK_OFF_TIME_MS); in restore_process_worker() 2018 p->pasid); in kfd_resume_all_processes() 2131 p = kfd_lookup_process_by_pasid(pasid); in kfd_process_close_interrupt_drain() [all …]
|
H A D | kfd_pasid.c | 67 void kfd_pasid_free(u32 pasid) in kfd_pasid_free() argument 69 amdgpu_pasid_free(pasid); in kfd_pasid_free()
|
H A D | kfd_pm4_headers.h | 59 uint32_t pasid:16; member 108 uint32_t pasid:16; member
|
H A D | kfd_events.c | 719 void kfd_signal_event_interrupt(u32 pasid, uint32_t partial_id, in kfd_signal_event_interrupt() argument 729 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_event_interrupt() 1127 p->lead_thread->pid, p->pasid); in lookup_events_by_type_and_signal() 1136 p->lead_thread->pid, p->pasid); in lookup_events_by_type_and_signal() 1141 p->lead_thread->pid, p->pasid); in lookup_events_by_type_and_signal() 1148 void kfd_signal_hw_exception_event(u32 pasid) in kfd_signal_hw_exception_event() argument 1155 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_hw_exception_event() 1164 void kfd_signal_vm_fault_event(struct kfd_node *dev, u32 pasid, in kfd_signal_vm_fault_event() argument 1170 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_vm_fault_event() 1275 void kfd_signal_poison_consumed_event(struct kfd_node *dev, u32 pasid) in kfd_signal_poison_consumed_event() argument [all …]
|
H A D | kfd_packet_manager_v9.c | 47 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_v9() 102 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_aldebaran() 355 packet->bitfields3a.pasid = filter_param; in pm_unmap_queues_v9()
|
H A D | kfd_priv.h | 890 u32 pasid; member 1016 struct kfd_process *kfd_lookup_process_by_pasid(u32 pasid); 1071 void kfd_pasid_free(u32 pasid); 1156 void kfd_process_close_interrupt_drain(unsigned int pasid); 1301 int kfd_dqm_evict_pasid(struct device_queue_manager *dqm, u32 pasid); 1442 void kfd_signal_event_interrupt(u32 pasid, uint32_t partial_id, 1444 void kfd_signal_hw_exception_event(u32 pasid); 1457 void kfd_signal_vm_fault_event(struct kfd_node *dev, u32 pasid, 1463 void kfd_signal_poison_consumed_event(struct kfd_node *dev, u32 pasid);
|
H A D | kfd_pm4_headers_vi.h | 154 uint32_t pasid:16; member 305 uint32_t pasid:16; member 369 uint32_t pasid:16; member
|
H A D | kfd_packet_manager_vi.c | 55 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_vi() 226 packet->bitfields3a.pasid = filter_param; in pm_unmap_queues_vi()
|
H A D | kfd_pm4_headers_ai.h | 148 uint32_t pasid:16; member 352 uint32_t pasid:16; member 420 uint32_t pasid:16; member
|
/openbsd/sys/dev/pci/drm/amd/amdgpu/ |
H A D | amdgpu_ids.c | 46 u32 pasid; member 62 int pasid = -EINVAL; in amdgpu_pasid_alloc() local 68 if (pasid != -ENOSPC) in amdgpu_pasid_alloc() 72 if (pasid >= 0) in amdgpu_pasid_alloc() 75 return pasid; in amdgpu_pasid_alloc() 108 u32 pasid) in amdgpu_pasid_free_delayed() argument 119 amdgpu_pasid_free(pasid); in amdgpu_pasid_free_delayed() 128 amdgpu_pasid_free(pasid); in amdgpu_pasid_free_delayed() 130 cb->pasid = pasid; in amdgpu_pasid_free_delayed() 144 amdgpu_pasid_free(pasid); in amdgpu_pasid_free_delayed() [all …]
|
H A D | amdgpu_mes.c | 252 r = idr_alloc(&adev->mes.pasid_idr, process, pasid, pasid + 1, in amdgpu_mes_create_process() 261 process->pasid = pasid; in amdgpu_mes_create_process() 457 int r, pasid; in amdgpu_mes_suspend() local 472 pasid, gang->gang_id); in amdgpu_mes_suspend() 486 int r, pasid; in amdgpu_mes_resume() local 1001 int r, queue_id, pasid; in amdgpu_mes_add_ring() local 1014 pasid = gang->process->pasid; in amdgpu_mes_add_ring() 1344 int i, r, pasid, k = 0; in amdgpu_mes_self_test() local 1347 if (pasid < 0) { in amdgpu_mes_self_test() 1349 pasid = 0; in amdgpu_mes_self_test() [all …]
|
H A D | amdgpu_trace.h | 88 __field(unsigned, pasid) 100 __entry->pasid = iv->pasid; 223 __field(u32, pasid) 233 __entry->pasid = vm->pasid; 439 TP_PROTO(unsigned pasid), 440 TP_ARGS(pasid), 445 __entry->pasid = pasid; 451 TP_PROTO(unsigned pasid), 452 TP_ARGS(pasid) 456 TP_PROTO(unsigned pasid), [all …]
|
H A D | amdgpu_gmc.h | 131 int (*flush_gpu_tlb_pasid)(struct amdgpu_device *adev, uint16_t pasid, 139 unsigned pasid); 339 #define amdgpu_gmc_flush_gpu_tlb_pasid(adev, pasid, type, allhub, inst) \ argument 341 ((adev), (pasid), (type), (allhub), (inst))) 343 …e amdgpu_gmc_emit_pasid_mapping(r, vmid, pasid) (r)->adev->gmc.gmc_funcs->emit_pasid_mapping((r), … argument 397 uint16_t pasid, uint64_t timestamp); 399 uint16_t pasid);
|
H A D | amdgpu_ids.h | 61 unsigned pasid; member 75 void amdgpu_pasid_free(u32 pasid); 77 u32 pasid);
|
H A D | amdgpu_mes.h | 143 int pasid; member 339 int amdgpu_mes_create_process(struct amdgpu_device *adev, int pasid, 341 void amdgpu_mes_destroy_process(struct amdgpu_device *adev, int pasid); 343 int amdgpu_mes_add_gang(struct amdgpu_device *adev, int pasid,
|
H A D | amdgpu_vm.c | 201 u32 pasid) in amdgpu_vm_set_pasid() argument 205 if (vm->pasid == pasid) in amdgpu_vm_set_pasid() 208 if (vm->pasid) { in amdgpu_vm_set_pasid() 213 vm->pasid = 0; in amdgpu_vm_set_pasid() 216 if (pasid) { in amdgpu_vm_set_pasid() 222 vm->pasid = pasid; in amdgpu_vm_set_pasid() 684 if (id->pasid != job->pasid || !id->pasid_mapping || in amdgpu_vm_flush() 741 id->pasid = job->pasid; in amdgpu_vm_flush() 2605 vm = xa_load(&adev->vm_manager.pasids, pasid); in amdgpu_vm_get_task_info() 2669 vm = xa_load(&adev->vm_manager.pasids, pasid); in amdgpu_vm_handle_fault() [all …]
|
H A D | gmc_v10_0.c | 122 amdgpu_gmc_filter_faults(adev, entry->ih, addr, entry->pasid, in gmc_v10_0_process_interrupt() 137 if (amdgpu_vm_handle_fault(adev, entry->pasid, 0, 0, addr, write_fault)) in gmc_v10_0_process_interrupt() 159 amdgpu_vm_get_task_info(adev, entry->pasid, &task_info); in gmc_v10_0_process_interrupt() 165 entry->pasid, task_info.process_name, task_info.tgid, in gmc_v10_0_process_interrupt() 416 uint16_t pasid, uint32_t flush_type, in gmc_v10_0_flush_gpu_tlb_pasid() argument 433 pasid, flush_type, all_hub); in gmc_v10_0_flush_gpu_tlb_pasid() 456 if (ret && queried_pasid == pasid) { in gmc_v10_0_flush_gpu_tlb_pasid() 522 unsigned int pasid) in gmc_v10_0_emit_pasid_mapping() argument 536 amdgpu_ring_emit_wreg(ring, reg, pasid); in gmc_v10_0_emit_pasid_mapping()
|
H A D | amdgpu_vm.h | 318 unsigned int pasid; member 410 u32 pasid); 479 void amdgpu_vm_get_task_info(struct amdgpu_device *adev, u32 pasid, 481 bool amdgpu_vm_handle_fault(struct amdgpu_device *adev, u32 pasid,
|
H A D | gmc_v11_0.c | 126 amdgpu_vm_get_task_info(adev, entry->pasid, &task_info); in gmc_v11_0_process_interrupt() 132 entry->pasid, task_info.process_name, task_info.tgid, in gmc_v11_0_process_interrupt() 327 uint16_t pasid, uint32_t flush_type, in gmc_v11_0_flush_gpu_tlb_pasid() argument 343 pasid, flush_type, all_hub); in gmc_v11_0_flush_gpu_tlb_pasid() 366 if (ret && queried_pasid == pasid) { in gmc_v11_0_flush_gpu_tlb_pasid() 430 unsigned int pasid) in gmc_v11_0_emit_pasid_mapping() argument 444 amdgpu_ring_emit_wreg(ring, reg, pasid); in gmc_v11_0_emit_pasid_mapping()
|
H A D | amdgpu_amdkfd_gfx_v9.h | 27 int kgd_gfx_v9_set_pasid_vmid_mapping(struct amdgpu_device *adev, u32 pasid, 55 void kgd_gfx_v9_get_cu_occupancy(struct amdgpu_device *adev, int pasid,
|
H A D | amdgpu_gmc.c | 355 static inline uint64_t amdgpu_gmc_fault_key(uint64_t addr, uint16_t pasid) in amdgpu_gmc_fault_key() argument 357 return addr << 4 | pasid; in amdgpu_gmc_fault_key() 375 uint16_t pasid, uint64_t timestamp) in amdgpu_gmc_filter_faults() argument 378 uint64_t stamp, key = amdgpu_gmc_fault_key(addr, pasid); in amdgpu_gmc_filter_faults() 444 uint16_t pasid) in amdgpu_gmc_filter_faults_remove() argument 447 uint64_t key = amdgpu_gmc_fault_key(addr, pasid); in amdgpu_gmc_filter_faults_remove()
|