/linux-master/drivers/misc/ocxl/ |
H A D | trace.h | 36 TP_PROTO(int pasid, unsigned long pidr), 37 TP_ARGS(pasid, pidr), 40 __field(int, pasid) 45 __entry->pasid = pasid; 49 TP_printk("pasid=%d, pidr=0x%lx", 50 __entry->pasid, 56 TP_PROTO(int pasid, unsigned long pidr), 57 TP_ARGS(pasid, pidr), 60 __field(int, pasid) [all...] |
H A D | Makefile | 4 ocxl-y += main.o pci.o config.o file.o pasid.o mmio.o
|
H A D | context.c | 10 int pasid; local 19 pasid = idr_alloc(&afu->contexts_idr, ctx, afu->pasid_base, 21 if (pasid < 0) { 24 return pasid; 29 ctx->pasid = pasid; 86 rc = ocxl_link_add_pe(ctx->afu->fn->link, ctx->pasid, pidr, ctx->tidr, 129 pasid_off = ctx->pasid - ctx->afu->pasid_base; 147 pr_debug("%s: pasid %d address 0x%lx offset 0x%llx\n", __func__, 148 ctx->pasid, vm [all...] |
H A D | ocxl_internal.h | 72 int pasid; member in struct:ocxl_context 87 __be32 pasid; member in struct:ocxl_process_element 136 * @pasid: the PASID for the AFU context 141 int ocxl_link_update_pe(void *link_handle, int pasid, __u16 tid);
|
/linux-master/drivers/gpu/drm/amd/amdkfd/ |
H A D | cik_event_interrupt.c | 38 uint16_t pasid; local 54 ret = f2g->get_atc_vmid_pasid_mapping_info(dev->adev, vmid, &pasid); 58 tmp_ihre->ring_id |= pasid << 16; 60 return ret && (pasid != 0) && 72 pasid = (ihre->ring_id & 0xffff0000) >> 16; 73 if (WARN_ONCE(pasid == 0, "FW bug: No PASID in KFD interrupt")) 95 u32 pasid = (ihre->ring_id & 0xffff0000) >> 16; local 97 if (pasid == 0) 101 kfd_signal_event_interrupt(pasid, context_id, 28); 103 kfd_signal_event_interrupt(pasid, context_i [all...] |
H A D | kfd_pasid.c | 67 void kfd_pasid_free(u32 pasid) argument 69 amdgpu_pasid_free(pasid);
|
H A D | kfd_int_process_v11.c | 192 uint16_t pasid, uint16_t source_id) 196 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); 213 ret = dev->dqm->ops.reset_queues(dev->dqm, pasid); 222 kfd_signal_poison_consumed_event(dev, pasid); 237 uint16_t source_id, client_id, pasid, vmid; local 250 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); 257 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n", 258 client_id, source_id, vmid, pasid); 264 if (WARN_ONCE(pasid == 0, "Bug: No PASID in KFD interrupt")) 284 uint16_t source_id, client_id, ring_id, pasid, vmi local 191 event_interrupt_poison_consumption_v11(struct kfd_node *dev, uint16_t pasid, uint16_t source_id) argument [all...] |
H A D | kfd_int_process_v10.c | 133 uint16_t pasid, uint16_t client_id) 137 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); 154 ret = kfd_dqm_evict_pasid(dev->dqm, pasid); 168 kfd_signal_poison_consumed_event(dev, pasid); 191 uint16_t source_id, client_id, pasid, vmid; local 204 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); 225 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n", 226 client_id, source_id, vmid, pasid); 232 if (WARN_ONCE(pasid == 0, "Bug: No PASID in KFD interrupt")) 251 uint16_t source_id, client_id, pasid, vmi local 132 event_interrupt_poison_consumption(struct kfd_node *dev, uint16_t pasid, uint16_t client_id) argument [all...] |
H A D | kfd_int_process_v9.c | 144 uint16_t pasid, uint16_t client_id) 148 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); 165 ret = kfd_dqm_evict_pasid(dev->dqm, pasid); 179 kfd_signal_poison_consumed_event(dev, pasid); 221 uint16_t source_id, client_id, pasid, vmid; local 234 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); 256 /* This is a known issue for gfx9. Under non HWS, pasid is not set 257 * in the interrupt payload, so we need to find out the pasid on our 260 if (!pasid && dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { 267 pasid 143 event_interrupt_poison_consumption_v9(struct kfd_node *dev, uint16_t pasid, uint16_t client_id) argument 316 uint16_t source_id, client_id, pasid, vmid; local [all...] |
H A D | kfd_pm4_headers_aldebaran.h | 38 uint32_t pasid:16; /* 0 - 15 */ member in struct:pm4_mes_map_process_aldebaran::__anon255::__anon256
|
H A D | kfd_events.h | 87 extern void kfd_signal_event_interrupt(u32 pasid, uint32_t partial_id,
|
H A D | kfd_pm4_headers.h | 59 uint32_t pasid:16; member in struct:pm4_map_process::__anon185::__anon186 108 uint32_t pasid:16; member in struct:pm4_map_process_scratch_kv::__anon192::__anon193
|
/linux-master/arch/csky/include/asm/ |
H A D | asid.h | 33 void asid_new_context(struct asid_info *info, atomic64_t *pasid, 39 * @pasid: Pointer to the current ASID batch 43 atomic64_t *pasid, unsigned int cpu, 48 asid = atomic64_read(pasid); 71 asid_new_context(info, pasid, cpu, mm); 42 asid_check_context(struct asid_info *info, atomic64_t *pasid, unsigned int cpu, struct mm_struct *mm) argument
|
/linux-master/drivers/pci/ |
H A D | ats.c | 365 int pasid = pdev->pasid_cap; local 383 if (!pasid) 389 pci_read_config_word(pdev, pasid + PCI_PASID_CAP, &supported); 399 pci_write_config_word(pdev, pasid + PCI_PASID_CTRL, control); 414 int pasid = pdev->pasid_cap; local 423 if (!pasid) 426 pci_write_config_word(pdev, pasid + PCI_PASID_CTRL, control); 439 int pasid = pdev->pasid_cap; local 447 if (!pasid) 451 pci_write_config_word(pdev, pasid 467 int pasid; local 494 int pasid; local [all...] |
/linux-master/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_ids.h | 61 unsigned pasid; member in struct:amdgpu_vmid 75 void amdgpu_pasid_free(u32 pasid); 77 u32 pasid);
|
H A D | amdgpu_ids.c | 43 /* Helper to free pasid from a fence callback */ 46 u32 pasid; member in struct:amdgpu_pasid_cb 62 int pasid = -EINVAL; local 65 pasid = ida_alloc_range(&amdgpu_pasid_ida, 1U << (bits - 1), 67 if (pasid != -ENOSPC) 71 if (pasid >= 0) 72 trace_amdgpu_pasid_allocated(pasid); 74 return pasid; 79 * @pasid: PASID to free 81 void amdgpu_pasid_free(u32 pasid) argument 106 amdgpu_pasid_free_delayed(struct dma_resv *resv, u32 pasid) argument [all...] |
/linux-master/drivers/iommu/intel/ |
H A D | pasid.c | 3 * intel-pasid.c - PASID idr, table and entry manipulation 22 #include "pasid.h" 30 * Per device pasid table management: 34 * Allocate a pasid table for @dev. It should be called in a 129 static struct pasid_entry *intel_pasid_get_entry(struct device *dev, u32 pasid) argument 138 if (WARN_ON(!pasid_table || pasid >= intel_pasid_get_dev_max_id(dev))) 143 dir_index = pasid >> PASID_PDE_SHIFT; 144 index = pasid & PASID_PTE_MASK; 154 * The pasid directory table entry won't be freed after 177 intel_pasid_clear_entry(struct device *dev, u32 pasid, boo argument 192 pasid_cache_invalidation_with_pasid(struct intel_iommu *iommu, u16 did, u32 pasid) argument 207 devtlb_invalidation_with_pasid(struct intel_iommu *iommu, struct device *dev, u32 pasid) argument 236 intel_pasid_tear_down_entry(struct intel_iommu *iommu, struct device *dev, u32 pasid, bool fault_ignore) argument 273 pasid_flush_caches(struct intel_iommu *iommu, struct pasid_entry *pte, u32 pasid, u16 did) argument 292 intel_pasid_setup_first_level(struct intel_iommu *iommu, struct device *dev, pgd_t *pgd, u32 pasid, u16 did, int flags) argument 370 intel_pasid_setup_second_level(struct intel_iommu *iommu, struct dmar_domain *domain, struct device *dev, u32 pasid) argument 433 intel_pasid_setup_dirty_tracking(struct intel_iommu *iommu, struct device *dev, u32 pasid, bool enabled) argument 504 intel_pasid_setup_pass_through(struct intel_iommu *iommu, struct device *dev, u32 pasid) argument 539 intel_pasid_setup_page_snoop_control(struct intel_iommu *iommu, struct device *dev, u32 pasid) argument 589 intel_pasid_setup_nested(struct intel_iommu *iommu, struct device *dev, u32 pasid, struct dmar_domain *domain) argument [all...] |
H A D | svm.c | 23 #include "pasid.h" 30 static int pasid_private_add(ioasid_t pasid, void *priv) argument 32 return xa_alloc(&pasid_private_array, &pasid, priv, 33 XA_LIMIT(pasid, pasid), GFP_ATOMIC); 36 static void pasid_private_remove(ioasid_t pasid) argument 38 xa_erase(&pasid_private_array, pasid); 41 static void *pasid_private_find(ioasid_t pasid) argument 43 return xa_load(&pasid_private_array, pasid); 181 qi_flush_piotlb(sdev->iommu, sdev->did, svm->pasid, addres 285 pasid_to_svm_sdev(struct device *dev, unsigned int pasid, struct intel_svm **rsvm, struct intel_svm_dev **rsdev) argument 317 intel_svm_set_dev_pasid(struct iommu_domain *domain, struct device *dev, ioasid_t pasid) argument 392 intel_svm_remove_dev_pasid(struct device *dev, u32 pasid) argument 424 u64 pasid:20; member in struct:page_req_dsc::__anon706::__anon707 467 intel_drain_pasid_prq(struct device *dev, u32 pasid) argument [all...] |
H A D | Makefile | 3 obj-$(CONFIG_INTEL_IOMMU) += iommu.o pasid.o nested.o
|
H A D | pasid.h | 3 * pasid.h - PASID idr, table and entry header 26 * Domain ID reserved for pasid entries programmed for first-level 56 void *table; /* pasid table pointer */ 57 int order; /* page order of pasid table */ 58 u32 max_pasid; /* max pasid */ 305 u32 pasid, u16 did, int flags); 308 struct device *dev, u32 pasid); 310 struct device *dev, u32 pasid, 313 struct device *dev, u32 pasid); 315 u32 pasid, struc [all...] |
/linux-master/drivers/iommu/ |
H A D | iommu-sva.c | 18 ioasid_t pasid; local 28 if (iommu_mm->pasid >= dev->iommu->max_pasids) 37 pasid = iommu_alloc_global_pasid(dev); 38 if (pasid == IOMMU_PASID_INVALID) { 42 iommu_mm->pasid = pasid; 79 /* Allocate mm->pasid if necessary. */ 102 ret = iommu_attach_device_pasid(domain, dev, iommu_mm->pasid); 109 /* Allocate a new domain and set it on device pasid. */ 116 ret = iommu_attach_device_pasid(domain, dev, iommu_mm->pasid); [all...] |
/linux-master/arch/csky/mm/ |
H A D | asid.c | 79 static u64 new_context(struct asid_info *info, atomic64_t *pasid, argument 83 u64 asid = atomic64_read(pasid); 133 * @pasid: Pointer to the current ASID batch allocated. It will be updated 137 void asid_new_context(struct asid_info *info, atomic64_t *pasid, argument 145 asid = atomic64_read(pasid); 147 asid = new_context(info, pasid, mm); 148 atomic64_set(pasid, asid);
|
/linux-master/drivers/crypto/hisilicon/ |
H A D | qm_common.h | 34 __le16 pasid; member in struct:qm_sqc 49 __le16 pasid; member in struct:qm_cqc
|
/linux-master/drivers/iommu/amd/ |
H A D | amd_iommu.h | 49 ioasid_t pasid, unsigned long gcr3); 50 int amd_iommu_clear_gcr3(struct iommu_dev_data *dev_data, ioasid_t pasid); 63 ioasid_t pasid, u64 address, size_t size); 65 ioasid_t pasid); 76 int amd_iommu_complete_ppr(struct pci_dev *pdev, u32 pasid,
|
/linux-master/drivers/dma/idxd/ |
H A D | cdev.c | 45 unsigned int pasid; member in struct:idxd_user_context 55 static void idxd_cdev_evl_drain_pasid(struct idxd_wq *wq, u32 pasid); 132 idxd_device_drain_pasid(idxd, ctx->pasid); 135 /* The wq disable in the disable pasid function will drain the wq */ 138 dev_err(dev, "wq disable pasid failed.\n"); 145 idxd_cdev_evl_drain_pasid(wq, ctx->pasid); 197 ptr = xa_cmpxchg(&wq->upasid_xa, ctx->pasid, ctx, NULL, GFP_KERNEL); 199 dev_warn(&wq->idxd->pdev->dev, "xarray cmpxchg failed for pasid %u\n", 200 ctx->pasid); 204 void idxd_user_counter_increment(struct idxd_wq *wq, u32 pasid, in argument 229 unsigned int pasid; local 333 idxd_cdev_evl_drain_pasid(struct idxd_wq *wq, u32 pasid) argument 647 idxd_copy_cr(struct idxd_wq *wq, ioasid_t pasid, unsigned long addr, void *cr, int len) argument [all...] |