/linux-4.1.27/drivers/iommu/ |
D | amd_iommu_v2.c | 54 int pasid; /* PASID index */ member 84 u16 pasid; member 156 int pasid, bool alloc) in __get_pasid_state_ptr() argument 166 index = (pasid >> (9 * level)) & 0x1ff; in __get_pasid_state_ptr() 190 int pasid) in set_pasid_state() argument 197 ptr = __get_pasid_state_ptr(dev_state, pasid, true); in set_pasid_state() 217 static void clear_pasid_state(struct device_state *dev_state, int pasid) in clear_pasid_state() argument 223 ptr = __get_pasid_state_ptr(dev_state, pasid, true); in clear_pasid_state() 235 int pasid) in get_pasid_state() argument 241 ptr = __get_pasid_state_ptr(dev_state, pasid, false); in get_pasid_state() [all …]
|
D | amd_iommu_proto.h | 50 extern int amd_iommu_flush_page(struct iommu_domain *dom, int pasid, 52 extern int amd_iommu_flush_tlb(struct iommu_domain *dom, int pasid); 53 extern int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, int pasid, 55 extern int amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, int pasid); 69 extern int amd_iommu_complete_ppr(struct pci_dev *pdev, int pasid,
|
D | amd_iommu.c | 689 fault.pasid = PPR_PASID(raw[0]); in iommu_handle_ppr_entry() 910 static void build_inv_iommu_pasid(struct iommu_cmd *cmd, u16 domid, int pasid, in build_inv_iommu_pasid() argument 917 cmd->data[0] = pasid; in build_inv_iommu_pasid() 928 static void build_inv_iotlb_pasid(struct iommu_cmd *cmd, u16 devid, int pasid, in build_inv_iotlb_pasid() argument 936 cmd->data[0] |= ((pasid >> 8) & 0xff) << 16; in build_inv_iotlb_pasid() 939 cmd->data[1] |= (pasid & 0xff) << 16; in build_inv_iotlb_pasid() 948 static void build_complete_ppr(struct iommu_cmd *cmd, u16 devid, int pasid, in build_complete_ppr() argument 955 cmd->data[1] = pasid; in build_complete_ppr() 3553 static int __flush_pasid(struct protection_domain *domain, int pasid, in __flush_pasid() argument 3563 build_inv_iommu_pasid(&cmd, domain->id, pasid, address, size); in __flush_pasid() [all …]
|
D | amd_iommu_types.h | 393 u32 pasid; /* Address space identifier */ member
|
/linux-4.1.27/drivers/gpu/drm/amd/amdkfd/ |
D | kfd_process.c | 166 p->pasid); in kfd_process_wq_release() 173 pdd->dev->id, p->pasid); in kfd_process_wq_release() 175 amd_iommu_unbind_pasid(pdd->dev->pdev, p->pasid); in kfd_process_wq_release() 181 kfd_pasid_free(p->pasid); in kfd_process_wq_release() 269 process->pasid = kfd_pasid_alloc(); in create_process() 270 if (process->pasid == 0) in create_process() 310 kfd_pasid_free(process->pasid); in create_process() 370 err = amd_iommu_bind_pasid(dev->pdev, p->pasid, p->lead_thread); in kfd_bind_process_to_device() 379 void kfd_unbind_process_from_device(struct kfd_dev *dev, unsigned int pasid) in kfd_unbind_process_from_device() argument 390 if (p->pasid == pasid) in kfd_unbind_process_from_device() [all …]
|
D | kfd_pasid.c | 92 void kfd_pasid_free(unsigned int pasid) in kfd_pasid_free() argument 94 BUG_ON(pasid == 0 || pasid >= pasid_limit); in kfd_pasid_free() 95 clear_bit(pasid, pasid_bitmap); in kfd_pasid_free()
|
D | kfd_pm4_headers.h | 151 uint32_t pasid:16; member 298 uint32_t pasid:16; member 360 uint32_t pasid:16; member
|
D | kfd_doorbell.c | 230 process->pasid * (doorbell_process_allocation()/sizeof(u32)) + in kfd_queue_id_to_doorbell() 248 process->pasid * doorbell_process_allocation(); in kfd_get_process_doorbells()
|
D | kfd_chardev.c | 124 process->pasid, process->is_32bit_user_mode); in kfd_open() 282 p->pasid, in kfd_ioctl_create_queue() 324 p->pasid); in kfd_ioctl_destroy_queue() 370 args->queue_id, p->pasid); in kfd_ioctl_update_queue() 469 dev_dbg(kfd_device, "get apertures for PASID %d", p->pasid); in kfd_ioctl_get_process_apertures()
|
D | kfd_priv.h | 460 unsigned int pasid; member 507 void kfd_unbind_process_from_device(struct kfd_dev *dev, unsigned int pasid); 525 void kfd_pasid_free(unsigned int pasid);
|
D | kfd_packet_manager.c | 158 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_create_map_process() 526 packet->bitfields3a.pasid = filter_param; in pm_send_unmap_queue()
|
D | kfd_device_queue_manager.c | 41 unsigned int pasid, unsigned int vmid); 111 set_pasid_vmid_mapping(dqm, q->process->pasid, q->properties.vmid); in allocate_vmid() 457 set_pasid_vmid_mapping(struct device_queue_manager *dqm, unsigned int pasid, in set_pasid_vmid_mapping() argument 462 pasid_mapping = (pasid == 0) ? 0 : in set_pasid_vmid_mapping() 463 (uint32_t)pasid | in set_pasid_vmid_mapping()
|
D | kfd_device.c | 176 static void iommu_pasid_shutdown_callback(struct pci_dev *pdev, int pasid) in iommu_pasid_shutdown_callback() argument 181 kfd_unbind_process_from_device(dev, pasid); in iommu_pasid_shutdown_callback()
|
D | kfd_process_queue_manager.c | 63 pqm->process->pasid); in find_available_queue_slot()
|
/linux-4.1.27/include/linux/ |
D | amd-iommu.h | 77 extern int amd_iommu_bind_pasid(struct pci_dev *pdev, int pasid, 89 extern void amd_iommu_unbind_pasid(struct pci_dev *pdev, int pasid); 115 int pasid, 167 typedef void (*amd_iommu_invalidate_ctx)(struct pci_dev *pdev, int pasid);
|
/linux-4.1.27/drivers/gpu/drm/radeon/ |
D | radeon_kfd.c | 64 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid, 364 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid, in kgd_set_pasid_vmid_mapping() argument 374 uint32_t pasid_mapping = (pasid == 0) ? 0 : in kgd_set_pasid_vmid_mapping() 375 (uint32_t)pasid | ATC_VMID_PASID_MAPPING_VALID; in kgd_set_pasid_vmid_mapping()
|
/linux-4.1.27/drivers/gpu/drm/amd/include/ |
D | kgd_kfd_interface.h | 141 int (*set_pasid_vmid_mapping)(struct kgd_dev *kgd, unsigned int pasid,
|
/linux-4.1.27/arch/x86/kernel/cpu/ |
D | perf_event_amd_iommu.c | 57 PMU_FORMAT_ATTR(pasid, "config:24-39");
|