/linux-4.4.14/drivers/gpu/drm/amd/amdkfd/ |
D | kfd_dbgmgr.c | 52 pmgr->pasid = 0; in kfd_dbgmgr_uninitialize() 78 new_buff->pasid = 0; in kfd_dbgmgr_create() 101 if (pmgr->pasid != 0) { in kfd_dbgmgr_register() 103 pmgr->pasid); in kfd_dbgmgr_register() 108 pmgr->pasid = p->pasid; in kfd_dbgmgr_register() 124 if (pmgr->pasid != p->pasid) { in kfd_dbgmgr_unregister() 126 p->pasid); in kfd_dbgmgr_unregister() 132 pmgr->pasid = 0; in kfd_dbgmgr_unregister() 143 if (pmgr->pasid != wac_info->process->pasid) { in kfd_dbgmgr_wave_control() 145 wac_info->process->pasid); in kfd_dbgmgr_wave_control() [all …]
|
D | cik_event_interrupt.c | 30 unsigned int pasid; in cik_event_interrupt_isr() local 34 pasid = (ihre->ring_id & 0xffff0000) >> 16; in cik_event_interrupt_isr() 37 return (pasid != 0) && in cik_event_interrupt_isr() 46 unsigned int pasid; in cik_event_interrupt_wq() local 50 pasid = (ihre->ring_id & 0xffff0000) >> 16; in cik_event_interrupt_wq() 52 if (pasid == 0) in cik_event_interrupt_wq() 56 kfd_signal_event_interrupt(pasid, 0, 0); in cik_event_interrupt_wq() 58 kfd_signal_event_interrupt(pasid, ihre->data & 0xFF, 8); in cik_event_interrupt_wq() 60 kfd_signal_hw_exception_event(pasid); in cik_event_interrupt_wq()
|
D | kfd_process.c | 167 p->pasid); in kfd_process_wq_release() 174 pdd->dev->id, p->pasid); in kfd_process_wq_release() 179 amd_iommu_unbind_pasid(pdd->dev->pdev, p->pasid); in kfd_process_wq_release() 187 kfd_pasid_free(p->pasid); in kfd_process_wq_release() 284 process->pasid = kfd_pasid_alloc(); in create_process() 285 if (process->pasid == 0) in create_process() 327 kfd_pasid_free(process->pasid); in create_process() 388 err = amd_iommu_bind_pasid(dev->pdev, p->pasid, p->lead_thread); in kfd_bind_process_to_device() 397 void kfd_unbind_process_from_device(struct kfd_dev *dev, unsigned int pasid) in kfd_unbind_process_from_device() argument 408 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_priv.h | 500 unsigned int pasid; member 551 struct kfd_process *kfd_lookup_process_by_pasid(unsigned int pasid); 555 void kfd_unbind_process_from_device(struct kfd_dev *dev, unsigned int pasid); 573 void kfd_pasid_free(unsigned int pasid); 720 void kfd_signal_event_interrupt(unsigned int pasid, uint32_t partial_id, 723 unsigned int pasid, unsigned long address, 725 void kfd_signal_hw_exception_event(unsigned int pasid);
|
D | kfd_pm4_headers_vi.h | 150 uint32_t pasid:16; member 294 uint32_t pasid:16; member 358 uint32_t pasid:16; member
|
D | kfd_pm4_headers.h | 151 uint32_t pasid:16; member 299 uint32_t pasid:16; member 362 uint32_t pasid:16; member
|
D | kfd_dbgdev.c | 51 unsigned int pasid, uint64_t vmid0_address, in dbgdev_diq_submit_ib() argument 101 ib_packet->bitfields5.pasid = pasid; in dbgdev_diq_submit_ib() 496 adw_info->process->pasid, in dbgdev_address_watch_diq() 717 wac_info->process->pasid, in dbgdev_wave_control_diq() 827 (dev->kgd, vmid) == p->pasid) { in dbgdev_wave_reset_wavefronts() 829 vmid, p->pasid); in dbgdev_wave_reset_wavefronts() 836 pr_err("amdkfd: didn't found vmid for pasid (%d)\n", p->pasid); in dbgdev_wave_reset_wavefronts()
|
D | kfd_device.c | 188 static void iommu_pasid_shutdown_callback(struct pci_dev *pdev, int pasid) in iommu_pasid_shutdown_callback() argument 193 kfd_unbind_process_from_device(dev, pasid); in iommu_pasid_shutdown_callback() 199 static int iommu_invalid_ppr_cb(struct pci_dev *pdev, int pasid, in iommu_invalid_ppr_cb() argument 209 pasid, in iommu_invalid_ppr_cb() 216 kfd_signal_iommu_event(dev, pasid, address, in iommu_invalid_ppr_cb()
|
D | kfd_doorbell.c | 229 process->pasid * (doorbell_process_allocation()/sizeof(u32)) + in kfd_queue_id_to_doorbell() 247 process->pasid * doorbell_process_allocation(); in kfd_get_process_doorbells()
|
D | kfd_events.c | 559 void kfd_signal_event_interrupt(unsigned int pasid, uint32_t partial_id, in kfd_signal_event_interrupt() argument 569 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_event_interrupt() 892 void kfd_signal_iommu_event(struct kfd_dev *dev, unsigned int pasid, in kfd_signal_iommu_event() argument 904 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_iommu_event() 950 void kfd_signal_hw_exception_event(unsigned int pasid) in kfd_signal_hw_exception_event() argument 957 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_hw_exception_event()
|
D | kfd_events.h | 81 extern void kfd_signal_event_interrupt(unsigned int pasid, uint32_t partial_id,
|
D | kfd_chardev.c | 125 process->pasid, process->is_32bit_user_mode); in kfd_open() 283 p->pasid, in kfd_ioctl_create_queue() 327 p->pasid); in kfd_ioctl_destroy_queue() 373 args->queue_id, p->pasid); in kfd_ioctl_update_queue() 767 dev_dbg(kfd_device, "get apertures for PASID %d", p->pasid); in kfd_ioctl_get_process_apertures()
|
D | kfd_pm4_headers_diq.h | 70 unsigned int pasid:10; member
|
D | kfd_device_queue_manager.c | 41 unsigned int pasid, unsigned int vmid); 112 set_pasid_vmid_mapping(dqm, q->process->pasid, q->properties.vmid); in allocate_vmid() 458 set_pasid_vmid_mapping(struct device_queue_manager *dqm, unsigned int pasid, in set_pasid_vmid_mapping() argument 463 pasid_mapping = (pasid == 0) ? 0 : in set_pasid_vmid_mapping() 464 (uint32_t)pasid | in set_pasid_vmid_mapping()
|
D | kfd_dbgmgr.h | 279 unsigned int pasid; member
|
D | kfd_packet_manager.c | 164 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_create_map_process() 636 packet->bitfields3a.pasid = filter_param; in pm_send_unmap_queue()
|
D | kfd_process_queue_manager.c | 63 pqm->process->pasid); in find_available_queue_slot()
|
/linux-4.4.14/drivers/iommu/ |
D | intel-svm.c | 159 desc.low = QI_EIOTLB_PASID(svm->pasid) | QI_EIOTLB_DID(sdev->did) | in intel_flush_svm_range_dev() 162 desc.low = QI_EIOTLB_PASID(svm->pasid) | QI_EIOTLB_DID(sdev->did) | in intel_flush_svm_range_dev() 168 desc.low = QI_EIOTLB_PASID(svm->pasid) | QI_EIOTLB_DID(sdev->did) | in intel_flush_svm_range_dev() 176 desc.low = QI_DEV_EIOTLB_PASID(svm->pasid) | QI_DEV_EIOTLB_SID(sdev->sid) | in intel_flush_svm_range_dev() 202 !cmpxchg64(&svm->iommu->pasid_state_table[svm->pasid].val, 0, 1ULL << 63)) in intel_flush_svm_range() 239 static void intel_flush_pasid_dev(struct intel_svm *svm, struct intel_svm_dev *sdev, int pasid) in intel_flush_pasid_dev() argument 244 desc.low = QI_PC_TYPE | QI_PC_DID(sdev->did) | QI_PC_PASID_SEL | QI_PC_PASID(pasid); in intel_flush_pasid_dev() 266 svm->iommu->pasid_table[svm->pasid].val = 0; in intel_mm_release() 271 intel_flush_pasid_dev(svm, sdev, svm->pasid); in intel_mm_release() 287 int intel_svm_bind_mm(struct device *dev, int *pasid, int flags, struct svm_dev_ops *ops) in intel_svm_bind_mm() argument [all …]
|
D | amd_iommu_v2.c | 54 int pasid; /* PASID index */ member 84 u16 pasid; member 164 int pasid, bool alloc) in __get_pasid_state_ptr() argument 174 index = (pasid >> (9 * level)) & 0x1ff; in __get_pasid_state_ptr() 198 int pasid) in set_pasid_state() argument 205 ptr = __get_pasid_state_ptr(dev_state, pasid, true); in set_pasid_state() 225 static void clear_pasid_state(struct device_state *dev_state, int pasid) in clear_pasid_state() argument 231 ptr = __get_pasid_state_ptr(dev_state, pasid, true); in clear_pasid_state() 243 int pasid) in get_pasid_state() argument 249 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); 78 extern int amd_iommu_complete_ppr(struct pci_dev *pdev, int pasid,
|
D | amd_iommu.c | 620 fault.pasid = PPR_PASID(raw[0]); in iommu_handle_ppr_entry() 841 static void build_inv_iommu_pasid(struct iommu_cmd *cmd, u16 domid, int pasid, in build_inv_iommu_pasid() argument 848 cmd->data[0] = pasid; in build_inv_iommu_pasid() 859 static void build_inv_iotlb_pasid(struct iommu_cmd *cmd, u16 devid, int pasid, in build_inv_iotlb_pasid() argument 867 cmd->data[0] |= ((pasid >> 8) & 0xff) << 16; in build_inv_iotlb_pasid() 870 cmd->data[1] |= (pasid & 0xff) << 16; in build_inv_iotlb_pasid() 879 static void build_complete_ppr(struct iommu_cmd *cmd, u16 devid, int pasid, in build_complete_ppr() argument 886 cmd->data[1] = pasid; in build_complete_ppr() 3267 static int __flush_pasid(struct protection_domain *domain, int pasid, in __flush_pasid() argument 3277 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.4.14/include/linux/ |
D | intel-svm.h | 22 void (*fault_cb)(struct device *dev, int pasid, u64 address, 85 extern int intel_svm_bind_mm(struct device *dev, int *pasid, int flags, 103 extern int intel_svm_unbind_mm(struct device *dev, int pasid); 107 static inline int intel_svm_bind_mm(struct device *dev, int *pasid, in intel_svm_bind_mm() argument 113 static inline int intel_svm_unbind_mm(struct device *dev, int pasid) in intel_svm_unbind_mm() argument
|
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);
|
D | intel-iommu.h | 300 #define QI_PC_PASID(pasid) (((u64)pasid) << 32) argument 311 #define QI_EIOTLB_PASID(pasid) (((u64)pasid) << 32) argument 326 #define QI_PGRP_PASID(pasid) (((u64)(pasid)) << 32) argument 336 #define QI_PSTRM_PASID(pasid) (((u64)(pasid)) << 4) argument 496 int pasid; member
|
/linux-4.4.14/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_amdkfd_gfx_v8.c | 53 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid, 178 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid, in kgd_set_pasid_vmid_mapping() argument 190 uint32_t pasid_mapping = (pasid == 0) ? 0 : (uint32_t)pasid | in kgd_set_pasid_vmid_mapping()
|
D | amdgpu_amdkfd_gfx_v7.c | 93 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid, 217 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid, in kgd_set_pasid_vmid_mapping() argument 228 uint32_t pasid_mapping = (pasid == 0) ? 0 : (uint32_t)pasid | in kgd_set_pasid_vmid_mapping()
|
/linux-4.4.14/drivers/gpu/drm/radeon/ |
D | radeon_kfd.c | 71 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid, 396 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid, in kgd_set_pasid_vmid_mapping() argument 406 uint32_t pasid_mapping = (pasid == 0) ? 0 : (uint32_t)pasid | in kgd_set_pasid_vmid_mapping()
|
/linux-4.4.14/drivers/gpu/drm/amd/include/ |
D | kgd_kfd_interface.h | 142 int (*set_pasid_vmid_mapping)(struct kgd_dev *kgd, unsigned int pasid,
|
/linux-4.4.14/arch/x86/kernel/cpu/ |
D | perf_event_amd_iommu.c | 57 PMU_FORMAT_ATTR(pasid, "config:24-39");
|