/src/sys/external/bsd/drm2/dist/drm/amd/amdkfd/ |
kfd_dbgmgr.c | 56 pmgr->pasid = 0; 82 new_buff->pasid = 0; 103 if (pmgr->pasid != 0) { 104 pr_debug("H/W debugger is already active using pasid 0x%x\n", 105 pmgr->pasid); 109 /* remember pasid */ 110 pmgr->pasid = p->pasid; 124 if (pmgr->pasid != p->pasid) { [all...] |
cik_event_interrupt.c | 42 uint16_t pasid; local in function:cik_event_interrupt_isr 46 * VMID and PASID are not written into ih_ring_entry 58 ret = f2g->get_atc_vmid_pasid_mapping_info(dev->kgd, vmid, &pasid); 62 tmp_ihre->ring_id |= pasid << 16; 64 return ret && (pasid != 0) && 75 /* If there is no valid PASID, it's likely a firmware bug */ 76 pasid = (ihre->ring_id & 0xffff0000) >> 16; 77 if (WARN_ONCE(pasid == 0, "FW bug: No PASID in KFD interrupt")) 98 unsigned int pasid = (ihre->ring_id & 0xffff0000) >> 16 local in function:cik_event_interrupt_wq [all...] |
kfd_int_process_v9.c | 38 uint16_t source_id, client_id, pasid, vmid; local in function:event_interrupt_isr_v9 49 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); 51 /* This is a known issue for gfx9. Under non HWS, pasid is not set 52 * in the interrupt payload, so we need to find out the pasid on our 55 if (!pasid && dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { 62 pasid = dev->dqm->vmid_pasid[vmid]; 64 /* Patch the pasid field */ 66 & ~pasid_mask) | pasid); 69 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n", 70 client_id, source_id, vmid, pasid); 94 uint16_t source_id, client_id, pasid, vmid; local in function:event_interrupt_wq_v9 [all...] |
kfd_pasid.c | 85 void kfd_pasid_free(unsigned int pasid) 88 amdgpu_pasid_free(pasid);
|
kfd_iommu.c | 84 "error required iommu flags ats %i, pri %i, pasid %i\n", 97 dev_err(kfd_device, "error setting pasid limit\n"); 106 * Binds the given process to the given device using its PASID. This 125 err = amd_iommu_bind_pasid(dev->pdev, p->pasid, p->lead_thread); 143 amd_iommu_unbind_pasid(pdd->dev->pdev, p->pasid); 147 static void iommu_pasid_shutdown_callback(struct pci_dev *pdev, int pasid) 157 * Look for the process that matches the pasid. If there is no such 161 p = kfd_lookup_process_by_pasid(pasid); 165 pr_debug("Unbinding process 0x%x from IOMMU\n", pasid); 169 if (dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) [all...] |
kfd_events.h | 84 extern void kfd_signal_event_interrupt(unsigned int pasid, uint32_t partial_id,
|
kfd_pm4_headers.h | 60 uint32_t pasid:16; member in struct:pm4_map_process::__anon7e5272bb030a::__anon7e5272bb0408 109 uint32_t pasid:16; member in struct:pm4_map_process_scratch_kv::__anon7e5272bb0a0a::__anon7e5272bb0b08
|
kfd_process.c | 88 if (strcmp(attr->name, "pasid") == 0) { 91 val = p->pasid; 324 process->attr_pasid.name = "pasid"; 329 pr_warn("Creating pasid for pid %d failed", 427 pr_debug("Releasing pdd (topology id %d) for process (pasid 0x%x)\n", 428 pdd->dev->id, p->pasid); 479 kfd_pasid_free(p->pasid); 534 if (dev && dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) { 649 process->pasid = kfd_pasid_alloc() [all...] |
kfd_priv.h | 652 /* Is this process/pasid bound to this device? (amd_iommu_bind_pasid) */ 690 uint16_t pasid; member in struct:kfd_process 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,
|
kfd_pm4_headers_diq.h | 72 unsigned int pasid:10; member in struct:pm4__indirect_buffer_pasid::__anone5b337d8080a::__anone5b337d80908
|
kfd_pm4_headers_vi.h | 155 uint32_t pasid:16; member in struct:pm4_mes_map_process::__anonf77bdfd9110a::__anonf77bdfd91208 306 uint32_t pasid:16; member in struct:pm4_mes_query_status::__anonf77bdfd91f0a::__anonf77bdfd92008 370 uint32_t pasid:16; member in struct:pm4_mes_unmap_queues::__anonf77bdfd9250a::__anonf77bdfd92608
|
kfd_events.c | 468 void kfd_signal_event_interrupt(unsigned int pasid, uint32_t partial_id, 478 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); 859 "Sending SIGSEGV to process %d (pasid 0x%x)", 860 p->lead_thread->pid, p->pasid); 868 "Sending SIGTERM to process %d (pasid 0x%x)", 869 p->lead_thread->pid, p->pasid); 873 "Process %d (pasid 0x%x) got unhandled exception", 874 p->lead_thread->pid, p->pasid); 880 void kfd_signal_iommu_event(struct kfd_dev *dev, unsigned int pasid, 892 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); [all...] |
kfd_packet_manager_v9.c | 48 packet->bitfields2.pasid = qpd->pqm->process->pasid; 270 packet->bitfields3a.pasid = filter_param;
|
kfd_packet_manager_vi.c | 59 packet->bitfields2.pasid = qpd->pqm->process->pasid; 250 packet->bitfields3a.pasid = filter_param;
|
kfd_pm4_headers_ai.h | 149 uint32_t pasid:16; member in struct:pm4_mes_map_process::__anonf7705be40f0a::__anonf7705be41008 349 uint32_t pasid:16; member in struct:pm4_mes_query_status::__anonf7705be41c0a::__anonf7705be41d08 417 uint32_t pasid:16; member in struct:pm4_mes_unmap_queues::__anonf7705be4220a::__anonf7705be42308
|
/src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/ |
amdgpu_ids.h | 63 unsigned pasid; member in struct:amdgpu_vmid 76 void amdgpu_pasid_free(unsigned int pasid); 78 unsigned int pasid);
|
amdgpu_ids.c | 40 * PASID manager 44 * may use the same PASID if they share the same address 46 * looked up from the PASID per amdgpu_device. 54 /* Helper to free pasid from a fence callback */ 57 unsigned int pasid; member in struct:amdgpu_pasid_cb 61 * amdgpu_pasid_alloc - Allocate a PASID 62 * @bits: Maximum width of the PASID in bits, must be at least 1 64 * Allocates a PASID of the given width while keeping smaller PASIDs 68 * Returns %-ENOSPC if no PASID was available. Returns %-ENOMEM on 73 int pasid = -EINVAL local in function:amdgpu_pasid_alloc [all...] |
amdgpu_trace.h | 90 __field(unsigned, pasid) 102 __entry->pasid = iv->pasid; 109 "timestamp: %llu pasid:%u src_data: %08x %08x %08x %08x", 112 __entry->timestamp, __entry->pasid, 223 __field(u32, pasid) 233 __entry->pasid = vm->pasid; 240 TP_printk("pasid=%d, ring=%s, id=%u, hub=%u, pd_addr=%010Lx needs_flush=%u", 241 __entry->pasid, __get_str(ring), __entry->vmid [all...] |
amdgpu_gmc.h | 97 /* flush the vm tlb via pasid */ 98 int (*flush_gpu_tlb_pasid)(struct amdgpu_device *adev, uint16_t pasid, 103 /* Change the VMID -> PASID mapping */ 105 unsigned pasid); 227 #define amdgpu_gmc_flush_gpu_tlb_pasid(adev, pasid, type, allhub) \ 229 ((adev), (pasid), (type), (allhub))) 231 #define amdgpu_gmc_emit_pasid_mapping(r, vmid, pasid) (r)->adev->gmc.gmc_funcs->emit_pasid_mapping((r), (vmid), (pasid)) 278 uint16_t pasid, uint64_t timestamp);
|
amdgpu_job.h | 57 unsigned pasid; member in struct:amdgpu_job
|
amdgpu_vm.h | 287 unsigned int pasid; member in struct:amdgpu_vm 354 /* PASID to VM mapping, will be used in interrupt context to 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,
|
amdgpu_vm.c | 1104 if (id->pasid != job->pasid || !id->pasid_mapping || 1130 amdgpu_gmc_emit_pasid_mapping(ring, job->vmid, job->pasid); 1149 id->pasid = job->pasid; 2804 * @pasid: Process address space identifier 2812 int vm_context, unsigned int pasid) 2900 if (pasid) { 2905 r = idr_alloc(&adev->vm_manager.pasid_idr, vm, pasid, pasid + 1 [all...] |
amdgpu_amdkfd_gfx_v9.h | 31 int kgd_gfx_v9_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid,
|
amdgpu_irq.h | 56 unsigned pasid; member in struct:amdgpu_iv_entry
|
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,
|