/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
H A D | gmc_v10_0.c | 122 amdgpu_gmc_filter_faults(adev, entry->ih, addr, entry->pasid, in gmc_v10_0_process_interrupt() 137 if (amdgpu_vm_handle_fault(adev, entry->pasid, 0, 0, addr, write_fault)) in gmc_v10_0_process_interrupt() 159 amdgpu_vm_get_task_info(adev, entry->pasid, &task_info); in gmc_v10_0_process_interrupt() 162 "[%s] page fault (src_id:%u ring:%u vmid:%u pasid:%u, for process %s pid %d thread %s pid %d)\n", in gmc_v10_0_process_interrupt() 165 entry->pasid, task_info.process_name, task_info.tgid, in gmc_v10_0_process_interrupt() 405 * gmc_v10_0_flush_gpu_tlb_pasid - tlb flush via pasid 408 * @pasid: pasid to be flush 413 * Flush the TLB for the requested pasid. 416 uint16_t pasid, uint32_ in gmc_v10_0_flush_gpu_tlb_pasid() 415 gmc_v10_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev, uint16_t pasid, uint32_t flush_type, bool all_hub, uint32_t inst) gmc_v10_0_flush_gpu_tlb_pasid() argument 521 gmc_v10_0_emit_pasid_mapping(struct amdgpu_ring *ring, unsigned int vmid, unsigned int pasid) gmc_v10_0_emit_pasid_mapping() argument [all...] |
H A D | amdgpu_gmc.c | 350 * amdgpu_gmc_fault_key - get hask key from vm fault address and pasid 353 * @pasid: 16 bit process address space identifier 355 static inline uint64_t amdgpu_gmc_fault_key(uint64_t addr, uint16_t pasid) in amdgpu_gmc_fault_key() argument 357 return addr << 4 | pasid; in amdgpu_gmc_fault_key() 366 * @pasid: PASID of the process causing the fault 375 uint16_t pasid, uint64_t timestamp) in amdgpu_gmc_filter_faults() 378 uint64_t stamp, key = amdgpu_gmc_fault_key(addr, pasid); in amdgpu_gmc_filter_faults() 438 * @pasid: PASID of the process causing the fault 444 uint16_t pasid) in amdgpu_gmc_filter_faults_remove() 447 uint64_t key = amdgpu_gmc_fault_key(addr, pasid); in amdgpu_gmc_filter_faults_remove() 373 amdgpu_gmc_filter_faults(struct amdgpu_device *adev, struct amdgpu_ih_ring *ih, uint64_t addr, uint16_t pasid, uint64_t timestamp) amdgpu_gmc_filter_faults() argument 443 amdgpu_gmc_filter_faults_remove(struct amdgpu_device *adev, uint64_t addr, uint16_t pasid) amdgpu_gmc_filter_faults_remove() argument [all...] |
H A D | gmc_v11_0.c | 126 amdgpu_vm_get_task_info(adev, entry->pasid, &task_info); in gmc_v11_0_process_interrupt() 129 "[%s] page fault (src_id:%u ring:%u vmid:%u pasid:%u, for process %s pid %d thread %s pid %d)\n", in gmc_v11_0_process_interrupt() 132 entry->pasid, task_info.process_name, task_info.tgid, in gmc_v11_0_process_interrupt() 316 * gmc_v11_0_flush_gpu_tlb_pasid - tlb flush via pasid 319 * @pasid: pasid to be flush 324 * Flush the TLB for the requested pasid. 327 uint16_t pasid, uint32_t flush_type, in gmc_v11_0_flush_gpu_tlb_pasid() 343 pasid, flush_type, all_hub); in gmc_v11_0_flush_gpu_tlb_pasid() 366 if (ret && queried_pasid == pasid) { in gmc_v11_0_flush_gpu_tlb_pasid() 326 gmc_v11_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev, uint16_t pasid, uint32_t flush_type, bool all_hub, uint32_t inst) gmc_v11_0_flush_gpu_tlb_pasid() argument 429 gmc_v11_0_emit_pasid_mapping(struct amdgpu_ring *ring, unsigned int vmid, unsigned int pasid) gmc_v11_0_emit_pasid_mapping() argument [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_priv.h | 764 /* Is this process/pasid bound to this device? (amd_iommu_bind_pasid) */ 890 u32 pasid; member 1016 struct kfd_process *kfd_lookup_process_by_pasid(u32 pasid); 1071 void kfd_pasid_free(u32 pasid); 1156 void kfd_process_close_interrupt_drain(unsigned int pasid); 1301 int kfd_dqm_evict_pasid(struct device_queue_manager *dqm, u32 pasid); 1442 void kfd_signal_event_interrupt(u32 pasid, uint32_t partial_id, 1444 void kfd_signal_hw_exception_event(u32 pasid); 1457 void kfd_signal_vm_fault_event(struct kfd_node *dev, u32 pasid, 1463 void kfd_signal_poison_consumed_event(struct kfd_node *dev, u32 pasid); [all...] |
H A D | kfd_pm4_headers_vi.h | 154 uint32_t pasid:16; member 305 uint32_t pasid:16; member 369 uint32_t pasid:16; member
|
H A D | kfd_packet_manager_v9.c | 47 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_v9() 102 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_aldebaran() 355 packet->bitfields3a.pasid = filter_param; in pm_unmap_queues_v9()
|
H A D | kfd_events.c | 719 void kfd_signal_event_interrupt(u32 pasid, uint32_t partial_id, in kfd_signal_event_interrupt() argument 729 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_event_interrupt() 1126 "Sending SIGSEGV to process %d (pasid 0x%x)", in lookup_events_by_type_and_signal() 1127 p->lead_thread->pid, p->pasid); in lookup_events_by_type_and_signal() 1135 "Sending SIGTERM to process %d (pasid 0x%x)", in lookup_events_by_type_and_signal() 1136 p->lead_thread->pid, p->pasid); in lookup_events_by_type_and_signal() 1140 "Process %d (pasid 0x%x) got unhandled exception", in lookup_events_by_type_and_signal() 1141 p->lead_thread->pid, p->pasid); in lookup_events_by_type_and_signal() 1148 void kfd_signal_hw_exception_event(u32 pasid) in kfd_signal_hw_exception_event() argument 1155 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_hw_exception_event() 1164 kfd_signal_vm_fault_event(struct kfd_node *dev, u32 pasid, struct kfd_vm_fault_info *info, struct kfd_hsa_memory_exception_data *data) kfd_signal_vm_fault_event() argument 1275 kfd_signal_poison_consumed_event(struct kfd_node *dev, u32 pasid) kfd_signal_poison_consumed_event() argument [all...] |
/kernel/linux/linux-5.10/drivers/dma/idxd/ |
H A D | registers.h | 246 u64 pasid:20; member 266 u32 pasid:20; member 306 u32 pasid:20; member
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_pm4_headers_vi.h | 153 uint32_t pasid:16; member 304 uint32_t pasid:16; member 368 uint32_t pasid:16; member
|
H A D | kfd_dbgdev.c | 48 u32 pasid, uint64_t vmid0_address, in dbgdev_diq_submit_ib() 99 ib_packet->bitfields5.pasid = pasid; in dbgdev_diq_submit_ib() 470 adw_info->process->pasid, in dbgdev_address_watch_diq() 684 wac_info->process->pasid, in dbgdev_wave_control_diq() 789 if (status && queried_pasid == p->pasid) { in dbgdev_wave_reset_wavefronts() 790 pr_debug("Killing wave fronts of vmid %d and pasid 0x%x\n", in dbgdev_wave_reset_wavefronts() 791 vmid, p->pasid); in dbgdev_wave_reset_wavefronts() 797 pr_err("Didn't find vmid for pasid 0x%x\n", p->pasid); in dbgdev_wave_reset_wavefronts() 47 dbgdev_diq_submit_ib(struct kfd_dbgdev *dbgdev, u32 pasid, uint64_t vmid0_address, uint32_t *packet_buff, size_t size_in_bytes) dbgdev_diq_submit_ib() argument [all...] |
H A D | kfd_smi_events.h | 27 void kfd_smi_event_update_vmfault(struct kfd_dev *dev, uint16_t pasid);
|
H A D | kfd_pm4_headers_ai.h | 147 uint32_t pasid:16; member 347 uint32_t pasid:16; member 415 uint32_t pasid:16; member
|
H A D | kfd_packet_manager_vi.c | 54 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_vi() 245 packet->bitfields3a.pasid = filter_param; in pm_unmap_queues_vi()
|
H A D | kfd_packet_manager_v9.c | 43 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_v9() 265 packet->bitfields3a.pasid = filter_param; in pm_unmap_queues_v9()
|
/kernel/linux/linux-6.6/drivers/dma/idxd/ |
H A D | registers.h | 273 u64 pasid:20; member 317 u64 pasid:20; member 332 u32 pasid:20; member 377 u32 pasid:20; member 595 u64 pasid:20; member
|
H A D | idxd.h | 85 ioasid_t pasid; member 325 unsigned int pasid; member 683 void idxd_device_drain_pasid(struct idxd_device *idxd, int pasid); 700 int idxd_wq_set_pasid(struct idxd_wq *wq, int pasid); 726 int idxd_copy_cr(struct idxd_wq *wq, ioasid_t pasid, unsigned long addr, 728 void idxd_user_counter_increment(struct idxd_wq *wq, u32 pasid, int index);
|
H A D | submit.c | 22 desc->hw->pasid = idxd->pasid; in __get_desc()
|
/kernel/linux/linux-5.10/drivers/misc/ocxl/ |
H A D | ocxl_internal.h | 72 int pasid; member 133 * @pasid: the PASID for the AFU context 138 int ocxl_link_update_pe(void *link_handle, int pasid, __u16 tid);
|
/kernel/linux/linux-6.6/drivers/misc/uacce/ |
H A D | uacce.c | 105 u32 pasid; in uacce_bind_queue() local 115 pasid = iommu_sva_get_pasid(handle); in uacce_bind_queue() 116 if (pasid == IOMMU_PASID_INVALID) { in uacce_bind_queue() 122 q->pasid = pasid; in uacce_bind_queue() 162 ret = uacce->ops->get_queue(uacce, q->pasid, q); in uacce_fops_open()
|
/kernel/linux/linux-6.6/drivers/iommu/ |
H A D | iommu.c | 376 ret = device_property_read_u32(dev, "pasid-num-bits", &bits); in dev_iommu_get_max_pasids() 1486 if (needs_pasid && (!has_pasid || msg->pasid != prm->pasid)) in iommu_page_response() 1492 msg->pasid = 0; in iommu_page_response() 3370 struct iommu_group *group, ioasid_t pasid) in __iommu_set_group_pasid() 3376 ret = domain->ops->set_dev_pasid(domain, device->dev, pasid); in __iommu_set_group_pasid() 3385 ioasid_t pasid) in __iommu_remove_group_pasid() 3392 ops->remove_dev_pasid(device->dev, pasid); in __iommu_remove_group_pasid() 3397 * iommu_attach_device_pasid() - Attach a domain to pasid of device 3400 * @pasid 3369 __iommu_set_group_pasid(struct iommu_domain *domain, struct iommu_group *group, ioasid_t pasid) __iommu_set_group_pasid() argument 3384 __iommu_remove_group_pasid(struct iommu_group *group, ioasid_t pasid) __iommu_remove_group_pasid() argument 3404 iommu_attach_device_pasid(struct iommu_domain *domain, struct device *dev, ioasid_t pasid) iommu_attach_device_pasid() argument 3447 iommu_detach_device_pasid(struct iommu_domain *domain, struct device *dev, ioasid_t pasid) iommu_detach_device_pasid() argument 3475 iommu_get_domain_for_dev_pasid(struct device *dev, ioasid_t pasid, unsigned int type) iommu_get_domain_for_dev_pasid() argument 3534 iommu_free_global_pasid(ioasid_t pasid) iommu_free_global_pasid() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
H A D | gmc_v9_0.c | 526 if (retry_fault && amdgpu_gmc_filter_faults(adev, addr, entry->pasid, in gmc_v9_0_process_interrupt() 543 amdgpu_vm_handle_fault(adev, entry->pasid, addr)) in gmc_v9_0_process_interrupt() 567 amdgpu_vm_get_task_info(adev, entry->pasid, &task_info); in gmc_v9_0_process_interrupt() 571 "pasid:%u, for process %s pid %d thread %s pid %d)\n", in gmc_v9_0_process_interrupt() 574 entry->pasid, task_info.process_name, task_info.tgid, in gmc_v9_0_process_interrupt() 826 * gmc_v9_0_flush_gpu_tlb_pasid - tlb flush via pasid 829 * @pasid: pasid to be flush 831 * Flush the TLB for the requested pasid. 834 uint16_t pasid, uint32_ in gmc_v9_0_flush_gpu_tlb_pasid() 833 gmc_v9_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev, uint16_t pasid, uint32_t flush_type, bool all_hub) gmc_v9_0_flush_gpu_tlb_pasid() argument 962 gmc_v9_0_emit_pasid_mapping(struct amdgpu_ring *ring, unsigned vmid, unsigned pasid) gmc_v9_0_emit_pasid_mapping() argument [all...] |
H A D | gmc_v10_0.c | 120 amdgpu_vm_get_task_info(adev, entry->pasid, &task_info); in gmc_v10_0_process_interrupt() 123 "[%s] page fault (src_id:%u ring:%u vmid:%u pasid:%u, " in gmc_v10_0_process_interrupt() 127 entry->pasid, task_info.process_name, task_info.tgid, in gmc_v10_0_process_interrupt() 358 * gmc_v10_0_flush_gpu_tlb_pasid - tlb flush via pasid 361 * @pasid: pasid to be flush 363 * Flush the TLB for the requested pasid. 366 uint16_t pasid, uint32_t flush_type, in gmc_v10_0_flush_gpu_tlb_pasid() 383 pasid, flush_type, all_hub); in gmc_v10_0_flush_gpu_tlb_pasid() 406 if (ret && queried_pasid == pasid) { in gmc_v10_0_flush_gpu_tlb_pasid() 365 gmc_v10_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev, uint16_t pasid, uint32_t flush_type, bool all_hub) gmc_v10_0_flush_gpu_tlb_pasid() argument 470 gmc_v10_0_emit_pasid_mapping(struct amdgpu_ring *ring, unsigned vmid, unsigned pasid) gmc_v10_0_emit_pasid_mapping() argument [all...] |
H A D | amdgpu_amdkfd.h | 137 int amdgpu_amdkfd_flush_gpu_tlb_pasid(struct kgd_dev *kgd, uint16_t pasid); 237 int amdgpu_amdkfd_gpuvm_create_process_vm(struct kgd_dev *kgd, u32 pasid, 241 struct file *filp, u32 pasid,
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | intel-svm.h | 14 void (*fault_cb)(struct device *dev, u32 pasid, u64 address,
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/include/ |
H A D | kgd_kfd_interface.h | 178 * @set_pasid_vmid_mapping: Exposes pasid/vmid pair to the H/W for no cp 217 * as identified by its pasid. It is important to note that the value 234 int (*set_pasid_vmid_mapping)(struct kgd_dev *kgd, u32 pasid, 299 void (*get_cu_occupancy)(struct kgd_dev *kgd, int pasid, int *wave_cnt,
|