Home
last modified time | relevance | path

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

12345678910

/kernel/linux/linux-6.6/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 Dcontext.c10 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()
86 rc = ocxl_link_add_pe(ctx->afu->fn->link, ctx->pasid, pidr, ctx->tidr, in ocxl_context_attach()
129 pasid_off = ctx->pasid - ctx->afu->pasid_base; in map_pp_mmio()
147 pr_debug("%s: pasid %d address 0x%lx offset 0x%llx\n", __func__, in ocxl_mmap_fault()
148 ctx->pasid, vm in ocxl_mmap_fault()
[all...]
/kernel/linux/linux-5.10/drivers/misc/ocxl/
H A 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;
31 TP_printk("linux pid=%d spa=0x%p pasid=0x%x pidr=0x%x tidr=0x%x",
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, u3
[all...]
H A Dcontext.c10 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()
145 pr_debug("%s: pasid %d address 0x%lx offset 0x%llx\n", __func__, in ocxl_mmap_fault()
146 ctx->pasid, vm in ocxl_mmap_fault()
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdkfd/
H A 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()
99 pr_debug("H/W debugger is already active using pasid 0x%x\n", in kfd_dbgmgr_register()
100 pmgr->pasid); in kfd_dbgmgr_register()
104 /* remember pasid */ in kfd_dbgmgr_register()
105 pmgr->pasid = p->pasid; in kfd_dbgmgr_register()
119 if (pmgr->pasid != p->pasid) { in kfd_dbgmgr_unregister()
[all...]
H A Dcik_event_interrupt.c38 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_i in cik_event_interrupt_wq()
[all...]
H A Dkfd_int_process_v9.c34 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()
47 /* This is a known issue for gfx9. Under non HWS, pasid is not set in event_interrupt_isr_v9()
48 * in the interrupt payload, so we need to find out the pasid on our 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()
60 /* Patch the pasid field */ in event_interrupt_isr_v9()
62 & ~pasid_mask) | pasid); in event_interrupt_isr_v9()
65 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n", in event_interrupt_isr_v9()
66 client_id, source_id, vmid, pasid); in event_interrupt_isr_v9()
90 uint16_t source_id, client_id, pasid, vmid; event_interrupt_wq_v9() local
[all...]
H A Dkfd_iommu.c83 "error required iommu flags ats %i, pri %i, pasid %i\n", in kfd_iommu_device_init()
96 dev_err(kfd_device, "error setting pasid limit\n"); in kfd_iommu_device_init()
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
156 * Look for the process that matches the pasid. If there is no such in iommu_pasid_shutdown_callback()
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 iommu_invalid_ppr_cb(struct pci_dev *pdev, u32 pasid, unsigned long address, u16 flags) iommu_invalid_ppr_cb() argument
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdkfd/
H A Dcik_event_interrupt.c38 uint16_t pasid; in cik_event_interrupt_isr() local
54 ret = f2g->get_atc_vmid_pasid_mapping_info(dev->adev, 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()
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_i in cik_event_interrupt_wq()
[all...]
H A Dkfd_int_process_v10.c133 uint16_t pasid, uint16_t client_id) in event_interrupt_poison_consumption()
136 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in event_interrupt_poison_consumption()
153 ret = kfd_dqm_evict_pasid(dev->dqm, pasid); in event_interrupt_poison_consumption()
165 kfd_signal_poison_consumed_event(dev, pasid); in event_interrupt_poison_consumption()
188 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v10() local
201 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v10()
222 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n", in event_interrupt_isr_v10()
223 client_id, source_id, vmid, pasid); in event_interrupt_isr_v10()
229 if (WARN_ONCE(pasid == 0, "Bug: No PASID in KFD interrupt")) in event_interrupt_isr_v10()
248 uint16_t source_id, client_id, pasid, vmi in event_interrupt_wq_v10() local
132 event_interrupt_poison_consumption(struct kfd_node *dev, uint16_t pasid, uint16_t client_id) event_interrupt_poison_consumption() argument
[all...]
H A Dkfd_int_process_v11.c192 uint16_t pasid, uint16_t source_id) in event_interrupt_poison_consumption_v11()
195 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in event_interrupt_poison_consumption_v11()
212 ret = dev->dqm->ops.reset_queues(dev->dqm, pasid); in event_interrupt_poison_consumption_v11()
219 kfd_signal_poison_consumed_event(dev, pasid); in event_interrupt_poison_consumption_v11()
234 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v11() local
247 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v11()
254 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n", in event_interrupt_isr_v11()
255 client_id, source_id, vmid, pasid); in event_interrupt_isr_v11()
261 if (WARN_ONCE(pasid == 0, "Bug: No PASID in KFD interrupt")) in event_interrupt_isr_v11()
281 uint16_t source_id, client_id, ring_id, pasid, vmi in event_interrupt_wq_v11() local
191 event_interrupt_poison_consumption_v11(struct kfd_node *dev, uint16_t pasid, uint16_t source_id) event_interrupt_poison_consumption_v11() argument
[all...]
H A Dkfd_int_process_v9.c144 uint16_t pasid, uint16_t client_id) in event_interrupt_poison_consumption_v9()
147 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in event_interrupt_poison_consumption_v9()
164 ret = kfd_dqm_evict_pasid(dev->dqm, pasid); in event_interrupt_poison_consumption_v9()
176 kfd_signal_poison_consumed_event(dev, pasid); in event_interrupt_poison_consumption_v9()
218 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v9() local
231 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v9()
253 /* This is a known issue for gfx9. Under non HWS, pasid is not set in event_interrupt_isr_v9()
254 * in the interrupt payload, so we need to find out the pasid on our in event_interrupt_isr_v9()
257 if (!pasid && dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { in event_interrupt_isr_v9()
264 pasid in event_interrupt_isr_v9()
143 event_interrupt_poison_consumption_v9(struct kfd_node *dev, uint16_t pasid, uint16_t client_id) event_interrupt_poison_consumption_v9() argument
313 uint16_t source_id, client_id, pasid, vmid; event_interrupt_wq_v9() local
[all...]
/kernel/linux/linux-5.10/drivers/iommu/intel/
H A Dpasid.c3 * intel-pasid.c - PASID idr, table and entry manipulation
22 #include "pasid.h"
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()
87 * Per device pasid table management:
139 * Allocate a pasid table for @dev. It should be called in a
157 /* DMA alias device already has a pasid table, use it: */ in intel_pasid_alloc_table()
247 struct pasid_entry *intel_pasid_get_entry(struct device *dev, u32 pasid) in intel_pasid_get_entry() argument
319 intel_pasid_clear_entry(struct device *dev, u32 pasid, bool fault_ignore) intel_pasid_clear_entry() argument
467 pasid_cache_invalidation_with_pasid(struct intel_iommu *iommu, u16 did, u32 pasid) pasid_cache_invalidation_with_pasid() argument
482 devtlb_invalidation_with_pasid(struct intel_iommu *iommu, struct device *dev, u32 pasid) devtlb_invalidation_with_pasid() argument
508 intel_pasid_tear_down_entry(struct intel_iommu *iommu, struct device *dev, u32 pasid, bool fault_ignore) intel_pasid_tear_down_entry() argument
538 pasid_flush_caches(struct intel_iommu *iommu, struct pasid_entry *pte, u32 pasid, u16 did) pasid_flush_caches() argument
557 intel_pasid_setup_first_level(struct intel_iommu *iommu, struct device *dev, pgd_t *pgd, u32 pasid, u16 did, int flags) intel_pasid_setup_first_level() argument
633 intel_pasid_setup_second_level(struct intel_iommu *iommu, struct dmar_domain *domain, struct device *dev, u32 pasid) intel_pasid_setup_second_level() argument
695 intel_pasid_setup_pass_through(struct intel_iommu *iommu, struct dmar_domain *domain, struct device *dev, u32 pasid) intel_pasid_setup_pass_through() argument
783 intel_pasid_setup_nested(struct intel_iommu *iommu, struct device *dev, pgd_t *gpgd, u32 pasid, struct iommu_gpasid_bind_data_vtd *pasid_data, struct dmar_domain *domain, int addr_width) intel_pasid_setup_nested() argument
[all...]
H A Dsvm.c24 #include "pasid.h"
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()
399 intel_svm_unbind_gpasid(struct device *dev, u32 pasid) intel_svm_unbind_gpasid() argument
449 load_pasid(struct mm_struct *mm, u32 pasid) load_pasid() argument
644 intel_svm_unbind_mm(struct device *dev, u32 pasid) intel_svm_unbind_mm() argument
705 u64 pasid:20; global() member
766 intel_svm_drain_prq(struct device *dev, u32 pasid) intel_svm_drain_prq() argument
1116 u32 pasid; intel_svm_get_pasid() local
[all...]
H A Dpasid.h3 * pasid.h - PASID idr, table and entry header
27 /* Virtual command interface for enlightened pasid management. */
38 * Domain ID reserved for pasid entries programmed for first-level
74 void *table; /* pasid table pointer */
75 int order; /* page order of pasid table */
76 u32 max_pasid; /* max pasid */
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, u1
[all...]
/kernel/linux/linux-6.6/drivers/iommu/intel/
H A Dpasid.c3 * intel-pasid.c - PASID idr, table and entry manipulation
22 #include "pasid.h"
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()
87 * Per device pasid table management:
91 * Allocate a pasid table for @dev. It should be called in a
186 static struct pasid_entry *intel_pasid_get_entry(struct device *dev, u32 pasid) in intel_pasid_get_entry() argument
195 if (WARN_ON(!pasid_table || pasid > in intel_pasid_get_entry()
258 intel_pasid_clear_entry(struct device *dev, u32 pasid, bool fault_ignore) intel_pasid_clear_entry() argument
406 pasid_cache_invalidation_with_pasid(struct intel_iommu *iommu, u16 did, u32 pasid) pasid_cache_invalidation_with_pasid() argument
421 devtlb_invalidation_with_pasid(struct intel_iommu *iommu, struct device *dev, u32 pasid) devtlb_invalidation_with_pasid() argument
450 intel_pasid_tear_down_entry(struct intel_iommu *iommu, struct device *dev, u32 pasid, bool fault_ignore) intel_pasid_tear_down_entry() argument
487 pasid_flush_caches(struct intel_iommu *iommu, struct pasid_entry *pte, u32 pasid, u16 did) pasid_flush_caches() argument
506 intel_pasid_setup_first_level(struct intel_iommu *iommu, struct device *dev, pgd_t *pgd, u32 pasid, u16 did, int flags) intel_pasid_setup_first_level() argument
584 intel_pasid_setup_second_level(struct intel_iommu *iommu, struct dmar_domain *domain, struct device *dev, u32 pasid) intel_pasid_setup_second_level() argument
645 intel_pasid_setup_pass_through(struct intel_iommu *iommu, struct dmar_domain *domain, struct device *dev, u32 pasid) intel_pasid_setup_pass_through() argument
681 intel_pasid_setup_page_snoop_control(struct intel_iommu *iommu, struct device *dev, u32 pasid) intel_pasid_setup_page_snoop_control() argument
[all...]
H A Dsvm.c23 #include "pasid.h"
31 static int pasid_private_add(ioasid_t pasid, void *priv) in pasid_private_add() argument
33 return xa_alloc(&pasid_private_array, &pasid, priv, in pasid_private_add()
34 XA_LIMIT(pasid, pasid), GFP_ATOMIC); in pasid_private_add()
37 static void pasid_private_remove(ioasid_t pasid) in pasid_private_remove() argument
39 xa_erase(&pasid_private_array, pasid); in pasid_private_remove()
42 static void *pasid_private_find(ioasid_t pasid) in pasid_private_find() argument
44 return xa_load(&pasid_private_array, pasid); in pasid_private_find()
182 qi_flush_piotlb(sdev->iommu, sdev->did, svm->pasid, addres in __flush_svm_range_dev()
286 pasid_to_svm_sdev(struct device *dev, unsigned int pasid, struct intel_svm **rsvm, struct intel_svm_dev **rsdev) pasid_to_svm_sdev() argument
392 intel_svm_remove_dev_pasid(struct device *dev, u32 pasid) intel_svm_remove_dev_pasid() argument
436 u64 pasid:20; global() member
479 intel_drain_pasid_prq(struct device *dev, u32 pasid) intel_drain_pasid_prq() argument
820 intel_svm_set_dev_pasid(struct iommu_domain *domain, struct device *dev, ioasid_t pasid) intel_svm_set_dev_pasid() argument
[all...]
H A Dpasid.h3 * pasid.h - PASID idr, table and entry header
25 /* Virtual command interface for enlightened pasid management. */
36 * Domain ID reserved for pasid entries programmed for first-level
66 void *table; /* pasid table pointer */
67 int order; /* page order of pasid table */
68 u32 max_pasid; /* max pasid */
105 u32 pasid, u16 did, int flags);
108 struct device *dev, u32 pasid);
111 struct device *dev, u32 pasid);
113 struct device *dev, u32 pasid,
[all...]
/kernel/linux/linux-6.6/drivers/iommu/
H A Diommu-sva.c17 ioasid_t pasid; in iommu_sva_alloc_pasid() local
26 if (mm->pasid >= dev->iommu->max_pasids) in iommu_sva_alloc_pasid()
31 pasid = iommu_alloc_global_pasid(dev); in iommu_sva_alloc_pasid()
32 if (pasid == IOMMU_PASID_INVALID) { in iommu_sva_alloc_pasid()
36 mm->pasid = pasid; in iommu_sva_alloc_pasid()
65 /* Allocate mm->pasid if necessary. */ in iommu_sva_bind_device()
76 domain = iommu_get_domain_for_dev_pasid(dev, mm->pasid, in iommu_sva_bind_device()
88 /* Allocate a new domain and set it on device pasid. */ in iommu_sva_bind_device()
95 ret = iommu_attach_device_pasid(domain, dev, mm->pasid); in iommu_sva_bind_device()
127 ioasid_t pasid = domain->mm->pasid; iommu_sva_unbind_device() local
[all...]
/kernel/linux/linux-5.10/drivers/pci/
H A Dats.c364 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 in pci_restore_pasid_state()
463 int pasid; pci_pasid_features() local
492 int pasid; pci_max_pasids() local
[all...]
/kernel/linux/linux-6.6/drivers/pci/
H A Dats.c364 int pasid = pdev->pasid_cap; in pci_enable_pasid() local
382 if (!pasid) in pci_enable_pasid()
388 pci_read_config_word(pdev, pasid + PCI_PASID_CAP, &supported); in pci_enable_pasid()
398 pci_write_config_word(pdev, pasid + PCI_PASID_CTRL, control); in pci_enable_pasid()
413 int pasid = pdev->pasid_cap; in pci_disable_pasid() local
422 if (!pasid) in pci_disable_pasid()
425 pci_write_config_word(pdev, pasid + PCI_PASID_CTRL, control); in pci_disable_pasid()
438 int pasid = pdev->pasid_cap; in pci_restore_pasid_state() local
446 if (!pasid) in pci_restore_pasid_state()
450 pci_write_config_word(pdev, pasid in pci_restore_pasid_state()
466 int pasid; pci_pasid_features() local
495 int pasid; pci_max_pasids() local
[all...]
/kernel/linux/linux-6.6/drivers/iommu/amd/
H A Diommu_v2.c44 u32 pasid; /* PASID index */ member
46 teardown of the pasid */
73 u32 pasid; member
116 /* Get rid of any remaining pasid states */ in free_device_state()
152 u32 pasid, bool alloc) in __get_pasid_state_ptr()
162 index = (pasid >> (9 * level)) & 0x1ff; in __get_pasid_state_ptr()
186 u32 pasid) in set_pasid_state()
193 ptr = __get_pasid_state_ptr(dev_state, pasid, true); in set_pasid_state()
213 static void clear_pasid_state(struct device_state *dev_state, u32 pasid) in clear_pasid_state() argument
219 ptr = __get_pasid_state_ptr(dev_state, pasid, tru in clear_pasid_state()
151 __get_pasid_state_ptr(struct device_state *dev_state, u32 pasid, bool alloc) __get_pasid_state_ptr() argument
184 set_pasid_state(struct device_state *dev_state, struct pasid_state *pasid_state, u32 pasid) set_pasid_state() argument
230 get_pasid_state(struct device_state *dev_state, u32 pasid) get_pasid_state() argument
601 amd_iommu_bind_pasid(struct pci_dev *pdev, u32 pasid, struct task_struct *task) amd_iommu_bind_pasid() argument
688 amd_iommu_unbind_pasid(struct pci_dev *pdev, u32 pasid) amd_iommu_unbind_pasid() argument
[all...]
/kernel/linux/linux-5.10/drivers/iommu/amd/
H A Diommu_v2.c43 u32 pasid; /* PASID index */ member
45 teardown of the pasid */
73 u32 pasid; member
153 u32 pasid, bool alloc) in __get_pasid_state_ptr()
163 index = (pasid >> (9 * level)) & 0x1ff; in __get_pasid_state_ptr()
187 u32 pasid) in set_pasid_state()
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()
152 __get_pasid_state_ptr(struct device_state *dev_state, u32 pasid, bool alloc) __get_pasid_state_ptr() argument
185 set_pasid_state(struct device_state *dev_state, struct pasid_state *pasid_state, u32 pasid) set_pasid_state() argument
231 get_pasid_state(struct device_state *dev_state, u32 pasid) get_pasid_state() argument
598 amd_iommu_bind_pasid(struct pci_dev *pdev, u32 pasid, struct task_struct *task) amd_iommu_bind_pasid() argument
683 amd_iommu_unbind_pasid(struct pci_dev *pdev, u32 pasid) amd_iommu_unbind_pasid() argument
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_ids.c43 /* Helper to free pasid from a fence callback */
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()
80 * @pasid: PASID to free
82 void amdgpu_pasid_free(u32 pasid) in amdgpu_pasid_free() argument
107 amdgpu_pasid_free_delayed(struct dma_resv *resv, u32 pasid) amdgpu_pasid_free_delayed() argument
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_ids.c43 /* Helper to free pasid from a fence callback */
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()
80 * @pasid: PASID to free
82 void amdgpu_pasid_free(u32 pasid) in amdgpu_pasid_free() argument
107 amdgpu_pasid_free_delayed(struct dma_resv *resv, u32 pasid) amdgpu_pasid_free_delayed() argument
[all...]

Completed in 18 milliseconds

12345678910