/linux/drivers/misc/ocxl/ |
A D | trace.h | 45 __entry->pasid = pasid; 50 __entry->pasid, 65 __entry->pasid = pasid; 70 __entry->pasid, 90 __entry->pasid = pasid; 98 __entry->pasid, 124 __entry->pasid = pasid; 129 __entry->pasid, 185 __entry->pasid = pasid; 192 __entry->pasid, [all …]
|
A D | context.c | 10 int pasid; in ocxl_context_alloc() local 19 pasid = idr_alloc(&afu->contexts_idr, ctx, afu->pasid_base, in ocxl_context_alloc() 21 if (pasid < 0) { in ocxl_context_alloc() 24 return pasid; in ocxl_context_alloc() 29 ctx->pasid = pasid; in ocxl_context_alloc() 129 pasid_off = ctx->pasid - ctx->afu->pasid_base; in map_pp_mmio() 148 ctx->pasid, vmf->address, offset); in ocxl_mmap_fault() 231 rc = ocxl_config_terminate_pasid(dev, afu_control_pos, ctx->pasid); in ocxl_context_detach() 233 trace_ocxl_terminate_pasid(ctx->pasid, rc); in ocxl_context_detach() 251 rc = ocxl_link_remove_pe(ctx->afu->fn->link, ctx->pasid); in ocxl_context_detach() [all …]
|
A D | link.c | 549 if (pasid > SPA_PASID_MAX) in ocxl_link_add_pe() 553 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_add_pe() 575 pe->pasid = cpu_to_be32(pasid << (31 - 19)); in ocxl_link_add_pe() 594 trace_ocxl_init_mmu_notifier(pasid, mm->context.id); in ocxl_link_add_pe() 637 if (pasid > SPA_PASID_MAX) in ocxl_link_update_pe() 640 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_update_pe() 666 int ocxl_link_remove_pe(void *link_handle, int pasid) in ocxl_link_remove_pe() argument 674 if (pasid > SPA_PASID_MAX) in ocxl_link_remove_pe() 695 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_remove_pe() 705 trace_ocxl_context_remove(current->pid, spa->spa_mem, pasid, in ocxl_link_remove_pe() [all …]
|
/linux/drivers/gpu/drm/amd/amdkfd/ |
A 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 …]
|
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() 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() 113 kfd_process_vm_fault(dev->dqm, pasid); in cik_event_interrupt_wq() 121 kfd_signal_vm_fault_event(dev, pasid, &info); in cik_event_interrupt_wq() [all …]
|
A D | kfd_int_process_v9.c | 97 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v9() local 108 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v9() 140 pasid = dev->dqm->vmid_pasid[vmid]; in event_interrupt_isr_v9() 144 & ~pasid_mask) | pasid); in event_interrupt_isr_v9() 148 client_id, source_id, vmid, pasid); in event_interrupt_isr_v9() 173 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_wq_v9() local 243 kfd_signal_hw_exception_event(pasid); in event_interrupt_wq_v9() 255 kfd_signal_poison_consumed_event(dev, pasid); in event_interrupt_wq_v9() 273 kfd_smi_event_update_vmfault(dev, pasid); in event_interrupt_wq_v9() 274 kfd_process_vm_fault(dev->dqm, pasid); in event_interrupt_wq_v9() [all …]
|
A D | kfd_iommu.c | 124 err = amd_iommu_bind_pasid(dev->pdev, p->pasid, p->lead_thread); in kfd_iommu_bind_process_to_device() 142 amd_iommu_unbind_pasid(p->pdds[i]->dev->pdev, p->pasid); in kfd_iommu_unbind_process() 146 static void iommu_pasid_shutdown_callback(struct pci_dev *pdev, u32 pasid) in iommu_pasid_shutdown_callback() argument 160 p = kfd_lookup_process_by_pasid(pasid); in iommu_pasid_shutdown_callback() 164 pr_debug("Unbinding process 0x%x from IOMMU\n", pasid); in iommu_pasid_shutdown_callback() 168 if (dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) { in iommu_pasid_shutdown_callback() 192 static int iommu_invalid_ppr_cb(struct pci_dev *pdev, u32 pasid, in iommu_invalid_ppr_cb() argument 202 pasid, in iommu_invalid_ppr_cb() 208 kfd_signal_iommu_event(dev, pasid, address, in iommu_invalid_ppr_cb() 236 err = amd_iommu_bind_pasid(kfd->pdev, p->pasid, in kfd_bind_processes_to_device() [all …]
|
A D | kfd_process.c | 284 dev->id, proc->pasid); in kfd_get_cu_occupancy() 999 pdd->dev->id, p->pasid); in kfd_process_destroy_pdds() 1101 kfd_pasid_free(p->pasid); in kfd_process_wq_release() 1165 if (dev && dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) { in kfd_process_notifier_release() 1370 process->pasid = kfd_pasid_alloc(); in create_process() 1371 if (process->pasid == 0) in create_process() 1419 kfd_pasid_free(process->pasid); in create_process() 1550 dev->kgd, drm_file, p->pasid, in kfd_process_device_init_vm() 1674 if (p->pasid == pasid) { in kfd_lookup_process_by_pasid() 1906 p->pasid); in kfd_resume_all_processes() [all …]
|
/linux/drivers/iommu/ |
A D | iommu-sva-lib.c | 29 ioasid_t pasid; in iommu_sva_alloc_pasid() local 36 if (mm->pasid) { in iommu_sva_alloc_pasid() 37 if (mm->pasid >= min && mm->pasid <= max) in iommu_sva_alloc_pasid() 38 ioasid_get(mm->pasid); in iommu_sva_alloc_pasid() 42 pasid = ioasid_alloc(&iommu_sva_pasid, min, max, mm); in iommu_sva_alloc_pasid() 43 if (pasid == INVALID_IOASID) in iommu_sva_alloc_pasid() 46 mm->pasid = pasid; in iommu_sva_alloc_pasid() 62 if (ioasid_put(mm->pasid)) in iommu_sva_free_pasid() 63 mm->pasid = 0; in iommu_sva_free_pasid() 82 struct mm_struct *iommu_sva_find(ioasid_t pasid) in iommu_sva_find() argument [all …]
|
/linux/drivers/iommu/intel/ |
A D | svm.c | 38 XA_LIMIT(pasid, pasid), GFP_ATOMIC); in pasid_private_add() 296 if (pasid == INVALID_IOASID || pasid >= PASID_MAX) in pasid_to_svm_sdev() 539 svm->pasid = mm->pasid; in intel_svm_bind_mm() 580 sdev->pasid = svm->pasid; in intel_svm_bind_mm() 761 if (!req->pasid_present || req->pasid != pasid) { in intel_svm_drain_prq() 838 event.fault.prm.pasid = desc->pasid; in intel_svm_prq_report() 959 if (!svm || svm->pasid != req->pasid) { in prq_event_thread() 1069 u32 pasid; in intel_svm_get_pasid() local 1073 pasid = sdev->pasid; in intel_svm_get_pasid() 1076 return pasid; in intel_svm_get_pasid() [all …]
|
A D | pasid.c | 45 *pasid = VCMD_VRSP_RESULT_PASID(res); in vcmd_alloc_pasid() 258 dir_index = pasid >> PASID_PDE_SHIFT; in intel_pasid_get_entry() 259 index = pasid & PASID_PTE_MASK; in intel_pasid_get_entry() 470 u16 did, u32 pasid) in pasid_cache_invalidation_with_pasid() argument 475 QI_PC_PASID(pasid) | QI_PC_TYPE; in pasid_cache_invalidation_with_pasid() 504 if (pasid == PASID_RID2PASID) in devtlb_invalidation_with_pasid() 511 u32 pasid, bool fault_ignore) in intel_pasid_tear_down_entry() argument 549 u32 pasid, u16 did) in pasid_flush_caches() argument 584 u32 pasid, u16 did, int flags) in intel_pasid_setup_first_level() argument 720 if (pasid != PASID_RID2PASID) in intel_pasid_setup_second_level() [all …]
|
A D | pasid.h | 114 u32 pasid, u16 did, int flags); 117 struct device *dev, u32 pasid); 120 struct device *dev, u32 pasid); 122 struct device *dev, pgd_t *pgd, u32 pasid, 126 struct device *dev, u32 pasid, 128 int vcmd_alloc_pasid(struct intel_iommu *iommu, u32 *pasid); 129 void vcmd_free_pasid(struct intel_iommu *iommu, u32 pasid);
|
/linux/drivers/pci/ |
A D | ats.c | 364 int pasid = pdev->pasid_cap; in pci_enable_pasid() local 382 if (!pasid) in pci_enable_pasid() 410 int pasid = pdev->pasid_cap; in pci_disable_pasid() local 419 if (!pasid) in pci_disable_pasid() 443 if (!pasid) in pci_restore_pasid_state() 463 int pasid; in pci_pasid_features() local 468 pasid = pdev->pasid_cap; in pci_pasid_features() 469 if (!pasid) in pci_pasid_features() 492 int pasid; in pci_max_pasids() local 497 pasid = pdev->pasid_cap; in pci_max_pasids() [all …]
|
/linux/drivers/iommu/amd/ |
A D | iommu_v2.c | 45 u32 pasid; /* PASID index */ member 75 u32 pasid; member 155 u32 pasid, bool alloc) in __get_pasid_state_ptr() argument 189 u32 pasid) in set_pasid_state() argument 234 u32 pasid) in get_pasid_state() argument 438 fault->pasid, in handle_fault_error() 576 fault->pasid = iommu_fault->pasid; in ppr_notifier() 620 if (pasid >= dev_state->max_pasids) in amd_iommu_bind_pasid() 636 pasid_state->pasid = pasid; in amd_iommu_bind_pasid() 668 clear_pasid_state(dev_state, pasid); in amd_iommu_bind_pasid() [all …]
|
A D | amd_iommu.h | 55 extern int amd_iommu_flush_page(struct iommu_domain *dom, u32 pasid, 61 extern int amd_iommu_flush_tlb(struct iommu_domain *dom, u32 pasid); 62 extern int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, u32 pasid, 64 extern int amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, u32 pasid); 79 extern int amd_iommu_complete_ppr(struct pci_dev *pdev, u32 pasid,
|
A D | iommu.c | 531 u32 pasid; in iommu_print_event() local 560 pasid, address, flags); in iommu_print_event() 572 pasid, address, flags); in iommu_print_event() 590 pasid, address, flags); in iommu_print_event() 599 pasid = PPR_PASID(*((u64 *)__evt)); in iommu_print_event() 603 pasid, address, flags, tag); in iommu_print_event() 638 fault.pasid = PPR_PASID(raw[0]); in iommu_handle_ppr_entry() 959 cmd->data[0] = pasid; in build_inv_iommu_pasid() 981 cmd->data[1] |= (pasid & 0xff) << 16; in build_inv_iotlb_pasid() 997 cmd->data[1] = pasid; in build_complete_ppr() [all …]
|
/linux/drivers/gpu/drm/amd/amdgpu/ |
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 120 amdgpu_pasid_free(pasid); in amdgpu_pasid_free_delayed() 145 amdgpu_pasid_free(pasid); in amdgpu_pasid_free_delayed() 147 cb->pasid = pasid; in amdgpu_pasid_free_delayed() 160 amdgpu_pasid_free(pasid); in amdgpu_pasid_free_delayed() [all …]
|
A D | amdgpu_trace.h | 88 __field(unsigned, pasid) 100 __entry->pasid = iv->pasid; 221 __field(u32, pasid) 231 __entry->pasid = vm->pasid; 438 TP_PROTO(unsigned pasid), 439 TP_ARGS(pasid), 444 __entry->pasid = pasid; 450 TP_PROTO(unsigned pasid), 451 TP_ARGS(pasid) 455 TP_PROTO(unsigned pasid), [all …]
|
A D | amdgpu_gmc.h | 115 int (*flush_gpu_tlb_pasid)(struct amdgpu_device *adev, uint16_t pasid, 122 unsigned pasid); 266 #define amdgpu_gmc_flush_gpu_tlb_pasid(adev, pasid, type, allhub) \ argument 268 ((adev), (pasid), (type), (allhub))) 270 …e amdgpu_gmc_emit_pasid_mapping(r, vmid, pasid) (r)->adev->gmc.gmc_funcs->emit_pasid_mapping((r), … argument 320 uint16_t pasid, uint64_t timestamp); 322 uint16_t pasid);
|
A D | amdgpu_ids.h | 61 unsigned pasid; member 74 void amdgpu_pasid_free(u32 pasid); 76 u32 pasid);
|
/linux/arch/csky/mm/ |
A D | asid.c | 79 static u64 new_context(struct asid_info *info, atomic64_t *pasid, in new_context() argument 83 u64 asid = atomic64_read(pasid); in new_context() 137 void asid_new_context(struct asid_info *info, atomic64_t *pasid, in asid_new_context() argument 145 asid = atomic64_read(pasid); in asid_new_context() 147 asid = new_context(info, pasid, mm); in asid_new_context() 148 atomic64_set(pasid, asid); in asid_new_context()
|
/linux/include/uapi/linux/ |
A D | iommu.h | 75 __u32 pasid; member 100 __u32 pasid; member 156 __u32 pasid; member 195 __u64 pasid; member 221 __u64 pasid; member
|
/linux/arch/csky/include/asm/ |
A D | asid.h | 33 void asid_new_context(struct asid_info *info, atomic64_t *pasid, 43 atomic64_t *pasid, unsigned int cpu, in asid_check_context() argument 48 asid = atomic64_read(pasid); in asid_check_context() 71 asid_new_context(info, pasid, cpu, mm); in asid_check_context()
|
/linux/include/linux/ |
A D | amd-iommu.h | 63 extern int amd_iommu_bind_pasid(struct pci_dev *pdev, u32 pasid, 75 extern void amd_iommu_unbind_pasid(struct pci_dev *pdev, u32 pasid); 101 u32 pasid, 153 typedef void (*amd_iommu_invalidate_ctx)(struct pci_dev *pdev, u32 pasid);
|
/linux/drivers/dma/idxd/ |
A D | cdev.c | 37 unsigned int pasid; member 80 unsigned int pasid; in idxd_cdev_open() local 110 pasid = iommu_sva_get_pasid(sva); in idxd_cdev_open() 111 if (pasid == IOMMU_PASID_INVALID) { in idxd_cdev_open() 118 ctx->pasid = pasid; in idxd_cdev_open() 121 rc = idxd_wq_set_pasid(wq, pasid); in idxd_cdev_open() 153 idxd_device_drain_pasid(idxd, ctx->pasid); in idxd_cdev_release()
|