/kernel/linux/linux-6.6/include/linux/ |
H A D | iommu.h | 259 * pasid, so that any DMA transactions with this pasid 292 void (*remove_dev_pasid)(struct device *dev, ioasid_t pasid); 314 * @set_dev_pasid: set an iommu domain to a pasid of device 335 ioasid_t pasid); 475 struct device *dev, ioasid_t pasid); 725 struct device *dev, ioasid_t pasid); 727 struct device *dev, ioasid_t pasid); 729 iommu_get_domain_for_dev_pasid(struct device *dev, ioasid_t pasid, 732 void iommu_free_global_pasid(ioasid_t pasid); 1077 iommu_attach_device_pasid(struct iommu_domain *domain, struct device *dev, ioasid_t pasid) iommu_attach_device_pasid() argument 1083 iommu_detach_device_pasid(struct iommu_domain *domain, struct device *dev, ioasid_t pasid) iommu_detach_device_pasid() argument 1089 iommu_get_domain_for_dev_pasid(struct device *dev, ioasid_t pasid, unsigned int type) iommu_get_domain_for_dev_pasid() argument 1100 iommu_free_global_pasid(ioasid_t pasid) iommu_free_global_pasid() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_pasid.c | 66 void kfd_pasid_free(u32 pasid) in kfd_pasid_free() argument 68 amdgpu_pasid_free(pasid); in kfd_pasid_free()
|
H A D | kfd_events.c | 463 void kfd_signal_event_interrupt(u32 pasid, uint32_t partial_id, in kfd_signal_event_interrupt() argument 473 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_event_interrupt() 853 "Sending SIGSEGV to process %d (pasid 0x%x)", in lookup_events_by_type_and_signal() 854 p->lead_thread->pid, p->pasid); in lookup_events_by_type_and_signal() 862 "Sending SIGTERM to process %d (pasid 0x%x)", in lookup_events_by_type_and_signal() 863 p->lead_thread->pid, p->pasid); in lookup_events_by_type_and_signal() 867 "Process %d (pasid 0x%x) got unhandled exception", in lookup_events_by_type_and_signal() 868 p->lead_thread->pid, p->pasid); in lookup_events_by_type_and_signal() 874 void kfd_signal_iommu_event(struct kfd_dev *dev, u32 pasid, in kfd_signal_iommu_event() argument 886 struct kfd_process *p = kfd_lookup_process_by_pasid(pasid); in kfd_signal_iommu_event() 952 kfd_signal_hw_exception_event(u32 pasid) kfd_signal_hw_exception_event() argument 973 kfd_signal_vm_fault_event(struct kfd_dev *dev, u32 pasid, struct kfd_vm_fault_info *info) kfd_signal_vm_fault_event() argument [all...] |
H A D | kfd_priv.h | 688 /* Is this process/pasid bound to this device? (amd_iommu_bind_pasid) */ 769 u32 pasid; member 845 struct kfd_process *kfd_lookup_process_by_pasid(u32 pasid); 887 void kfd_pasid_free(u32 pasid); 973 int kfd_process_vm_fault(struct device_queue_manager *dqm, u32 pasid); 1095 void kfd_signal_event_interrupt(u32 pasid, uint32_t partial_id, 1098 u32 pasid, unsigned long address, 1100 void kfd_signal_hw_exception_event(u32 pasid); 1111 void kfd_signal_vm_fault_event(struct kfd_dev *dev, u32 pasid,
|
H A D | kfd_pm4_headers.h | 58 uint32_t pasid:16; member 107 uint32_t pasid:16; member
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_pasid.c | 67 void kfd_pasid_free(u32 pasid) in kfd_pasid_free() argument 69 amdgpu_pasid_free(pasid); in kfd_pasid_free()
|
H A D | kfd_process.c | 283 dev->id, proc->pasid); in kfd_get_cu_occupancy() 290 dev->kfd2kgd->get_cu_occupancy(dev->adev, proc->pasid, &wave_cnt, in kfd_get_cu_occupancy() 301 if (strcmp(attr->name, "pasid") == 0) { in kfd_procfs_show() 305 return snprintf(buffer, PAGE_SIZE, "%d\n", p->pasid); in kfd_procfs_show() 853 "pasid"); in kfd_create_process() 1020 pr_debug("Releasing pdd (topology id %d) for process (pasid 0x%x)\n", in kfd_process_destroy_pdds() 1021 pdd->dev->id, p->pasid); in kfd_process_destroy_pdds() 1133 kfd_pasid_free(p->pasid); in kfd_process_wq_release() 1480 process->pasid = kfd_pasid_alloc(); in create_process() 1481 if (process->pasid in create_process() 1769 kfd_lookup_process_by_pasid(u32 pasid) kfd_lookup_process_by_pasid() argument 2127 kfd_process_close_interrupt_drain(unsigned int pasid) kfd_process_close_interrupt_drain() argument [all...] |
H A D | kfd_pm4_headers.h | 59 uint32_t pasid:16; member 108 uint32_t pasid:16; member
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | intel-iommu.h | 365 #define QI_PC_PASID(pasid) (((u64)pasid) << 32) 377 #define QI_EIOTLB_PASID(pasid) (((u64)pasid) << 32) 399 #define QI_PGRP_PASID(pasid) (((u64)(pasid)) << 32) 563 * The default pasid used for non-SVM 620 struct list_head table; /* link to pasid table */ 639 struct pasid_table *pasid_table; /* pasid table */ 714 void qi_flush_piotlb(struct intel_iommu *iommu, u16 did, u32 pasid, u6 767 u32 pasid; global() member 779 u32 pasid; global() member [all...] |
/kernel/linux/linux-6.6/drivers/dma/idxd/ |
H A D | init.c | 113 ie->pasid = IOMMU_PASID_INVALID; in idxd_setup_interrupts() 565 ioasid_t pasid; in idxd_enable_system_pasid() local 576 pasid = iommu_alloc_global_pasid(dev); in idxd_enable_system_pasid() 577 if (pasid == IOMMU_PASID_INVALID) in idxd_enable_system_pasid() 584 ret = iommu_attach_device_pasid(domain, dev, pasid); in idxd_enable_system_pasid() 586 dev_err(dev, "failed to attach device pasid %d, domain type %d", in idxd_enable_system_pasid() 587 pasid, domain->type); in idxd_enable_system_pasid() 588 iommu_free_global_pasid(pasid); in idxd_enable_system_pasid() 594 idxd->pasid = pasid; in idxd_enable_system_pasid() [all...] |
H A D | irq.c | 85 if (ie->pasid != IOMMU_PASID_INVALID) in idxd_int_handle_revoke_drain() 86 desc.pasid = ie->pasid; in idxd_int_handle_revoke_drain() 243 idxd_user_counter_increment(wq, entry_head->pasid, COUNTER_FAULTS); in idxd_evl_fault_work() 255 idxd_user_counter_increment(wq, entry_head->pasid, COUNTER_FAULTS); in idxd_evl_fault_work() 273 copied = idxd_copy_cr(wq, entry_head->pasid, entry_head->fault_addr, in idxd_evl_fault_work() 287 idxd_user_counter_increment(wq, entry_head->pasid, COUNTER_FAULT_FAILS); in idxd_evl_fault_work() 296 idxd_user_counter_increment(wq, entry_head->pasid, COUNTER_FAULT_FAILS); in idxd_evl_fault_work()
|
H A D | device.c | 302 static void __idxd_wq_set_pasid_locked(struct idxd_wq *wq, int pasid) in __idxd_wq_set_pasid_locked() argument 312 wqcfg.pasid = pasid; in __idxd_wq_set_pasid_locked() 318 int idxd_wq_set_pasid(struct idxd_wq *wq, int pasid) in idxd_wq_set_pasid() argument 326 __idxd_wq_set_pasid_locked(wq, pasid); in idxd_wq_set_pasid() 350 wqcfg.pasid = 0; in idxd_wq_disable_pasid() 580 void idxd_device_drain_pasid(struct idxd_device *idxd, int pasid) in idxd_device_drain_pasid() argument 585 operand = pasid; in idxd_device_drain_pasid() 588 dev_dbg(dev, "pasid %d drained\n", pasid); in idxd_device_drain_pasid() 1425 u32 pasid = wq_dedicated(wq) ? idxd->pasid : 0; drv_enable_wq() local [all...] |
/kernel/linux/linux-6.6/drivers/misc/ocxl/ |
H A D | ocxl_internal.h | 72 int pasid; member 87 __be32 pasid; member 136 * @pasid: the PASID for the AFU context 141 int ocxl_link_update_pe(void *link_handle, int pasid, __u16 tid);
|
H A D | file.c | 78 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_ioctl_attach() 102 arg.pasid = ctx->pasid; in afu_ioctl_get_metadata() 139 ctx->pasid, ctx->tidr); in afu_ioctl_enable_p9_wait() 210 pr_debug("%s for context %d, command %s\n", __func__, ctx->pasid, in afu_ioctl() 297 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_mmap() 330 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_poll()
|
/kernel/linux/linux-5.10/drivers/iommu/amd/ |
H A D | iommu.c | 580 u32 pasid; in iommu_print_event() local 585 pasid = (event[0] & EVENT_DOMID_MASK_HI) | in iommu_print_event() 601 amd_iommu_report_page_fault(devid, pasid, address, flags); in iommu_print_event() 607 dev_err(dev, "Event logged [ILLEGAL_DEV_TABLE_ENTRY device=%02x:%02x.%x pasid=0x%05x address=0x%llx flags=0x%04x]\n", in iommu_print_event() 609 pasid, address, flags); in iommu_print_event() 619 dev_err(dev, "Event logged [PAGE_TAB_HARDWARE_ERROR device=%02x:%02x.%x pasid=0x%04x address=0x%llx flags=0x%04x]\n", in iommu_print_event() 621 pasid, address, flags); in iommu_print_event() 637 dev_err(dev, "Event logged [INVALID_DEVICE_REQUEST device=%02x:%02x.%x pasid=0x%05x address=0x%llx flags=0x%04x]\n", in iommu_print_event() 639 pasid, address, flags); in iommu_print_event() 648 pasid in iommu_print_event() 1000 build_inv_iommu_pasid(struct iommu_cmd *cmd, u16 domid, u32 pasid, u64 address, bool size) build_inv_iommu_pasid() argument 1018 build_inv_iotlb_pasid(struct iommu_cmd *cmd, u16 devid, u32 pasid, int qdep, u64 address, bool size) build_inv_iotlb_pasid() argument 1038 build_complete_ppr(struct iommu_cmd *cmd, u16 devid, u32 pasid, int status, int tag, bool gn) build_complete_ppr() argument 2879 __flush_pasid(struct protection_domain *domain, u32 pasid, u64 address, bool size) __flush_pasid() argument 2940 __amd_iommu_flush_page(struct protection_domain *domain, u32 pasid, u64 address) __amd_iommu_flush_page() argument 2946 amd_iommu_flush_page(struct iommu_domain *dom, u32 pasid, u64 address) amd_iommu_flush_page() argument 2961 __amd_iommu_flush_tlb(struct protection_domain *domain, u32 pasid) __amd_iommu_flush_tlb() argument 2967 amd_iommu_flush_tlb(struct iommu_domain *dom, u32 pasid) amd_iommu_flush_tlb() argument 2981 __get_gcr3_pte(u64 *root, int level, u32 pasid, bool alloc) __get_gcr3_pte() argument 3013 __set_gcr3(struct protection_domain *domain, u32 pasid, unsigned long cr3) __set_gcr3() argument 3032 __clear_gcr3(struct protection_domain *domain, u32 pasid) __clear_gcr3() argument 3050 amd_iommu_domain_set_gcr3(struct iommu_domain *dom, u32 pasid, unsigned long cr3) amd_iommu_domain_set_gcr3() argument 3065 amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, u32 pasid) amd_iommu_domain_clear_gcr3() argument 3079 amd_iommu_complete_ppr(struct pci_dev *pdev, u32 pasid, int status, int tag) amd_iommu_complete_ppr() argument [all...] |
/kernel/linux/linux-6.6/drivers/iommu/amd/ |
H A D | iommu.c | 600 u32 pasid; in iommu_print_event() local 605 pasid = (event[0] & EVENT_DOMID_MASK_HI) | in iommu_print_event() 621 amd_iommu_report_page_fault(iommu, devid, pasid, address, flags); in iommu_print_event() 627 dev_err(dev, "Event logged [ILLEGAL_DEV_TABLE_ENTRY device=%04x:%02x:%02x.%x pasid=0x%05x address=0x%llx flags=0x%04x]\n", in iommu_print_event() 629 pasid, address, flags); in iommu_print_event() 639 dev_err(dev, "Event logged [PAGE_TAB_HARDWARE_ERROR device=%04x:%02x:%02x.%x pasid=0x%04x address=0x%llx flags=0x%04x]\n", in iommu_print_event() 641 pasid, address, flags); in iommu_print_event() 657 dev_err(dev, "Event logged [INVALID_DEVICE_REQUEST device=%04x:%02x:%02x.%x pasid=0x%05x address=0x%llx flags=0x%04x]\n", in iommu_print_event() 659 pasid, address, flags); in iommu_print_event() 668 pasid in iommu_print_event() 1058 build_inv_iommu_pasid(struct iommu_cmd *cmd, u16 domid, u32 pasid, u64 address, bool size) build_inv_iommu_pasid() argument 1076 build_inv_iotlb_pasid(struct iommu_cmd *cmd, u16 devid, u32 pasid, int qdep, u64 address, bool size) build_inv_iotlb_pasid() argument 1096 build_complete_ppr(struct iommu_cmd *cmd, u16 devid, u32 pasid, int status, int tag, bool gn) build_complete_ppr() argument 2575 __flush_pasid(struct protection_domain *domain, u32 pasid, u64 address, bool size) __flush_pasid() argument 2637 __amd_iommu_flush_page(struct protection_domain *domain, u32 pasid, u64 address) __amd_iommu_flush_page() argument 2643 amd_iommu_flush_page(struct iommu_domain *dom, u32 pasid, u64 address) amd_iommu_flush_page() argument 2658 __amd_iommu_flush_tlb(struct protection_domain *domain, u32 pasid) __amd_iommu_flush_tlb() argument 2664 amd_iommu_flush_tlb(struct iommu_domain *dom, u32 pasid) amd_iommu_flush_tlb() argument 2678 __get_gcr3_pte(u64 *root, int level, u32 pasid, bool alloc) __get_gcr3_pte() argument 2710 __set_gcr3(struct protection_domain *domain, u32 pasid, unsigned long cr3) __set_gcr3() argument 2727 __clear_gcr3(struct protection_domain *domain, u32 pasid) __clear_gcr3() argument 2743 amd_iommu_domain_set_gcr3(struct iommu_domain *dom, u32 pasid, unsigned long cr3) amd_iommu_domain_set_gcr3() argument 2758 amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, u32 pasid) amd_iommu_domain_clear_gcr3() argument 2772 amd_iommu_complete_ppr(struct pci_dev *pdev, u32 pasid, int status, int tag) amd_iommu_complete_ppr() argument [all...] |
/kernel/linux/linux-5.10/drivers/misc/ocxl/ |
H A D | file.c | 79 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_ioctl_attach() 104 arg.pasid = ctx->pasid; in afu_ioctl_get_metadata() 141 ctx->pasid, ctx->tidr); in afu_ioctl_enable_p9_wait() 212 pr_debug("%s for context %d, command %s\n", __func__, ctx->pasid, in afu_ioctl() 299 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_mmap() 332 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_poll()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_vm.h | 288 unsigned int pasid; member 376 int vm_context, u32 pasid); 377 int amdgpu_vm_make_compute(struct amdgpu_device *adev, struct amdgpu_vm *vm, u32 pasid); 434 void amdgpu_vm_get_task_info(struct amdgpu_device *adev, u32 pasid, 436 bool amdgpu_vm_handle_fault(struct amdgpu_device *adev, u32 pasid,
|
/kernel/linux/linux-5.10/include/misc/ |
H A D | ocxl.h | 412 int afu_control_offset, int pasid); 449 int ocxl_link_add_pe(void *link_handle, int pasid, u32 pidr, u32 tidr, 457 int ocxl_link_remove_pe(void *link_handle, int pasid);
|
/kernel/linux/linux-6.6/include/misc/ |
H A D | ocxl.h | 412 int afu_control_offset, int pasid); 449 int ocxl_link_add_pe(void *link_handle, int pasid, u32 pidr, u32 tidr, 457 int ocxl_link_remove_pe(void *link_handle, int pasid);
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_vm.c | 130 * amdgpu_vm_set_pasid - manage pasid and vm ptr mapping 134 * @pasid: the pasid the VM is using on this GPU 136 * Set the pasid this VM is using on this GPU, can also be used to remove the 137 * pasid by passing in zero. 141 u32 pasid) in amdgpu_vm_set_pasid() 145 if (vm->pasid == pasid) in amdgpu_vm_set_pasid() 148 if (vm->pasid) { in amdgpu_vm_set_pasid() 149 r = xa_err(xa_erase_irq(&adev->vm_manager.pasids, vm->pasid)); in amdgpu_vm_set_pasid() 140 amdgpu_vm_set_pasid(struct amdgpu_device *adev, struct amdgpu_vm *vm, u32 pasid) amdgpu_vm_set_pasid() argument 2504 amdgpu_vm_get_task_info(struct amdgpu_device *adev, u32 pasid, struct amdgpu_task_info *task_info) amdgpu_vm_get_task_info() argument 2552 amdgpu_vm_handle_fault(struct amdgpu_device *adev, u32 pasid, u32 vmid, u32 node_id, uint64_t addr, bool write_fault) amdgpu_vm_handle_fault() argument [all...] |
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...] |
/kernel/linux/linux-5.10/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/arm/arm-smmu-v3/ |
H A D | arm-smmu-v3-sva.c | 232 arm_smmu_atc_inv_domain(smmu_domain, mm->pasid, start, size); in arm_smmu_mm_arch_invalidate_secondary_tlbs() 250 arm_smmu_write_ctx_desc(smmu_domain, mm->pasid, &quiet_cd); in arm_smmu_mm_release() 253 arm_smmu_atc_inv_domain(smmu_domain, mm->pasid, 0, 0); in arm_smmu_mm_release() 307 ret = arm_smmu_write_ctx_desc(smmu_domain, mm->pasid, cd); in arm_smmu_mmu_notifier_get() 332 arm_smmu_write_ctx_desc(smmu_domain, mm->pasid, NULL); in arm_smmu_mmu_notifier_put() 340 arm_smmu_atc_inv_domain(smmu_domain, mm->pasid, 0, 0); in arm_smmu_mmu_notifier_put()
|
/kernel/linux/linux-6.6/drivers/crypto/hisilicon/ |
H A D | qm_common.h | 34 __le16 pasid; member 49 __le16 pasid; member
|