/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 | 166 p->pasid); in kfd_process_wq_release() 173 pdd->dev->id, p->pasid); in kfd_process_wq_release() 178 amd_iommu_unbind_pasid(pdd->dev->pdev, p->pasid); in kfd_process_wq_release() 186 kfd_pasid_free(p->pasid); in kfd_process_wq_release() 248 (pdd->dev->dbgmgr->pasid == p->pasid)) in kfd_process_notifier_release() 289 process->pasid = kfd_pasid_alloc(); in create_process() 290 if (process->pasid == 0) in create_process() 334 kfd_pasid_free(process->pasid); in create_process() 395 err = amd_iommu_bind_pasid(dev->pdev, p->pasid, p->lead_thread); in kfd_bind_process_to_device() 404 void kfd_unbind_process_from_device(struct kfd_dev *dev, unsigned int pasid) in kfd_unbind_process_from_device() argument [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); 717 void kfd_signal_event_interrupt(unsigned int pasid, uint32_t partial_id, 720 unsigned int pasid, unsigned long address, 722 void kfd_signal_hw_exception_event(unsigned int pasid);
|
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_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_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_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() 894 void kfd_signal_iommu_event(struct kfd_dev *dev, unsigned int pasid, in kfd_signal_iommu_event() argument 906 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_iommu_event() 952 void kfd_signal_hw_exception_event(unsigned int pasid) in kfd_signal_hw_exception_event() argument 959 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_hw_exception_event()
|
D | kfd_doorbell.c | 231 process->pasid * (doorbell_process_allocation()/sizeof(u32)) + in kfd_queue_id_to_doorbell() 249 process->pasid * doorbell_process_allocation(); in kfd_get_process_doorbells()
|
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() 282 p->pasid, in kfd_ioctl_create_queue() 326 p->pasid); in kfd_ioctl_destroy_queue() 372 args->queue_id, p->pasid); in kfd_ioctl_update_queue() 746 dev_dbg(kfd_device, "get apertures for PASID %d", p->pasid); in kfd_ioctl_get_process_apertures()
|
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_pm4_headers_diq.h | 70 unsigned int pasid:10; 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_dbgmgr.h | 279 unsigned int pasid; member
|
/drivers/iommu/ |
D | intel-svm.c | 168 desc.low = QI_EIOTLB_PASID(svm->pasid) | QI_EIOTLB_DID(sdev->did) | in intel_flush_svm_range_dev() 171 desc.low = QI_EIOTLB_PASID(svm->pasid) | QI_EIOTLB_DID(sdev->did) | in intel_flush_svm_range_dev() 177 desc.low = QI_EIOTLB_PASID(svm->pasid) | QI_EIOTLB_DID(sdev->did) | in intel_flush_svm_range_dev() 185 desc.low = QI_DEV_EIOTLB_PASID(svm->pasid) | QI_DEV_EIOTLB_SID(sdev->sid) | in intel_flush_svm_range_dev() 211 !cmpxchg64(&svm->iommu->pasid_state_table[svm->pasid].val, 0, 1ULL << 63)) in intel_flush_svm_range() 248 static void intel_flush_pasid_dev(struct intel_svm *svm, struct intel_svm_dev *sdev, int pasid) in intel_flush_pasid_dev() argument 253 desc.low = QI_PC_TYPE | QI_PC_DID(sdev->did) | QI_PC_PASID_SEL | QI_PC_PASID(pasid); in intel_flush_pasid_dev() 275 svm->iommu->pasid_table[svm->pasid].val = 0; in intel_mm_release() 280 intel_flush_pasid_dev(svm, sdev, svm->pasid); in intel_mm_release() 296 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 | 51 extern int amd_iommu_flush_page(struct iommu_domain *dom, int pasid, 53 extern int amd_iommu_flush_tlb(struct iommu_domain *dom, int pasid); 54 extern int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, int pasid, 56 extern int amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, int pasid); 79 extern int amd_iommu_complete_ppr(struct pci_dev *pdev, int pasid,
|
D | amd_iommu.c | 652 fault.pasid = PPR_PASID(raw[0]); in iommu_handle_ppr_entry() 940 static void build_inv_iommu_pasid(struct iommu_cmd *cmd, u16 domid, int pasid, in build_inv_iommu_pasid() argument 947 cmd->data[0] = pasid; in build_inv_iommu_pasid() 958 static void build_inv_iotlb_pasid(struct iommu_cmd *cmd, u16 devid, int pasid, in build_inv_iotlb_pasid() argument 966 cmd->data[0] |= ((pasid >> 8) & 0xff) << 16; in build_inv_iotlb_pasid() 969 cmd->data[1] |= (pasid & 0xff) << 16; in build_inv_iotlb_pasid() 978 static void build_complete_ppr(struct iommu_cmd *cmd, u16 devid, int pasid, in build_complete_ppr() argument 985 cmd->data[1] = pasid; in build_complete_ppr() 3329 static int __flush_pasid(struct protection_domain *domain, int pasid, in __flush_pasid() argument 3339 build_inv_iommu_pasid(&cmd, domain->id, pasid, address, size); in __flush_pasid() [all …]
|
/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()
|
/drivers/gpu/drm/radeon/ |
D | radeon_kfd.c | 71 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid, 395 static int kgd_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid, in kgd_set_pasid_vmid_mapping() argument 405 uint32_t pasid_mapping = (pasid == 0) ? 0 : (uint32_t)pasid | in kgd_set_pasid_vmid_mapping()
|
/drivers/gpu/drm/amd/include/ |
D | kgd_kfd_interface.h | 142 int (*set_pasid_vmid_mapping)(struct kgd_dev *kgd, unsigned int pasid,
|