Searched refs:pasid (Results 1 - 25 of 132) sorted by relevance

123456

/linux-master/drivers/misc/ocxl/
H A Dtrace.h36 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 DMakefile4 ocxl-y += main.o pci.o config.o file.o pasid.o mmio.o
H A Dcontext.c10 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...]
/linux-master/drivers/gpu/drm/amd/amdkfd/
H A Dcik_event_interrupt.c38 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 Dkfd_pasid.c67 void kfd_pasid_free(u32 pasid) argument
69 amdgpu_pasid_free(pasid);
H A Dkfd_int_process_v11.c192 uint16_t pasid, uint16_t source_id)
197 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid);
214 ret = dev->dqm->ops.reset_queues(dev->dqm, pasid);
226 kfd_signal_poison_consumed_event(dev, pasid);
238 uint16_t source_id, client_id, pasid, vmid; local
251 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry);
258 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n",
259 client_id, source_id, vmid, pasid);
265 if (WARN_ONCE(pasid == 0, "Bug: No PASID in KFD interrupt"))
285 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 Dkfd_int_process_v10.c133 uint16_t pasid, uint16_t client_id)
138 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid);
155 ret = kfd_dqm_evict_pasid(dev->dqm, pasid);
172 kfd_signal_poison_consumed_event(dev, pasid);
194 uint16_t source_id, client_id, pasid, vmid; local
207 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry);
228 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n",
229 client_id, source_id, vmid, pasid);
235 if (WARN_ONCE(pasid == 0, "Bug: No PASID in KFD interrupt"))
254 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 Dkfd_int_process_v9.c144 uint16_t pasid, uint16_t client_id)
149 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid);
188 kfd_signal_poison_consumed_event(dev, pasid);
194 block, pasid, NULL, NULL, reset);
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...]
/linux-master/drivers/iommu/amd/
H A Dpasid.c24 ioasid_t pasid)
26 if (pasid > 0 && pasid < dev_data->max_pasids)
35 amd_iommu_clear_gcr3(pdom_dev_data->dev_data, pdom_dev_data->pasid);
43 struct device *dev, ioasid_t pasid)
52 pdom_dev_data->pasid == pasid) {
73 pdom_dev_data->pasid,
103 struct device *dev, ioasid_t pasid)
112 if (!is_pasid_valid(dev_data, pasid))
23 is_pasid_valid(struct iommu_dev_data *dev_data, ioasid_t pasid) argument
42 remove_pdom_dev_pasid(struct protection_domain *pdom, struct device *dev, ioasid_t pasid) argument
102 iommu_sva_set_dev_pasid(struct iommu_domain *domain, struct device *dev, ioasid_t pasid) argument
144 amd_iommu_remove_dev_pasid(struct device *dev, ioasid_t pasid, struct iommu_domain *domain) argument
[all...]
H A DMakefile2 obj-$(CONFIG_AMD_IOMMU) += iommu.o init.o quirks.o io_pgtable.o io_pgtable_v2.o ppr.o pasid.o
H A Damd_iommu.h54 struct device *dev, ioasid_t pasid);
55 void amd_iommu_remove_dev_pasid(struct device *dev, ioasid_t pasid,
73 ioasid_t pasid, unsigned long gcr3);
74 int amd_iommu_clear_gcr3(struct iommu_dev_data *dev_data, ioasid_t pasid);
81 int amd_iommu_complete_ppr(struct device *dev, u32 pasid, int status, int tag);
95 ioasid_t pasid, u64 address, size_t size);
97 ioasid_t pasid);
/linux-master/drivers/iommu/intel/
H A Dcache.c19 #include "pasid.h"
25 ioasid_t pasid, enum cache_tag_type type)
30 if (tag->domain_id != domain_id || tag->pasid != pasid)
44 struct device *dev, ioasid_t pasid,
59 tag->pasid = pasid;
69 if (cache_tage_match(temp, did, iommu, dev, pasid, type)) {
86 struct device *dev, ioasid_t pasid,
96 if (cache_tage_match(tag, did, iommu, dev, pasid, typ
23 cache_tage_match(struct cache_tag *tag, u16 domain_id, struct intel_iommu *iommu, struct device *dev, ioasid_t pasid, enum cache_tag_type type) argument
43 cache_tag_assign(struct dmar_domain *domain, u16 did, struct device *dev, ioasid_t pasid, enum cache_tag_type type) argument
85 cache_tag_unassign(struct dmar_domain *domain, u16 did, struct device *dev, ioasid_t pasid, enum cache_tag_type type) argument
108 __cache_tag_assign_domain(struct dmar_domain *domain, u16 did, struct device *dev, ioasid_t pasid) argument
125 __cache_tag_unassign_domain(struct dmar_domain *domain, u16 did, struct device *dev, ioasid_t pasid) argument
136 __cache_tag_assign_parent_domain(struct dmar_domain *domain, u16 did, struct device *dev, ioasid_t pasid) argument
153 __cache_tag_unassign_parent_domain(struct dmar_domain *domain, u16 did, struct device *dev, ioasid_t pasid) argument
187 cache_tag_assign_domain(struct dmar_domain *domain, struct device *dev, ioasid_t pasid) argument
211 cache_tag_unassign_domain(struct dmar_domain *domain, struct device *dev, ioasid_t pasid) argument
[all...]
H A Dpasid.c3 * intel-pasid.c - PASID idr, table and entry manipulation
22 #include "pasid.h"
31 * Per device pasid table management:
35 * 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 DMakefile3 obj-$(CONFIG_INTEL_IOMMU) += iommu.o pasid.o nested.o cache.o
H A Dtrace.h101 __field(u32, pasid)
109 __entry->pasid = tag->pasid;
112 TP_printk("%s/%s type %s did %d pasid %d ref %d",
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,
H A Dpasid.h3 * 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/gpu/drm/amd/amdgpu/
H A Damdgpu_vm_tlb_fence.c37 uint16_t pasid; member in struct:amdgpu_tlb_fence
62 r = amdgpu_gmc_flush_gpu_tlb_pasid(f->adev, f->pasid, 2, true, 0);
65 f->pasid);
93 amdgpu_gmc_flush_gpu_tlb_pasid(adev, vm->pasid, 2, true, 0);
100 f->pasid = vm->pasid;
H A Damdgpu_ids.h61 unsigned pasid; member in struct:amdgpu_vmid
75 void amdgpu_pasid_free(u32 pasid);
77 u32 pasid);
H A Damdgpu_ids.c43 /* 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...]
H A Damdgpu_trace.h88 __field(unsigned, pasid)
100 __entry->pasid = iv->pasid;
107 "timestamp: %llu pasid:%u src_data: %08x %08x %08x %08x",
110 __entry->timestamp, __entry->pasid,
223 __field(u32, pasid)
233 __entry->pasid = vm->pasid;
240 TP_printk("pasid=%d, ring=%s, id=%u, hub=%u, pd_addr=%010Lx needs_flush=%u",
241 __entry->pasid, __get_st
[all...]
/linux-master/arch/csky/include/asm/
H A Dasid.h33 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 Dats.c365 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/iommu/
H A Diommu-sva.c18 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 Dasid.c79 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 Dqm_common.h34 __le16 pasid; member in struct:qm_sqc
49 __le16 pasid; member in struct:qm_cqc

Completed in 198 milliseconds

123456