/kernel/linux/linux-5.10/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 | 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() 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 …]
|
D | link.c | 496 int ocxl_link_add_pe(void *link_handle, int pasid, u32 pidr, u32 tidr, in ocxl_link_add_pe() argument 508 if (pasid > SPA_PASID_MAX) in ocxl_link_add_pe() 512 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_add_pe() 569 trace_ocxl_context_add(current->pid, spa->spa_mem, pasid, pidr, tidr); in ocxl_link_add_pe() 576 int ocxl_link_update_pe(void *link_handle, int pasid, __u16 tid) in ocxl_link_update_pe() argument 583 if (pasid > SPA_PASID_MAX) in ocxl_link_update_pe() 586 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_update_pe() 612 int ocxl_link_remove_pe(void *link_handle, int pasid) in ocxl_link_remove_pe() argument 620 if (pasid > SPA_PASID_MAX) in ocxl_link_remove_pe() 641 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_remove_pe() [all …]
|
/kernel/linux/linux-5.10/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 | kfd_int_process_v9.c | 34 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v9() local 45 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v9() 51 if (!pasid && dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { in event_interrupt_isr_v9() 58 pasid = dev->dqm->vmid_pasid[vmid]; 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 …]
|
D | cik_event_interrupt.c | 38 uint16_t pasid; in cik_event_interrupt_isr() local 54 ret = f2g->get_atc_vmid_pasid_mapping_info(dev->kgd, vmid, &pasid); in cik_event_interrupt_isr() 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() 73 if (WARN_ONCE(pasid == 0, "FW bug: No PASID in KFD interrupt")) in cik_event_interrupt_isr() 94 u32 pasid = (ihre->ring_id & 0xffff0000) >> 16; in cik_event_interrupt_wq() local 96 if (pasid == 0) in cik_event_interrupt_wq() 100 kfd_signal_event_interrupt(pasid, context_id, 28); in cik_event_interrupt_wq() 102 kfd_signal_event_interrupt(pasid, context_id, 28); in cik_event_interrupt_wq() [all …]
|
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(pdd->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 …]
|
D | kfd_process.c | 283 dev->id, proc->pasid); in kfd_get_cu_occupancy() 290 dev->kfd2kgd->get_cu_occupancy(dev->kgd, proc->pasid, &wave_cnt, in kfd_get_cu_occupancy() 305 return snprintf(buffer, PAGE_SIZE, "%d\n", p->pasid); in kfd_procfs_show() 915 pdd->dev->id, p->pasid); in kfd_process_destroy_pdds() 996 kfd_pasid_free(p->pasid); in kfd_process_wq_release() 1049 if (dev && dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) { in kfd_process_notifier_release() 1170 process->pasid = kfd_pasid_alloc(); in create_process() 1171 if (process->pasid == 0) in create_process() 1201 kfd_pasid_free(process->pasid); in create_process() 1328 dev->kgd, drm_file, p->pasid, in kfd_process_device_init_vm() [all …]
|
D | kfd_pasid.c | 66 void kfd_pasid_free(u32 pasid) in kfd_pasid_free() argument 68 amdgpu_pasid_free(pasid); in kfd_pasid_free()
|
/kernel/linux/linux-5.10/drivers/iommu/intel/ |
D | pasid.c | 29 int vcmd_alloc_pasid(struct intel_iommu *iommu, u32 *pasid) in vcmd_alloc_pasid() argument 45 *pasid = VCMD_VRSP_RESULT_PASID(res); in vcmd_alloc_pasid() 60 void vcmd_free_pasid(struct intel_iommu *iommu, u32 pasid) in vcmd_free_pasid() argument 68 VCMD_CMD_OPERAND(pasid) | VCMD_CMD_FREE); in vcmd_free_pasid() 247 struct pasid_entry *intel_pasid_get_entry(struct device *dev, u32 pasid) in intel_pasid_get_entry() argument 256 if (WARN_ON(!pasid_table || pasid >= intel_pasid_get_dev_max_id(dev))) in intel_pasid_get_entry() 261 dir_index = pasid >> PASID_PDE_SHIFT; in intel_pasid_get_entry() 262 index = pasid & PASID_PTE_MASK; in intel_pasid_get_entry() 319 intel_pasid_clear_entry(struct device *dev, u32 pasid, bool fault_ignore) in intel_pasid_clear_entry() argument 323 pe = intel_pasid_get_entry(dev, pasid); in intel_pasid_clear_entry() [all …]
|
D | svm.c | 27 static void intel_svm_drain_prq(struct device *dev, u32 pasid); 131 qi_flush_piotlb(sdev->iommu, sdev->did, svm->pasid, address, pages, ih); in __flush_svm_range_dev() 134 svm->pasid, sdev->qdep, address, in __flush_svm_range_dev() 196 svm->pasid, true); in intel_mm_release() 213 static int pasid_to_svm_sdev(struct device *dev, unsigned int pasid, in pasid_to_svm_sdev() argument 224 if (pasid == INVALID_IOASID || pasid >= PASID_MAX) in pasid_to_svm_sdev() 227 svm = ioasid_find(NULL, pasid, NULL); in pasid_to_svm_sdev() 314 svm->pasid); in intel_svm_bind_gpasid() 332 svm->pasid = data->hpasid; in intel_svm_bind_gpasid() 399 int intel_svm_unbind_gpasid(struct device *dev, u32 pasid) in intel_svm_unbind_gpasid() argument [all …]
|
D | pasid.h | 110 void intel_pasid_free_id(u32 pasid); 111 void *intel_pasid_lookup_id(u32 pasid); 116 struct pasid_entry *intel_pasid_get_entry(struct device *dev, u32 pasid); 119 u32 pasid, u16 did, int flags); 122 struct device *dev, u32 pasid); 125 struct device *dev, u32 pasid); 127 struct device *dev, pgd_t *pgd, u32 pasid, 131 struct device *dev, u32 pasid, 133 int vcmd_alloc_pasid(struct intel_iommu *iommu, u32 *pasid); 134 void vcmd_free_pasid(struct intel_iommu *iommu, u32 pasid);
|
/kernel/linux/linux-5.10/drivers/pci/ |
D | ats.c | 364 int pasid = pdev->pasid_cap; in pci_enable_pasid() local 382 if (!pasid) in pci_enable_pasid() 385 pci_read_config_word(pdev, pasid + PCI_PASID_CAP, &supported); in pci_enable_pasid() 395 pci_write_config_word(pdev, pasid + PCI_PASID_CTRL, control); in pci_enable_pasid() 410 int pasid = pdev->pasid_cap; in pci_disable_pasid() local 419 if (!pasid) in pci_disable_pasid() 422 pci_write_config_word(pdev, pasid + PCI_PASID_CTRL, control); in pci_disable_pasid() 435 int pasid = pdev->pasid_cap; in pci_restore_pasid_state() local 443 if (!pasid) in pci_restore_pasid_state() 447 pci_write_config_word(pdev, pasid + PCI_PASID_CTRL, control); in pci_restore_pasid_state() [all …]
|
/kernel/linux/linux-5.10/drivers/iommu/amd/ |
D | iommu_v2.c | 43 u32 pasid; /* PASID index */ member 73 u32 pasid; member 153 u32 pasid, bool alloc) in __get_pasid_state_ptr() argument 163 index = (pasid >> (9 * level)) & 0x1ff; in __get_pasid_state_ptr() 187 u32 pasid) in set_pasid_state() argument 194 ptr = __get_pasid_state_ptr(dev_state, pasid, true); in set_pasid_state() 214 static void clear_pasid_state(struct device_state *dev_state, u32 pasid) in clear_pasid_state() argument 220 ptr = __get_pasid_state_ptr(dev_state, pasid, true); in clear_pasid_state() 232 u32 pasid) in get_pasid_state() argument 238 ptr = __get_pasid_state_ptr(dev_state, pasid, false); in get_pasid_state() [all …]
|
D | amd_iommu.h | 58 extern int amd_iommu_flush_page(struct iommu_domain *dom, u32 pasid, 60 extern int amd_iommu_flush_tlb(struct iommu_domain *dom, u32 pasid); 61 extern int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, u32 pasid, 63 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,
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_ids.c | 46 u32 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(u32 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 | 88 __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, 437 TP_PROTO(unsigned pasid), 438 TP_ARGS(pasid), 440 __field(unsigned, pasid) 443 __entry->pasid = pasid; [all …]
|
D | amdgpu_gmc.h | 115 int (*flush_gpu_tlb_pasid)(struct amdgpu_device *adev, uint16_t pasid, 122 unsigned pasid); 246 #define amdgpu_gmc_flush_gpu_tlb_pasid(adev, pasid, type, allhub) \ argument 248 ((adev), (pasid), (type), (allhub))) 250 …e amdgpu_gmc_emit_pasid_mapping(r, vmid, pasid) (r)->adev->gmc.gmc_funcs->emit_pasid_mapping((r), … argument 298 uint16_t pasid, uint64_t timestamp);
|
D | amdgpu_ids.h | 61 unsigned pasid; member 74 void amdgpu_pasid_free(u32 pasid); 76 u32 pasid);
|
/kernel/linux/linux-5.10/arch/csky/include/asm/ |
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()
|
/kernel/linux/patches/linux-5.10/prebuilts/usr/include/linux/ |
D | iommu.h | 47 __u32 pasid; member 58 __u32 pasid; member 84 __u32 pasid; member 100 __u64 pasid; member 110 __u64 pasid; member
|
/kernel/linux/linux-5.10/include/uapi/linux/ |
D | iommu.h | 75 __u32 pasid; member 100 __u32 pasid; member 156 __u32 pasid; member 195 __u64 pasid; member 221 __u64 pasid; member
|
/kernel/linux/linux-5.10/arch/csky/mm/ |
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()
|
/kernel/linux/linux-5.10/include/linux/ |
D | amd-iommu.h | 79 extern int amd_iommu_bind_pasid(struct pci_dev *pdev, u32 pasid, 91 extern void amd_iommu_unbind_pasid(struct pci_dev *pdev, u32 pasid); 117 u32 pasid, 169 typedef void (*amd_iommu_invalidate_ctx)(struct pci_dev *pdev, u32 pasid);
|
D | intel-iommu.h | 365 #define QI_PC_PASID(pasid) (((u64)pasid) << 32) argument 377 #define QI_EIOTLB_PASID(pasid) (((u64)pasid) << 32) argument 399 #define QI_PGRP_PASID(pasid) (((u64)(pasid)) << 32) argument 714 void qi_flush_piotlb(struct intel_iommu *iommu, u16 did, u32 pasid, u64 addr, 718 u32 pasid, u16 qdep, u64 addr, 721 u32 pasid); 750 int intel_svm_unbind_gpasid(struct device *dev, u32 pasid); 767 u32 pasid; member 779 u32 pasid; member
|