Home
last modified time | relevance | path

Searched refs:pasid (Results 1 – 18 of 18) sorted by relevance

/linux-4.1.27/drivers/iommu/
Damd_iommu_v2.c54 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 …]
Damd_iommu_proto.h50 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,
Damd_iommu.c689 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 …]
Damd_iommu_types.h393 u32 pasid; /* Address space identifier */ member
/linux-4.1.27/drivers/gpu/drm/amd/amdkfd/
Dkfd_process.c166 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 …]
Dkfd_pasid.c92 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()
Dkfd_pm4_headers.h151 uint32_t pasid:16; member
298 uint32_t pasid:16; member
360 uint32_t pasid:16; member
Dkfd_doorbell.c230 process->pasid * (doorbell_process_allocation()/sizeof(u32)) + in kfd_queue_id_to_doorbell()
248 process->pasid * doorbell_process_allocation(); in kfd_get_process_doorbells()
Dkfd_chardev.c124 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()
Dkfd_priv.h460 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);
Dkfd_packet_manager.c158 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_create_map_process()
526 packet->bitfields3a.pasid = filter_param; in pm_send_unmap_queue()
Dkfd_device_queue_manager.c41 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()
Dkfd_device.c176 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()
Dkfd_process_queue_manager.c63 pqm->process->pasid); in find_available_queue_slot()
/linux-4.1.27/include/linux/
Damd-iommu.h77 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/
Dradeon_kfd.c64 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/
Dkgd_kfd_interface.h141 int (*set_pasid_vmid_mapping)(struct kgd_dev *kgd, unsigned int pasid,
/linux-4.1.27/arch/x86/kernel/cpu/
Dperf_event_amd_iommu.c57 PMU_FORMAT_ATTR(pasid, "config:24-39");