| /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 | 550 if (pasid > SPA_PASID_MAX) in ocxl_link_add_pe() 554 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_add_pe() 576 pe->pasid = cpu_to_be32(pasid << (31 - 19)); in ocxl_link_add_pe() 595 trace_ocxl_init_mmu_notifier(pasid, mm->context.id); in ocxl_link_add_pe() 638 if (pasid > SPA_PASID_MAX) in ocxl_link_update_pe() 641 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_update_pe() 667 int ocxl_link_remove_pe(void *link_handle, int pasid) in ocxl_link_remove_pe() argument 675 if (pasid > SPA_PASID_MAX) in ocxl_link_remove_pe() 696 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_remove_pe() 706 trace_ocxl_context_remove(current->pid, spa->spa_mem, pasid, in ocxl_link_remove_pe() [all …]
|
| /linux/drivers/gpu/drm/amd/amdkfd/ |
| 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 …]
|
| A D | kfd_int_process_v11.c | 192 uint16_t pasid, uint16_t source_id) in event_interrupt_poison_consumption_v11() argument 214 ret = dev->dqm->ops.reset_queues(dev->dqm, pasid); in event_interrupt_poison_consumption_v11() 226 kfd_signal_poison_consumed_event(dev, pasid); in event_interrupt_poison_consumption_v11() 238 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v11() local 251 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v11() 259 client_id, source_id, vmid, pasid); in event_interrupt_isr_v11() 294 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_wq_v11() 320 kfd_set_dbg_ev_from_interrupt(dev, pasid, -1, in event_interrupt_wq_v11() 323 kfd_smi_event_update_vmfault(dev, pasid); in event_interrupt_wq_v11() 375 dev, pasid, source_id); in event_interrupt_wq_v11() [all …]
|
| A D | kfd_int_process_v9.c | 145 uint16_t pasid, uint16_t client_id) in event_interrupt_poison_consumption_v9() argument 235 block, pasid, NULL, NULL, reset); in event_interrupt_poison_consumption_v9() 262 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v9() local 308 pasid = dev->dqm->vmid_pasid[vmid]; in event_interrupt_isr_v9() 312 & ~pasid_mask) | pasid); in event_interrupt_isr_v9() 316 client_id, source_id, vmid, pasid); in event_interrupt_isr_v9() 357 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_wq_v9() local 434 kfd_set_dbg_ev_from_interrupt(dev, pasid, in event_interrupt_wq_v9() 482 pasid, in event_interrupt_wq_v9() 487 kfd_smi_event_update_vmfault(dev, pasid); in event_interrupt_wq_v9() [all …]
|
| A D | kfd_int_process_v10.c | 137 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v10() local 150 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v10() 172 client_id, source_id, vmid, pasid); in event_interrupt_isr_v10() 178 if (WARN_ONCE(pasid == 0, "Bug: No PASID in KFD interrupt")) in event_interrupt_isr_v10() 197 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_wq_v10() local 203 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_wq_v10() 214 kfd_signal_event_interrupt(pasid, context_id0, 32); in event_interrupt_wq_v10() 252 if (kfd_set_dbg_ev_from_interrupt(dev, pasid, in event_interrupt_wq_v10() 285 kfd_set_dbg_ev_from_interrupt(dev, pasid, in event_interrupt_wq_v10() 328 pasid, in event_interrupt_wq_v10() [all …]
|
| /linux/drivers/iommu/amd/ |
| A D | pasid.c | 24 ioasid_t pasid) in is_pasid_valid() argument 26 if (pasid > 0 && pasid < dev_data->max_pasids) in is_pasid_valid() 43 struct device *dev, ioasid_t pasid) in remove_pdom_dev_pasid() argument 52 pdom_dev_data->pasid == pasid) { in remove_pdom_dev_pasid() 73 pdom_dev_data->pasid, in sva_arch_invalidate_secondary_tlbs() 103 struct device *dev, ioasid_t pasid) in iommu_sva_set_dev_pasid() argument 112 if (!is_pasid_valid(dev_data, pasid)) in iommu_sva_set_dev_pasid() 124 pdom_dev_data->pasid = pasid; in iommu_sva_set_dev_pasid() 130 ret = amd_iommu_set_gcr3(dev_data, pasid, in iommu_sva_set_dev_pasid() 150 if (!is_pasid_valid(dev_iommu_priv_get(dev), pasid)) in amd_iommu_remove_dev_pasid() [all …]
|
| A D | amd_iommu.h | 55 struct device *dev, ioasid_t pasid); 56 void amd_iommu_remove_dev_pasid(struct device *dev, ioasid_t pasid, 74 ioasid_t pasid, unsigned long gcr3); 75 int amd_iommu_clear_gcr3(struct iommu_dev_data *dev_data, ioasid_t pasid); 82 int amd_iommu_complete_ppr(struct device *dev, u32 pasid, int status, int tag); 94 ioasid_t pasid, u64 address, size_t size);
|
| /linux/drivers/iommu/intel/ |
| A D | cache.c | 25 ioasid_t pasid, enum cache_tag_type type) in cache_tage_match() argument 30 if (tag->domain_id != domain_id || tag->pasid != pasid) in cache_tage_match() 44 struct device *dev, ioasid_t pasid, in cache_tag_assign() argument 59 tag->pasid = pasid; in cache_tag_assign() 86 struct device *dev, ioasid_t pasid, in cache_tag_unassign() argument 109 struct device *dev, ioasid_t pasid) in __cache_tag_assign_domain() argument 126 struct device *dev, ioasid_t pasid) in __cache_tag_unassign_domain() argument 137 struct device *dev, ioasid_t pasid) in __cache_tag_assign_parent_domain() argument 188 struct device *dev, ioasid_t pasid) in cache_tag_assign_domain() argument 322 u32 pasid, u16 qdep, u64 addr, in qi_batch_add_pasid_dev_iotlb() argument [all …]
|
| A D | pasid.c | 143 dir_index = pasid >> PASID_PDE_SHIFT; in intel_pasid_get_entry() 144 index = pasid & PASID_PTE_MASK; in intel_pasid_get_entry() 196 u16 did, u32 pasid) in pasid_cache_invalidation_with_pasid() argument 201 QI_PC_PASID(pasid) | QI_PC_TYPE; in pasid_cache_invalidation_with_pasid() 233 if (pasid == IOMMU_NO_PASID) in devtlb_invalidation_with_pasid() 240 u32 pasid, bool fault_ignore) in intel_pasid_tear_down_entry() argument 276 u32 pasid, u16 did) in pasid_flush_caches() argument 295 u32 pasid, u16 did, int flags) in intel_pasid_setup_first_level() argument 372 struct device *dev, u32 pasid) in intel_pasid_setup_second_level() argument 503 struct device *dev, u32 pasid) in intel_pasid_setup_pass_through() argument [all …]
|
| A D | svm.c | 179 dev_pasid->pasid, true); in intel_mm_release() 200 struct device *dev, ioasid_t pasid) in intel_svm_set_dev_pasid() argument 216 dev_pasid->pasid = pasid; in intel_svm_set_dev_pasid() 251 u64 pasid:20; member 295 void intel_drain_pasid_prq(struct device *dev, u32 pasid) in intel_drain_pasid_prq() argument 332 if (!req->pasid_present || req->pasid != pasid) { in intel_drain_pasid_prq() 351 desc[1].qw0 = QI_EIOTLB_PASID(pasid) | in intel_drain_pasid_prq() 355 desc[2].qw0 = QI_DEV_EIOTLB_PASID(pasid) | in intel_drain_pasid_prq() 393 event.fault.prm.pasid = desc->pasid; in intel_svm_prq_report() 419 desc.qw0 = QI_PGRP_PASID(req->pasid) | in handle_bad_prq_event() [all …]
|
| A D | trace.h | 101 __field(u32, pasid) 109 __entry->pasid = tag->pasid; 119 __entry->domain_id, __entry->pasid, __entry->users 147 __field(u32, pasid) 159 __entry->pasid = tag->pasid; 167 __get_str(iommu), __get_str(dev), __entry->pasid,
|
| A D | pasid.h | 295 u32 pasid, u16 did, int flags); 298 struct device *dev, u32 pasid); 300 struct device *dev, u32 pasid, 303 struct device *dev, u32 pasid); 305 u32 pasid, struct dmar_domain *domain); 307 struct device *dev, u32 pasid, 310 struct device *dev, u32 pasid);
|
| A D | iommu.h | 428 #define QI_PC_PASID(pasid) (((u64)pasid) << 32) argument 440 #define QI_EIOTLB_PASID(pasid) (((u64)pasid) << 32) argument 461 #define QI_PGRP_PASID(pasid) (((u64)(pasid)) << 32) argument 794 ioasid_t pasid; member 1038 context->hi |= pasid & ((1 << 20) - 1); in context_set_sm_rid2pasid() 1126 desc->qw0 = QI_EIOTLB_PASID(pasid) | in qi_desc_piotlb() 1138 desc->qw0 = QI_EIOTLB_PASID(pasid) | in qi_desc_piotlb() 1211 u32 pasid, u16 qdep, u64 addr, 1215 u32 pasid, u16 qdep); 1217 u32 pasid); [all …]
|
| /linux/drivers/pci/ |
| A D | ats.c | 398 int pasid = pdev->pasid_cap; in pci_enable_pasid() local 416 if (!pasid) in pci_enable_pasid() 447 int pasid = pdev->pasid_cap; in pci_disable_pasid() local 456 if (!pasid) in pci_disable_pasid() 480 if (!pasid) in pci_restore_pasid_state() 500 int pasid; in pci_pasid_features() local 505 pasid = pdev->pasid_cap; in pci_pasid_features() 506 if (!pasid) in pci_pasid_features() 527 int pasid; in pci_max_pasids() local 532 pasid = pdev->pasid_cap; in pci_max_pasids() [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 67 if (pasid != -ENOSPC) in amdgpu_pasid_alloc() 71 if (pasid >= 0) in amdgpu_pasid_alloc() 74 return pasid; in amdgpu_pasid_alloc() 107 u32 pasid) in amdgpu_pasid_free_delayed() argument 118 amdgpu_pasid_free(pasid); in amdgpu_pasid_free_delayed() 127 amdgpu_pasid_free(pasid); in amdgpu_pasid_free_delayed() 129 cb->pasid = pasid; in amdgpu_pasid_free_delayed() 143 amdgpu_pasid_free(pasid); in amdgpu_pasid_free_delayed() [all …]
|
| A D | amdgpu_vm_tlb_fence.c | 37 uint16_t pasid; member 62 r = amdgpu_gmc_flush_gpu_tlb_pasid(f->adev, f->pasid, 2, true, 0); in amdgpu_tlb_fence_work() 65 f->pasid); in amdgpu_tlb_fence_work() 93 amdgpu_gmc_flush_gpu_tlb_pasid(adev, vm->pasid, 2, true, 0); in amdgpu_vm_tlb_fence_create() 100 f->pasid = vm->pasid; in amdgpu_vm_tlb_fence_create()
|
| 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 …]
|
| A D | amdgpu_mes.c | 303 r = idr_alloc(&adev->mes.pasid_idr, process, pasid, pasid + 1, in amdgpu_mes_create_process() 312 process->pasid = pasid; in amdgpu_mes_create_process() 1151 int r, queue_id, pasid; in amdgpu_mes_add_ring() local 1164 pasid = gang->process->pasid; in amdgpu_mes_add_ring() 1422 int pasid, int *gang_id, in amdgpu_mes_test_create_gang_and_queues() argument 1496 int i, r, pasid, k = 0; in amdgpu_mes_self_test() local 1498 pasid = amdgpu_pasid_alloc(16); in amdgpu_mes_self_test() 1499 if (pasid < 0) { in amdgpu_mes_self_test() 1501 pasid = 0; in amdgpu_mes_self_test() 1582 if (pasid) in amdgpu_mes_self_test() [all …]
|
| A D | amdgpu_ids.h | 61 unsigned pasid; member 75 void amdgpu_pasid_free(u32 pasid); 77 u32 pasid);
|
| /linux/drivers/iommu/ |
| A D | iommu-sva.c | 20 ioasid_t pasid; in iommu_alloc_mm_data() local 30 if (iommu_mm->pasid >= dev->iommu->max_pasids) in iommu_alloc_mm_data() 39 pasid = iommu_alloc_global_pasid(dev); in iommu_alloc_mm_data() 40 if (pasid == IOMMU_PASID_INVALID) { in iommu_alloc_mm_data() 44 iommu_mm->pasid = pasid; in iommu_alloc_mm_data() 93 attach_handle = iommu_attach_handle_get(group, iommu_mm->pasid, IOMMU_DOMAIN_SVA); in iommu_sva_bind_device() 118 ret = iommu_attach_device_pasid(domain, dev, iommu_mm->pasid, in iommu_sva_bind_device() 133 ret = iommu_attach_device_pasid(domain, dev, iommu_mm->pasid, in iommu_sva_bind_device() 176 iommu_detach_device_pasid(domain, dev, iommu_mm->pasid); in iommu_sva_unbind_device() 201 iommu_free_global_pasid(iommu_mm->pasid); in mm_pasid_drop()
|
| /linux/drivers/dma/idxd/ |
| A D | cdev.c | 45 unsigned int pasid; member 200 ctx->pasid); in idxd_xa_pasid_remove() 212 ctx = xa_load(&wq->upasid_xa, pasid); in idxd_user_counter_increment() 229 unsigned int pasid; in idxd_cdev_open() local 261 pasid = iommu_sva_get_pasid(sva); in idxd_cdev_open() 262 if (pasid == IOMMU_PASID_INVALID) { in idxd_cdev_open() 268 ctx->pasid = pasid; in idxd_cdev_open() 278 rc = idxd_wq_set_pasid(wq, pasid); in idxd_cdev_open() 353 if (entry_head->pasid == pasid && entry_head->wq_idx == wq->id) in idxd_cdev_evl_drain_pasid() 464 descriptor.pasid = ctx->pasid; in idxd_submit_user_descriptor() [all …]
|
| /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/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()
|