/Linux-v4.19/drivers/misc/ocxl/ |
D | trace.h | 12 TP_PROTO(pid_t pid, void *spa, int pasid, u32 pidr, u32 tidr), 13 TP_ARGS(pid, spa, pasid, pidr, tidr), 18 __field(int, pasid) 26 __entry->pasid = pasid; 34 __entry->pasid, 41 TP_PROTO(pid_t pid, void *spa, int pasid, u32 pidr, u32 tidr), 42 TP_ARGS(pid, spa, pasid, pidr, tidr) 46 TP_PROTO(pid_t pid, void *spa, int pasid, u32 pidr, u32 tidr), 47 TP_ARGS(pid, spa, pasid, pidr, tidr) 51 TP_PROTO(int pasid, int rc), [all …]
|
D | context.c | 15 int pasid; in ocxl_context_init() local 19 pasid = idr_alloc(&afu->contexts_idr, ctx, afu->pasid_base, in ocxl_context_init() 21 if (pasid < 0) { in ocxl_context_init() 23 return pasid; in ocxl_context_init() 28 ctx->pasid = pasid; in ocxl_context_init() 77 rc = ocxl_link_add_pe(ctx->afu->fn->link, ctx->pasid, in ocxl_context_attach() 119 pasid_off = ctx->pasid - ctx->afu->pasid_base; in map_pp_mmio() 138 ctx->pasid, vmf->address, offset); in ocxl_mmap_fault() 219 rc = ocxl_config_terminate_pasid(dev, afu_control_pos, ctx->pasid); in ocxl_context_detach() 221 trace_ocxl_terminate_pasid(ctx->pasid, rc); in ocxl_context_detach() [all …]
|
D | link.c | 481 int ocxl_link_add_pe(void *link_handle, int pasid, u32 pidr, u32 tidr, in ocxl_link_add_pe() argument 493 if (pasid > SPA_PASID_MAX) in ocxl_link_add_pe() 497 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_add_pe() 547 trace_ocxl_context_add(current->pid, spa->spa_mem, pasid, pidr, tidr); in ocxl_link_add_pe() 554 int ocxl_link_update_pe(void *link_handle, int pasid, __u16 tid) in ocxl_link_update_pe() argument 561 if (pasid > SPA_PASID_MAX) in ocxl_link_update_pe() 564 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_update_pe() 590 int ocxl_link_remove_pe(void *link_handle, int pasid) in ocxl_link_remove_pe() argument 598 if (pasid > SPA_PASID_MAX) in ocxl_link_remove_pe() 619 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_remove_pe() [all …]
|
D | file.c | 93 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_ioctl_attach() 118 arg.pasid = ctx->pasid; in afu_ioctl_get_metadata() 157 rc = ocxl_link_update_pe(link, ctx->pasid, ctx->tidr); in afu_ioctl_enable_p9_wait() 209 pr_debug("%s for context %d, command %s\n", __func__, ctx->pasid, in afu_ioctl() 285 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_mmap() 318 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_poll()
|
/Linux-v4.19/drivers/gpu/drm/amd/amdkfd/ |
D | kfd_dbgmgr.c | 51 pmgr->pasid = 0; in kfd_dbgmgr_uninitialize() 77 new_buff->pasid = 0; in kfd_dbgmgr_create() 98 if (pmgr->pasid != 0) { in kfd_dbgmgr_register() 100 pmgr->pasid); in kfd_dbgmgr_register() 105 pmgr->pasid = p->pasid; in kfd_dbgmgr_register() 119 if (pmgr->pasid != p->pasid) { in kfd_dbgmgr_unregister() 121 p->pasid); in kfd_dbgmgr_unregister() 127 pmgr->pasid = 0; in kfd_dbgmgr_unregister() 136 if (pmgr->pasid != wac_info->process->pasid) { in kfd_dbgmgr_wave_control() 138 wac_info->process->pasid); in kfd_dbgmgr_wave_control() [all …]
|
D | cik_event_interrupt.c | 35 unsigned int vmid, pasid; in cik_event_interrupt_isr() local 50 pasid = f2g->get_atc_vmid_pasid_mapping_pasid(dev->kgd, vmid); in cik_event_interrupt_isr() 54 tmp_ihre->ring_id |= pasid << 16; in cik_event_interrupt_isr() 56 return (pasid != 0) && in cik_event_interrupt_isr() 68 pasid = (ihre->ring_id & 0xffff0000) >> 16; in cik_event_interrupt_isr() 69 if (WARN_ONCE(pasid == 0, "FW bug: No PASID in KFD interrupt")) in cik_event_interrupt_isr() 90 unsigned int pasid = (ihre->ring_id & 0xffff0000) >> 16; in cik_event_interrupt_wq() local 92 if (pasid == 0) in cik_event_interrupt_wq() 96 kfd_signal_event_interrupt(pasid, context_id, 28); in cik_event_interrupt_wq() 98 kfd_signal_event_interrupt(pasid, context_id, 28); in cik_event_interrupt_wq() [all …]
|
D | kfd_int_process_v9.c | 33 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v9() local 43 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v9() 44 if (WARN_ONCE(pasid == 0, "FW bug: No PASID in KFD interrupt")) in event_interrupt_isr_v9() 51 client_id, source_id, pasid); in event_interrupt_isr_v9() 70 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_wq_v9() local 75 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_wq_v9() 80 kfd_signal_event_interrupt(pasid, context_id, 32); in event_interrupt_wq_v9() 82 kfd_signal_event_interrupt(pasid, context_id & 0xfffffff, 28); in event_interrupt_wq_v9() 84 kfd_signal_event_interrupt(pasid, context_id & 0xffffff, 24); in event_interrupt_wq_v9() 86 kfd_signal_hw_exception_event(pasid); in event_interrupt_wq_v9() [all …]
|
D | kfd_iommu.c | 131 err = amd_iommu_bind_pasid(dev->pdev, p->pasid, p->lead_thread); in kfd_iommu_bind_process_to_device() 149 amd_iommu_unbind_pasid(pdd->dev->pdev, p->pasid); in kfd_iommu_unbind_process() 153 static void iommu_pasid_shutdown_callback(struct pci_dev *pdev, int pasid) in iommu_pasid_shutdown_callback() argument 167 p = kfd_lookup_process_by_pasid(pasid); in iommu_pasid_shutdown_callback() 171 pr_debug("Unbinding process %d from IOMMU\n", pasid); in iommu_pasid_shutdown_callback() 175 if (dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) { in iommu_pasid_shutdown_callback() 199 static int iommu_invalid_ppr_cb(struct pci_dev *pdev, int pasid, in iommu_invalid_ppr_cb() argument 209 pasid, in iommu_invalid_ppr_cb() 215 kfd_signal_iommu_event(dev, pasid, address, in iommu_invalid_ppr_cb() 243 err = amd_iommu_bind_pasid(kfd->pdev, p->pasid, in kfd_bind_processes_to_device() [all …]
|
D | kfd_process.c | 323 pdd->dev->id, p->pasid); in kfd_process_destroy_pdds() 363 kfd_pasid_free(p->pasid); in kfd_process_wq_release() 420 if (dev && dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) { in kfd_process_notifier_release() 523 process->pasid = kfd_pasid_alloc(); in create_process() 524 if (process->pasid == 0) in create_process() 585 kfd_pasid_free(process->pasid); in create_process() 805 struct kfd_process *kfd_lookup_process_by_pasid(unsigned int pasid) in kfd_lookup_process_by_pasid() argument 813 if (p->pasid == pasid) { in kfd_lookup_process_by_pasid() 923 pr_debug("Started evicting pasid %d\n", p->pasid); in evict_process_worker() 932 pr_debug("Finished evicting pasid %d\n", p->pasid); in evict_process_worker() [all …]
|
D | kfd_pasid.c | 79 void kfd_pasid_free(unsigned int pasid) in kfd_pasid_free() argument 82 kfd2kgd->free_pasid(pasid); in kfd_pasid_free()
|
/Linux-v4.19/drivers/iommu/ |
D | intel-svm.c | 166 desc.low = QI_EIOTLB_PASID(svm->pasid) | QI_EIOTLB_DID(sdev->did) | in intel_flush_svm_range_dev() 169 desc.low = QI_EIOTLB_PASID(svm->pasid) | QI_EIOTLB_DID(sdev->did) | in intel_flush_svm_range_dev() 175 desc.low = QI_EIOTLB_PASID(svm->pasid) | QI_EIOTLB_DID(sdev->did) | in intel_flush_svm_range_dev() 183 desc.low = QI_DEV_EIOTLB_PASID(svm->pasid) | QI_DEV_EIOTLB_SID(sdev->sid) | in intel_flush_svm_range_dev() 209 !cmpxchg64(&svm->iommu->pasid_state_table[svm->pasid].val, 0, 1ULL << 63)) in intel_flush_svm_range() 238 static void intel_flush_pasid_dev(struct intel_svm *svm, struct intel_svm_dev *sdev, int pasid) in intel_flush_pasid_dev() argument 243 desc.low = QI_PC_TYPE | QI_PC_DID(sdev->did) | QI_PC_PASID_SEL | QI_PC_PASID(pasid); in intel_flush_pasid_dev() 267 intel_pasid_clear_entry(sdev->dev, svm->pasid); in intel_mm_release() 268 intel_flush_pasid_dev(svm, sdev, svm->pasid); in intel_mm_release() 285 int intel_svm_bind_mm(struct device *dev, int *pasid, int flags, struct svm_dev_ops *ops) in intel_svm_bind_mm() argument [all …]
|
D | amd_iommu_v2.c | 55 int pasid; /* PASID index */ member 85 u16 pasid; member 165 int pasid, bool alloc) in __get_pasid_state_ptr() argument 175 index = (pasid >> (9 * level)) & 0x1ff; in __get_pasid_state_ptr() 199 int pasid) in set_pasid_state() argument 206 ptr = __get_pasid_state_ptr(dev_state, pasid, true); in set_pasid_state() 226 static void clear_pasid_state(struct device_state *dev_state, int pasid) in clear_pasid_state() argument 232 ptr = __get_pasid_state_ptr(dev_state, pasid, true); in clear_pasid_state() 244 int pasid) in get_pasid_state() argument 250 ptr = __get_pasid_state_ptr(dev_state, pasid, false); in get_pasid_state() [all …]
|
D | intel-pasid.c | 46 void intel_pasid_free_id(int pasid) in intel_pasid_free_id() argument 49 idr_remove(&pasid_idr, pasid); in intel_pasid_free_id() 53 void *intel_pasid_lookup_id(int pasid) in intel_pasid_lookup_id() argument 58 p = idr_find(&pasid_idr, pasid); in intel_pasid_lookup_id() 207 struct pasid_entry *intel_pasid_get_entry(struct device *dev, int pasid) in intel_pasid_get_entry() argument 213 if (WARN_ON(!pasid_table || pasid < 0 || in intel_pasid_get_entry() 214 pasid >= intel_pasid_get_dev_max_id(dev))) in intel_pasid_get_entry() 219 return &entries[pasid]; in intel_pasid_get_entry() 230 void intel_pasid_clear_entry(struct device *dev, int pasid) in intel_pasid_clear_entry() argument 234 pe = intel_pasid_get_entry(dev, pasid); in intel_pasid_clear_entry()
|
D | intel-pasid.h | 30 void intel_pasid_free_id(int pasid); 31 void *intel_pasid_lookup_id(int pasid); 36 struct pasid_entry *intel_pasid_get_entry(struct device *dev, int pasid); 37 void intel_pasid_clear_entry(struct device *dev, int pasid);
|
D | amd_iommu_proto.h | 58 extern int amd_iommu_flush_page(struct iommu_domain *dom, int pasid, 60 extern int amd_iommu_flush_tlb(struct iommu_domain *dom, int pasid); 61 extern int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, int pasid, 63 extern int amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, int pasid); 79 extern int amd_iommu_complete_ppr(struct pci_dev *pdev, int pasid,
|
/Linux-v4.19/include/linux/ |
D | intel-svm.h | 22 void (*fault_cb)(struct device *dev, int pasid, u64 address, 85 extern int intel_svm_bind_mm(struct device *dev, int *pasid, int flags, 103 extern int intel_svm_unbind_mm(struct device *dev, int pasid); 118 extern int intel_svm_is_pasid_valid(struct device *dev, int pasid); 122 static inline int intel_svm_bind_mm(struct device *dev, int *pasid, in intel_svm_bind_mm() argument 128 static inline int intel_svm_unbind_mm(struct device *dev, int pasid) in intel_svm_unbind_mm() argument 133 static int intel_svm_is_pasid_valid(struct device *dev, int pasid) in intel_svm_is_pasid_valid() argument
|
D | amd-iommu.h | 91 extern int amd_iommu_bind_pasid(struct pci_dev *pdev, int pasid, 103 extern void amd_iommu_unbind_pasid(struct pci_dev *pdev, int pasid); 129 int pasid, 181 typedef void (*amd_iommu_invalidate_ctx)(struct pci_dev *pdev, int pasid);
|
D | intel-iommu.h | 293 #define QI_PC_PASID(pasid) (((u64)pasid) << 32) argument 304 #define QI_EIOTLB_PASID(pasid) (((u64)pasid) << 32) argument 320 #define QI_PGRP_PASID(pasid) (((u64)(pasid)) << 32) argument 330 #define QI_PSTRM_PASID(pasid) (((u64)(pasid)) << 4) argument 552 int pasid; member
|
/Linux-v4.19/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_ids.c | 46 unsigned int pasid; member 62 int pasid = -EINVAL; in amdgpu_pasid_alloc() local 65 pasid = ida_simple_get(&amdgpu_pasid_ida, in amdgpu_pasid_alloc() 68 if (pasid != -ENOSPC) in amdgpu_pasid_alloc() 72 if (pasid >= 0) in amdgpu_pasid_alloc() 73 trace_amdgpu_pasid_allocated(pasid); in amdgpu_pasid_alloc() 75 return pasid; in amdgpu_pasid_alloc() 82 void amdgpu_pasid_free(unsigned int pasid) in amdgpu_pasid_free() argument 84 trace_amdgpu_pasid_freed(pasid); in amdgpu_pasid_free() 85 ida_simple_remove(&amdgpu_pasid_ida, pasid); in amdgpu_pasid_free() [all …]
|
D | amdgpu_trace.h | 89 __field(unsigned, pasid) 100 __entry->pasid = iv->pasid; 109 __entry->timestamp, __entry->pasid, 220 __field(u32, pasid) 229 __entry->pasid = vm->pasid; 237 __entry->pasid, __entry->ring, __entry->vmid, 387 TP_PROTO(unsigned pasid), 388 TP_ARGS(pasid), 390 __field(unsigned, pasid) 393 __entry->pasid = pasid; [all …]
|
D | amdgpu_vm.h | 163 #define AMDGPU_VM_FAULT(pasid, addr) (((u64)(pasid) << 48) | (addr)) argument 202 unsigned int pasid; member 272 int vm_context, unsigned int pasid); 276 unsigned int pasid); 332 void amdgpu_vm_get_task_info(struct amdgpu_device *adev, unsigned int pasid,
|
D | amdgpu_ids.h | 61 unsigned pasid; member 74 void amdgpu_pasid_free(unsigned int pasid); 76 unsigned int pasid);
|
D | cik_ih.c | 241 u16 pasid; in cik_ih_prescreen_iv() local 246 pasid = le32_to_cpu(adev->irq.ih.ring[ring_index + 2]) >> 16; in cik_ih_prescreen_iv() 247 if (!pasid || amdgpu_vm_pasid_fault_credit(adev, pasid)) in cik_ih_prescreen_iv() 284 entry->pasid = (dw[2] >> 16) & 0xffff; in cik_ih_decode_iv()
|
D | cz_ih.c | 220 u16 pasid; in cz_ih_prescreen_iv() local 225 pasid = le32_to_cpu(adev->irq.ih.ring[ring_index + 2]) >> 16; in cz_ih_prescreen_iv() 226 if (!pasid || amdgpu_vm_pasid_fault_credit(adev, pasid)) in cz_ih_prescreen_iv() 263 entry->pasid = (dw[2] >> 16) & 0xffff; in cz_ih_decode_iv()
|
/Linux-v4.19/include/misc/ |
D | ocxl.h | 156 int afu_control_offset, int pasid); 186 extern int ocxl_link_add_pe(void *link_handle, int pasid, u32 pidr, u32 tidr, 198 extern int ocxl_link_update_pe(void *link_handle, int pasid, __u16 tid); 203 extern int ocxl_link_remove_pe(void *link_handle, int pasid);
|