Home
last modified time | relevance | path

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

12

/drivers/gpu/drm/amd/amdkfd/
Dkfd_dbgmgr.c52 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 …]
Dcik_event_interrupt.c30 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()
Dkfd_process.c166 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 …]
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_priv.h500 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);
Dkfd_dbgdev.c51 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()
Dkfd_pm4_headers_vi.h150 uint32_t pasid:16; member
294 uint32_t pasid:16; member
358 uint32_t pasid:16; member
Dkfd_pm4_headers.h151 uint32_t pasid:16; member
299 uint32_t pasid:16; member
362 uint32_t pasid:16; member
Dkfd_device.c188 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()
Dkfd_events.c559 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()
Dkfd_doorbell.c231 process->pasid * (doorbell_process_allocation()/sizeof(u32)) + in kfd_queue_id_to_doorbell()
249 process->pasid * doorbell_process_allocation(); in kfd_get_process_doorbells()
Dkfd_events.h81 extern void kfd_signal_event_interrupt(unsigned int pasid, uint32_t partial_id,
Dkfd_chardev.c125 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()
Dkfd_device_queue_manager.c41 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()
Dkfd_pm4_headers_diq.h70 unsigned int pasid:10; member
Dkfd_packet_manager.c164 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_create_map_process()
636 packet->bitfields3a.pasid = filter_param; in pm_send_unmap_queue()
Dkfd_dbgmgr.h279 unsigned int pasid; member
/drivers/iommu/
Dintel-svm.c168 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 …]
Damd_iommu_v2.c54 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 …]
Damd_iommu_proto.h51 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,
Damd_iommu.c652 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/
Damdgpu_amdkfd_gfx_v8.c53 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()
Damdgpu_amdkfd_gfx_v7.c93 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/
Dradeon_kfd.c71 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/
Dkgd_kfd_interface.h142 int (*set_pasid_vmid_mapping)(struct kgd_dev *kgd, unsigned int pasid,

12