Home
last modified time | relevance | path

Searched refs:pasid (Results 1 – 25 of 83) sorted by relevance

1234

/Linux-v5.4/drivers/misc/ocxl/
Dtrace.h12 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 …]
Dcontext.c10 int pasid; in ocxl_context_alloc() local
21 pasid = idr_alloc(&afu->contexts_idr, ctx, afu->pasid_base, in ocxl_context_alloc()
23 if (pasid < 0) { in ocxl_context_alloc()
25 return pasid; in ocxl_context_alloc()
30 ctx->pasid = pasid; in ocxl_context_alloc()
84 rc = ocxl_link_add_pe(ctx->afu->fn->link, ctx->pasid, pidr, ctx->tidr, in ocxl_context_attach()
127 pasid_off = ctx->pasid - ctx->afu->pasid_base; in map_pp_mmio()
146 ctx->pasid, vmf->address, offset); in ocxl_mmap_fault()
229 rc = ocxl_config_terminate_pasid(dev, afu_control_pos, ctx->pasid); in ocxl_context_detach()
231 trace_ocxl_terminate_pasid(ctx->pasid, rc); in ocxl_context_detach()
[all …]
Dlink.c495 int ocxl_link_add_pe(void *link_handle, int pasid, u32 pidr, u32 tidr, in ocxl_link_add_pe() argument
507 if (pasid > SPA_PASID_MAX) in ocxl_link_add_pe()
511 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_add_pe()
568 trace_ocxl_context_add(current->pid, spa->spa_mem, pasid, pidr, tidr); in ocxl_link_add_pe()
575 int ocxl_link_update_pe(void *link_handle, int pasid, __u16 tid) in ocxl_link_update_pe() argument
582 if (pasid > SPA_PASID_MAX) in ocxl_link_update_pe()
585 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_update_pe()
611 int ocxl_link_remove_pe(void *link_handle, int pasid) in ocxl_link_remove_pe() argument
619 if (pasid > SPA_PASID_MAX) in ocxl_link_remove_pe()
640 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_remove_pe()
[all …]
Dfile.c80 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_ioctl_attach()
105 arg.pasid = ctx->pasid; in afu_ioctl_get_metadata()
142 ctx->pasid, ctx->tidr); in afu_ioctl_enable_p9_wait()
213 pr_debug("%s for context %d, command %s\n", __func__, ctx->pasid, in afu_ioctl()
298 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_mmap()
331 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_poll()
/Linux-v5.4/drivers/gpu/drm/amd/amdkfd/
Dkfd_dbgmgr.c51 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 …]
Dcik_event_interrupt.c36 unsigned int vmid, pasid; in cik_event_interrupt_isr() local
51 pasid = f2g->get_atc_vmid_pasid_mapping_pasid(dev->kgd, vmid); in cik_event_interrupt_isr()
55 tmp_ihre->ring_id |= pasid << 16; in cik_event_interrupt_isr()
57 return (pasid != 0) && in cik_event_interrupt_isr()
69 pasid = (ihre->ring_id & 0xffff0000) >> 16; in cik_event_interrupt_isr()
70 if (WARN_ONCE(pasid == 0, "FW bug: No PASID in KFD interrupt")) in cik_event_interrupt_isr()
91 unsigned int pasid = (ihre->ring_id & 0xffff0000) >> 16; in cik_event_interrupt_wq() local
93 if (pasid == 0) in cik_event_interrupt_wq()
97 kfd_signal_event_interrupt(pasid, context_id, 28); in cik_event_interrupt_wq()
99 kfd_signal_event_interrupt(pasid, context_id, 28); in cik_event_interrupt_wq()
[all …]
Dkfd_int_process_v9.c33 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v9() local
44 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v9()
50 if (!pasid && dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { in event_interrupt_isr_v9()
57 pasid = dev->kfd2kgd->get_atc_vmid_pasid_mapping_pasid( in event_interrupt_isr_v9()
62 & ~pasid_mask) | pasid); in event_interrupt_isr_v9()
66 client_id, source_id, vmid, pasid); in event_interrupt_isr_v9()
72 if (WARN_ONCE(pasid == 0, "Bug: No PASID in KFD interrupt")) in event_interrupt_isr_v9()
90 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_wq_v9() local
95 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_wq_v9()
100 kfd_signal_event_interrupt(pasid, context_id, 32); in event_interrupt_wq_v9()
[all …]
Dkfd_iommu.c123 err = amd_iommu_bind_pasid(dev->pdev, p->pasid, p->lead_thread); in kfd_iommu_bind_process_to_device()
141 amd_iommu_unbind_pasid(pdd->dev->pdev, p->pasid); in kfd_iommu_unbind_process()
145 static void iommu_pasid_shutdown_callback(struct pci_dev *pdev, int pasid) in iommu_pasid_shutdown_callback() argument
159 p = kfd_lookup_process_by_pasid(pasid); in iommu_pasid_shutdown_callback()
163 pr_debug("Unbinding process %d from IOMMU\n", pasid); in iommu_pasid_shutdown_callback()
167 if (dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) { in iommu_pasid_shutdown_callback()
191 static int iommu_invalid_ppr_cb(struct pci_dev *pdev, int pasid, in iommu_invalid_ppr_cb() argument
201 pasid, in iommu_invalid_ppr_cb()
207 kfd_signal_iommu_event(dev, pasid, address, in iommu_invalid_ppr_cb()
235 err = amd_iommu_bind_pasid(kfd->pdev, p->pasid, in kfd_bind_processes_to_device()
[all …]
Dkfd_process.c85 val = p->pasid; in kfd_procfs_show()
420 pdd->dev->id, p->pasid); in kfd_process_destroy_pdds()
471 kfd_pasid_free(p->pasid); in kfd_process_wq_release()
526 if (dev && dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) { in kfd_process_notifier_release()
642 process->pasid = kfd_pasid_alloc(); in create_process()
643 if (process->pasid == 0) in create_process()
678 kfd_pasid_free(process->pasid); in create_process()
788 dev->kgd, drm_file, p->pasid, in kfd_process_device_init_vm()
791 ret = amdgpu_amdkfd_gpuvm_create_process_vm(dev->kgd, p->pasid, in kfd_process_device_init_vm()
905 struct kfd_process *kfd_lookup_process_by_pasid(unsigned int pasid) in kfd_lookup_process_by_pasid() argument
[all …]
Dkfd_pasid.c80 void kfd_pasid_free(unsigned int pasid) in kfd_pasid_free() argument
83 amdgpu_pasid_free(pasid); in kfd_pasid_free()
/Linux-v5.4/drivers/iommu/
Dintel-pasid.c48 void intel_pasid_free_id(int pasid) in intel_pasid_free_id() argument
51 idr_remove(&pasid_idr, pasid); in intel_pasid_free_id()
55 void *intel_pasid_lookup_id(int pasid) in intel_pasid_lookup_id() argument
60 p = idr_find(&pasid_idr, pasid); in intel_pasid_lookup_id()
224 struct pasid_entry *intel_pasid_get_entry(struct device *dev, int pasid) in intel_pasid_get_entry() argument
233 if (WARN_ON(!pasid_table || pasid < 0 || in intel_pasid_get_entry()
234 pasid >= intel_pasid_get_dev_max_id(dev))) in intel_pasid_get_entry()
239 dir_index = pasid >> PASID_PDE_SHIFT; in intel_pasid_get_entry()
240 index = pasid & PASID_PTE_MASK; in intel_pasid_get_entry()
274 static void intel_pasid_clear_entry(struct device *dev, int pasid) in intel_pasid_clear_entry() argument
[all …]
Dintel-svm.c112 desc.qw0 = QI_EIOTLB_PASID(svm->pasid) | in intel_flush_svm_range_dev()
120 desc.qw0 = QI_EIOTLB_PASID(svm->pasid) | in intel_flush_svm_range_dev()
133 desc.qw0 = QI_DEV_EIOTLB_PASID(svm->pasid) | in intel_flush_svm_range_dev()
199 intel_pasid_tear_down_entry(svm->iommu, sdev->dev, svm->pasid); in intel_mm_release()
214 int intel_svm_bind_mm(struct device *dev, int *pasid, int flags, struct svm_dev_ops *ops) in intel_svm_bind_mm() argument
237 } else if (pasid) { in intel_svm_bind_mm()
243 if (pasid && !(flags & SVM_FLAG_PRIVATE_PASID)) { in intel_svm_bind_mm()
251 if (svm->pasid >= pasid_max) { in intel_svm_bind_mm()
254 svm->pasid); in intel_svm_bind_mm()
282 if (ret || !pasid) { in intel_svm_bind_mm()
[all …]
Damd_iommu_v2.c45 int pasid; /* PASID index */ member
75 u16 pasid; member
155 int pasid, bool alloc) in __get_pasid_state_ptr() argument
165 index = (pasid >> (9 * level)) & 0x1ff; in __get_pasid_state_ptr()
189 int pasid) in set_pasid_state() argument
196 ptr = __get_pasid_state_ptr(dev_state, pasid, true); in set_pasid_state()
216 static void clear_pasid_state(struct device_state *dev_state, int pasid) in clear_pasid_state() argument
222 ptr = __get_pasid_state_ptr(dev_state, pasid, true); in clear_pasid_state()
234 int pasid) in get_pasid_state() argument
240 ptr = __get_pasid_state_ptr(dev_state, pasid, false); in get_pasid_state()
[all …]
Dintel-pasid.h80 void intel_pasid_free_id(int pasid);
81 void *intel_pasid_lookup_id(int pasid);
86 struct pasid_entry *intel_pasid_get_entry(struct device *dev, int pasid);
89 int pasid, u16 did, int flags);
92 struct device *dev, int pasid);
95 struct device *dev, int pasid);
97 struct device *dev, int pasid);
Damd_iommu_proto.h46 extern int amd_iommu_flush_page(struct iommu_domain *dom, int pasid,
48 extern int amd_iommu_flush_tlb(struct iommu_domain *dom, int pasid);
49 extern int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, int pasid,
51 extern int amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, int pasid);
67 extern int amd_iommu_complete_ppr(struct pci_dev *pdev, int pasid,
/Linux-v5.4/include/linux/
Dintel-svm.h14 void (*fault_cb)(struct device *dev, int pasid, u64 address,
77 extern int intel_svm_bind_mm(struct device *dev, int *pasid, int flags,
95 extern int intel_svm_unbind_mm(struct device *dev, int pasid);
110 extern int intel_svm_is_pasid_valid(struct device *dev, int pasid);
114 static inline int intel_svm_bind_mm(struct device *dev, int *pasid, in intel_svm_bind_mm() argument
120 static inline int intel_svm_unbind_mm(struct device *dev, int pasid) in intel_svm_unbind_mm() argument
125 static int intel_svm_is_pasid_valid(struct device *dev, int pasid) in intel_svm_is_pasid_valid() argument
Damd-iommu.h79 extern int amd_iommu_bind_pasid(struct pci_dev *pdev, int pasid,
91 extern void amd_iommu_unbind_pasid(struct pci_dev *pdev, int pasid);
117 int pasid,
169 typedef void (*amd_iommu_invalidate_ctx)(struct pci_dev *pdev, int pasid);
/Linux-v5.4/drivers/gpu/drm/amd/amdgpu/
Damdgpu_ids.c46 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 …]
Damdgpu_trace.h88 __field(unsigned, pasid)
100 __entry->pasid = iv->pasid;
110 __entry->timestamp, __entry->pasid,
221 __field(u32, pasid)
231 __entry->pasid = vm->pasid;
239 __entry->pasid, __get_str(ring), __entry->vmid,
389 TP_PROTO(unsigned pasid),
390 TP_ARGS(pasid),
392 __field(unsigned, pasid)
395 __entry->pasid = pasid;
[all …]
Damdgpu_ids.h61 unsigned pasid; member
74 void amdgpu_pasid_free(unsigned int pasid);
76 unsigned int pasid);
Damdgpu_gmc.h99 unsigned pasid);
186 …e amdgpu_gmc_emit_pasid_mapping(r, vmid, pasid) (r)->adev->gmc.gmc_funcs->emit_pasid_mapping((r), … argument
232 uint16_t pasid, uint64_t timestamp);
Damdgpu_vm.c1037 bool pasid_mapping_needed = id->pasid != job->pasid || in amdgpu_vm_flush()
1071 amdgpu_gmc_emit_pasid_mapping(ring, job->vmid, job->pasid); in amdgpu_vm_flush()
1089 id->pasid = job->pasid; in amdgpu_vm_flush()
2668 int vm_context, unsigned int pasid) in amdgpu_vm_init() argument
2737 if (pasid) { in amdgpu_vm_init()
2741 r = idr_alloc(&adev->vm_manager.pasid_idr, vm, pasid, pasid + 1, in amdgpu_vm_init()
2747 vm->pasid = pasid; in amdgpu_vm_init()
2819 int amdgpu_vm_make_compute(struct amdgpu_device *adev, struct amdgpu_vm *vm, unsigned int pasid) in amdgpu_vm_make_compute() argument
2833 if (pasid) { in amdgpu_vm_make_compute()
2837 r = idr_alloc(&adev->vm_manager.pasid_idr, vm, pasid, pasid + 1, in amdgpu_vm_make_compute()
[all …]
/Linux-v5.4/arch/csky/include/asm/
Dasid.h33 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-v5.4/arch/csky/mm/
Dasid.c79 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-v5.4/include/uapi/linux/
Diommu.h75 __u32 pasid; member
96 __u32 pasid; member
150 __u32 pasid; member

1234