Searched refs:pasid (Results 1 - 25 of 120) sorted by last modified time

12345

/linux-master/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_process.c283 dev->id, proc->pasid);
290 dev->kfd2kgd->get_cu_occupancy(dev->adev, proc->pasid, &wave_cnt,
301 if (strcmp(attr->name, "pasid") == 0) {
305 return snprintf(buffer, PAGE_SIZE, "%d\n", p->pasid);
854 "pasid");
1021 pr_debug("Releasing pdd (topology id %d) for process (pasid 0x%x)\n",
1022 pdd->dev->id, p->pasid);
1137 kfd_pasid_free(p->pasid);
1489 process->pasid = kfd_pasid_alloc();
1490 if (process->pasid
1779 kfd_lookup_process_by_pasid(u32 pasid) argument
2123 kfd_process_close_interrupt_drain(unsigned int pasid) argument
[all...]
H A Dkfd_device_queue_manager.c46 u32 pasid, unsigned int vmid);
201 queue_input.process_id = qpd->pqm->process->pasid;
468 dqm->vmid_pasid[allocated_vmid] = q->process->pasid;
470 set_pasid_vmid_mapping(dqm, q->process->pasid, allocated_vmid);
486 /* invalidate the VM context after pasid and vmid mapping is set up */
718 dev_err(dev->adev->dev, "no vmid pasid mapping supported\n");
731 if (status && queried_pasid == p->pasid) {
732 pr_debug("Killing wave fronts of vmid %d and pasid 0x%x\n",
733 vmid, p->pasid);
739 dev_err(dev->adev->dev, "Didn't find vmid for pasid
1371 set_pasid_vmid_mapping(struct device_queue_manager *dqm, u32 pasid, unsigned int vmid) argument
2022 reset_queues_cpsch(struct device_queue_manager *dqm, uint16_t pasid) argument
2649 kfd_dqm_evict_pasid(struct device_queue_manager *dqm, u32 pasid) argument
[all...]
H A Dkfd_chardev.c160 process->pasid, process->is_32bit_user_mode);
383 p->pasid,
435 pr_debug("Destroying queue id %d for pasid 0x%x\n",
437 p->pasid);
488 pr_debug("Updating queue id %d for pasid 0x%x\n",
489 args->queue_id, p->pasid);
715 dev_dbg(kfd_device, "get apertures for PASID 0x%x", p->pasid);
767 dev_dbg(kfd_device, "get apertures for PASID 0x%x", p->pasid);
3359 pr_debug("pasid 0x%x mapping mmio page\n"
3364 process->pasid, (unsigne
[all...]
H A Dkfd_priv.h764 /* Is this process/pasid bound to this device? (amd_iommu_bind_pasid) */
890 u32 pasid; member in struct:kfd_process
1016 struct kfd_process *kfd_lookup_process_by_pasid(u32 pasid);
1071 void kfd_pasid_free(u32 pasid);
1156 void kfd_process_close_interrupt_drain(unsigned int pasid);
1301 int kfd_dqm_evict_pasid(struct device_queue_manager *dqm, u32 pasid);
1442 void kfd_signal_event_interrupt(u32 pasid, uint32_t partial_id,
1444 void kfd_signal_hw_exception_event(u32 pasid);
1457 void kfd_signal_vm_fault_event(struct kfd_node *dev, u32 pasid,
1463 void kfd_signal_poison_consumed_event(struct kfd_node *dev, u32 pasid);
[all...]
H A Dkfd_int_process_v9.c144 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 Dkfd_int_process_v11.c192 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 Dkfd_int_process_v10.c133 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...]
/linux-master/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_vm.c130 * amdgpu_vm_set_pasid - manage pasid and vm ptr mapping
134 * @pasid: the pasid the VM is using on this GPU
136 * Set the pasid this VM is using on this GPU, can also be used to remove the
137 * pasid by passing in zero.
141 u32 pasid)
145 if (vm->pasid == pasid)
148 if (vm->pasid) {
149 r = xa_err(xa_erase_irq(&adev->vm_manager.pasids, vm->pasid));
140 amdgpu_vm_set_pasid(struct amdgpu_device *adev, struct amdgpu_vm *vm, u32 pasid) argument
2258 amdgpu_vm_get_vm_from_pasid(struct amdgpu_device *adev, u32 pasid) argument
2313 amdgpu_vm_get_task_info_pasid(struct amdgpu_device *adev, u32 pasid) argument
2732 amdgpu_vm_handle_fault(struct amdgpu_device *adev, u32 pasid, u32 vmid, u32 node_id, uint64_t addr, bool write_fault) argument
2927 amdgpu_vm_update_fault_cache(struct amdgpu_device *adev, unsigned int pasid, uint64_t addr, uint32_t status, unsigned int vmhub) argument
[all...]
H A Dsdma_v4_4_2.c1630 "[sdma%d] address:0x%016llx src_id:%u ring:%u vmid:%u pasid:%u\n",
1632 entry->pasid);
1634 task_info = amdgpu_vm_get_task_info_pasid(adev, entry->pasid);
H A Dgfx_v11_0.c139 uint16_t pasid, uint32_t flush_type,
258 uint16_t pasid, uint32_t flush_type,
261 gfx_v11_0_ring_invalidate_tlbs(kiq_ring, pasid, flush_type, all_hub, 1);
5439 uint16_t pasid, uint32_t flush_type,
5446 PACKET3_INVALIDATE_TLBS_PASID(pasid) |
257 gfx11_kiq_invalidate_tlbs(struct amdgpu_ring *kiq_ring, uint16_t pasid, uint32_t flush_type, bool all_hub) argument
5438 gfx_v11_0_ring_invalidate_tlbs(struct amdgpu_ring *ring, uint16_t pasid, uint32_t flush_type, bool all_hub, uint8_t dst_sel) argument
H A Damdgpu_mes.h147 int pasid; member in struct:amdgpu_mes_process
343 int amdgpu_mes_create_process(struct amdgpu_device *adev, int pasid,
345 void amdgpu_mes_destroy_process(struct amdgpu_device *adev, int pasid);
347 int amdgpu_mes_add_gang(struct amdgpu_device *adev, int pasid,
H A Damdgpu_mes.c254 int amdgpu_mes_create_process(struct amdgpu_device *adev, int pasid, argument
286 r = idr_alloc(&adev->mes.pasid_idr, process, pasid, pasid + 1,
289 DRM_ERROR("failed to lock pasid=%d\n", pasid);
295 process->pasid = pasid;
312 void amdgpu_mes_destroy_process(struct amdgpu_device *adev, int pasid) argument
327 process = idr_find(&adev->mes.pasid_idr, pasid);
329 DRM_WARN("pasid
377 amdgpu_mes_add_gang(struct amdgpu_device *adev, int pasid, struct amdgpu_mes_gang_properties *gprops, int *gang_id) argument
491 int r, pasid; local
520 int r, pasid; local
1035 int r, queue_id, pasid; local
1303 amdgpu_mes_test_create_gang_and_queues(struct amdgpu_device *adev, int pasid, int *gang_id, int queue_type, int num_queue, struct amdgpu_ring **added_rings, struct amdgpu_mes_ctx_data *ctx_data) argument
1378 int i, r, pasid, k = 0; local
[all...]
H A Damdgpu_job.c65 ti = amdgpu_vm_get_task_info_pasid(ring->adev, job->pasid);
H A Damdgpu_umsch_mm.c74 uint32_t pasid; member in struct:umsch_mm_test
215 queue_input.process_id = test->pasid;
335 test->pasid = r;
385 amdgpu_pasid_free(test->pasid);
405 amdgpu_pasid_free(test->pasid);
H A Dgfx_v10_0.c3496 uint16_t pasid, uint32_t flush_type,
3611 uint16_t pasid, uint32_t flush_type,
3614 gfx_v10_0_ring_invalidate_tlbs(kiq_ring, pasid, flush_type, all_hub, 1);
8455 uint16_t pasid, uint32_t flush_type,
8462 PACKET3_INVALIDATE_TLBS_PASID(pasid) |
3610 gfx10_kiq_invalidate_tlbs(struct amdgpu_ring *kiq_ring, uint16_t pasid, uint32_t flush_type, bool all_hub) argument
8454 gfx_v10_0_ring_invalidate_tlbs(struct amdgpu_ring *ring, uint16_t pasid, uint32_t flush_type, bool all_hub, uint8_t dst_sel) argument
H A Damdgpu_amdkfd_gpuvm.c1504 struct amdgpu_vm *avm, u32 pasid)
1509 /* Free the original amdgpu allocated pasid,
1510 * will be replaced with kfd allocated pasid.
1512 if (avm->pasid) {
1513 amdgpu_pasid_free(avm->pasid);
1517 ret = amdgpu_vm_set_pasid(adev, avm, pasid);
1593 /* The original pasid of amdgpu vm has already been
1595 * The current pasid is managed by kfd and will be
1596 * released on kfd process destroy. Set amdgpu pasid
1503 amdgpu_amdkfd_gpuvm_set_vm_pasid(struct amdgpu_device *adev, struct amdgpu_vm *avm, u32 pasid) argument
/linux-master/drivers/iommu/intel/
H A Dsvm.c23 #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::__anon17::__anon18
467 intel_drain_pasid_prq(struct device *dev, u32 pasid) argument
[all...]
H A Dperfmon.c441 iommu_pmu_set_filter(pasid, event->attr.config2,
H A Diommu.c30 #include "pasid.h"
762 unsigned long long addr, u32 pasid)
805 /* get the pointer to pasid directory entry */
808 pr_info("pasid directory entry is not present\n");
811 /* For request-without-pasid, get the pasid from context entry */
812 if (intel_iommu_sm && pasid == IOMMU_PASID_INVALID)
813 pasid = IOMMU_NO_PASID;
815 dir_index = pasid >> PASID_PDE_SHIFT;
817 pr_info("pasid di
761 dmar_fault_dump_ptes(struct intel_iommu *iommu, u16 source_id, unsigned long long addr, u32 pasid) argument
2205 domain_setup_first_level(struct intel_iommu *iommu, struct dmar_domain *domain, struct device *dev, u32 pasid) argument
4593 intel_iommu_remove_dev_pasid(struct device *dev, ioasid_t pasid) argument
4636 intel_iommu_set_dev_pasid(struct iommu_domain *domain, struct device *dev, ioasid_t pasid) argument
5087 quirk_extra_dev_tlb_flush(struct device_domain_info *info, unsigned long address, unsigned long mask, u32 pasid, u16 qdep) argument
[all...]
/linux-master/drivers/iommu/amd/
H A Diommu.c717 u32 pasid; local
722 pasid = (event[0] & EVENT_DOMID_MASK_HI) |
738 amd_iommu_report_page_fault(iommu, devid, pasid, address, flags);
744 dev_err(dev, "Event logged [ILLEGAL_DEV_TABLE_ENTRY device=%04x:%02x:%02x.%x pasid=0x%05x address=0x%llx flags=0x%04x]\n",
746 pasid, address, flags);
756 dev_err(dev, "Event logged [PAGE_TAB_HARDWARE_ERROR device=%04x:%02x:%02x.%x pasid=0x%04x address=0x%llx flags=0x%04x]\n",
758 pasid, address, flags);
774 dev_err(dev, "Event logged [INVALID_DEVICE_REQUEST device=%04x:%02x:%02x.%x pasid=0x%05x address=0x%llx flags=0x%04x]\n",
776 pasid, address, flags);
785 pasid
1128 build_inv_iommu_pages(struct iommu_cmd *cmd, u64 address, size_t size, u16 domid, ioasid_t pasid, bool gn) argument
1148 build_inv_iotlb_pages(struct iommu_cmd *cmd, u16 devid, int qdep, u64 address, size_t size, ioasid_t pasid, bool gn) argument
1170 build_complete_ppr(struct iommu_cmd *cmd, u16 devid, u32 pasid, int status, int tag, u8 gn) argument
1387 device_flush_iotlb(struct iommu_dev_data *dev_data, u64 address, size_t size, ioasid_t pasid, bool gn) argument
1498 ioasid_t pasid = IOMMU_NO_PASID; local
1576 amd_iommu_dev_flush_pasid_pages(struct iommu_dev_data *dev_data, ioasid_t pasid, u64 address, size_t size) argument
1592 amd_iommu_dev_flush_pasid_all(struct iommu_dev_data *dev_data, ioasid_t pasid) argument
1667 amd_iommu_complete_ppr(struct pci_dev *pdev, u32 pasid, int status, int tag) argument
1810 __get_gcr3_pte(struct gcr3_tbl_info *gcr3_info, ioasid_t pasid, bool alloc) argument
1845 update_gcr3(struct iommu_dev_data *dev_data, ioasid_t pasid, unsigned long gcr3, bool set) argument
1864 amd_iommu_set_gcr3(struct iommu_dev_data *dev_data, ioasid_t pasid, unsigned long gcr3) argument
1880 amd_iommu_clear_gcr3(struct iommu_dev_data *dev_data, ioasid_t pasid) argument
[all...]
/linux-master/drivers/iommu/
H A Diommu.c381 ret = device_property_read_u32(dev, "pasid-num-bits", &bits);
3318 struct iommu_group *group, ioasid_t pasid)
3324 ret = domain->ops->set_dev_pasid(domain, device->dev, pasid);
3333 ioasid_t pasid)
3340 ops->remove_dev_pasid(device->dev, pasid);
3345 * iommu_attach_device_pasid() - Attach a domain to pasid of device
3348 * @pasid: the pasid of the device.
3353 struct device *dev, ioasid_t pasid)
3368 pasid
3317 __iommu_set_group_pasid(struct iommu_domain *domain, struct iommu_group *group, ioasid_t pasid) argument
3332 __iommu_remove_group_pasid(struct iommu_group *group, ioasid_t pasid) argument
3352 iommu_attach_device_pasid(struct iommu_domain *domain, struct device *dev, ioasid_t pasid) argument
3405 iommu_detach_device_pasid(struct iommu_domain *domain, struct device *dev, ioasid_t pasid) argument
3432 iommu_get_domain_for_dev_pasid(struct device *dev, ioasid_t pasid, unsigned int type) argument
3471 iommu_free_global_pasid(ioasid_t pasid) argument
[all...]
/linux-master/drivers/iommu/arm/arm-smmu-v3/
H A Darm-smmu-v3.c1684 flt->prm.pasid = FIELD_GET(EVTQ_0_SSID, evt[0]);
2881 device_property_read_u32(dev, "pasid-num-bits", &master->ssid_bits);
3056 static void arm_smmu_remove_dev_pasid(struct device *dev, ioasid_t pasid) argument
3060 domain = iommu_get_domain_for_dev_pasid(dev, pasid, IOMMU_DOMAIN_SVA);
3064 arm_smmu_sva_remove_dev_pasid(domain, dev, pasid);
/linux-master/include/linux/
H A Dhisi_acc_qm.h435 u16 pasid; member in struct:hisi_qp
/linux-master/drivers/dma/idxd/
H A Didxd.h98 ioasid_t pasid; member in struct:idxd_irq_entry
339 unsigned int pasid; member in struct:idxd_device
754 void idxd_device_drain_pasid(struct idxd_device *idxd, int pasid);
771 int idxd_wq_set_pasid(struct idxd_wq *wq, int pasid);
794 int idxd_copy_cr(struct idxd_wq *wq, ioasid_t pasid, unsigned long addr,
796 void idxd_user_counter_increment(struct idxd_wq *wq, u32 pasid, int index);
H A Dcdev.c45 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...]

Completed in 595 milliseconds

12345