/linux-master/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_process.c | 283 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 D | kfd_device_queue_manager.c | 46 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 D | kfd_chardev.c | 160 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 D | kfd_priv.h | 764 /* 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 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_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...] |
/linux-master/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_vm.c | 130 * 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 D | sdma_v4_4_2.c | 1630 "[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 D | gfx_v11_0.c | 139 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 D | amdgpu_mes.h | 147 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 D | amdgpu_mes.c | 254 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 D | amdgpu_job.c | 65 ti = amdgpu_vm_get_task_info_pasid(ring->adev, job->pasid);
|
H A D | amdgpu_umsch_mm.c | 74 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 D | gfx_v10_0.c | 3496 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 D | amdgpu_amdkfd_gpuvm.c | 1504 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 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::__anon17::__anon18 467 intel_drain_pasid_prq(struct device *dev, u32 pasid) argument [all...] |
H A D | perfmon.c | 441 iommu_pmu_set_filter(pasid, event->attr.config2,
|
H A D | iommu.c | 30 #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 D | iommu.c | 717 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 D | iommu.c | 381 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 D | arm-smmu-v3.c | 1684 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 D | hisi_acc_qm.h | 435 u16 pasid; member in struct:hisi_qp
|
/linux-master/drivers/dma/idxd/ |
H A D | idxd.h | 98 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 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...] |