| /linux/drivers/misc/ocxl/ |
| H A D | trace.h | 36 TP_PROTO(int pasid, unsigned long pidr), 37 TP_ARGS(pasid, pidr), 40 __field(int, pasid) 45 __entry->pasid = pasid; 50 __entry->pasid, 56 TP_PROTO(int pasid, unsigned long pidr), 57 TP_ARGS(pasid, pidr), 60 __field(int, pasid) 65 __entry->pasid = pasid; 70 __entry->pasid, [all …]
|
| H A D | context.c | 10 int pasid; in ocxl_context_alloc() local 19 pasid = idr_alloc(&afu->contexts_idr, ctx, afu->pasid_base, in ocxl_context_alloc() 21 if (pasid < 0) { in ocxl_context_alloc() 24 return pasid; in ocxl_context_alloc() 29 ctx->pasid = pasid; in ocxl_context_alloc() 86 rc = ocxl_link_add_pe(ctx->afu->fn->link, ctx->pasid, pidr, ctx->tidr, in ocxl_context_attach() 129 pasid_off = ctx->pasid - ctx->afu->pasid_base; in map_pp_mmio() 148 ctx->pasid, vmf->address, offset); in ocxl_mmap_fault() 231 rc = ocxl_config_terminate_pasid(dev, afu_control_pos, ctx->pasid); in ocxl_context_detach() 233 trace_ocxl_terminate_pasid(ctx->pasid, rc); in ocxl_context_detach() [all …]
|
| H A D | link.c | 538 int ocxl_link_add_pe(void *link_handle, int pasid, u32 pidr, u32 tidr, in ocxl_link_add_pe() argument 550 if (pasid > SPA_PASID_MAX) in ocxl_link_add_pe() 554 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_add_pe() 576 pe->pasid = cpu_to_be32(pasid << (31 - 19)); in ocxl_link_add_pe() 595 trace_ocxl_init_mmu_notifier(pasid, mm->context.id); in ocxl_link_add_pe() 624 trace_ocxl_context_add(current->pid, spa->spa_mem, pasid, pidr, tidr); in ocxl_link_add_pe() 631 int ocxl_link_update_pe(void *link_handle, int pasid, __u16 tid) in ocxl_link_update_pe() argument 638 if (pasid > SPA_PASID_MAX) in ocxl_link_update_pe() 641 pe_handle = pasid & SPA_PE_MASK; in ocxl_link_update_pe() 667 int ocxl_link_remove_pe(void *link_handle, int pasid) in ocxl_link_remove_pe() argument [all …]
|
| H A D | ocxl_internal.h | 72 int pasid; member 87 __be32 pasid; member 139 int ocxl_link_update_pe(void *link_handle, int pasid, __u16 tid);
|
| H A D | file.c | 77 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_ioctl_attach() 101 arg.pasid = ctx->pasid; in afu_ioctl_get_metadata() 138 ctx->pasid, ctx->tidr); in afu_ioctl_enable_p9_wait() 209 pr_debug("%s for context %d, command %s\n", __func__, ctx->pasid, in afu_ioctl() 296 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_mmap() 329 pr_debug("%s for context %d\n", __func__, ctx->pasid); in afu_poll()
|
| /linux/drivers/iommu/iommufd/ |
| H A D | device.c | 419 ioasid_t pasid) in iommufd_group_device_num() argument 428 attach = xa_load(&igroup->pasid_attach, pasid); in iommufd_group_device_num() 472 iommufd_group_first_attach(struct iommufd_group *igroup, ioasid_t pasid) in iommufd_group_first_attach() argument 475 return !xa_load(&igroup->pasid_attach, pasid); in iommufd_group_first_attach() 507 ioasid_t pasid) in iommufd_device_is_attached() argument 511 attach = xa_load(&idev->igroup->pasid_attach, pasid); in iommufd_device_is_attached() 517 ioasid_t pasid) in iommufd_hwpt_pasid_compat() argument 523 if (pasid == IOMMU_NO_PASID) { in iommufd_hwpt_pasid_compat() 565 ioasid_t pasid) in iommufd_hwpt_attach_device() argument 573 rc = iommufd_hwpt_pasid_compat(hwpt, idev, pasid); in iommufd_hwpt_attach_device() [all …]
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_vm_tlb_fence.c | 37 uint16_t pasid; member 62 r = amdgpu_gmc_flush_gpu_tlb_pasid(f->adev, f->pasid, 2, true, 0); in amdgpu_tlb_fence_work() 65 f->pasid); in amdgpu_tlb_fence_work() 92 amdgpu_gmc_flush_gpu_tlb_pasid(adev, vm->pasid, 2, true, 0); in amdgpu_vm_tlb_fence_create() 99 f->pasid = vm->pasid; in amdgpu_vm_tlb_fence_create()
|
| H A D | gmc_v12_1.c | 157 ret = amdgpu_vm_handle_fault(adev, entry->pasid, entry->vmid, node_id, in gmc_v12_1_process_interrupt() 165 amdgpu_gmc_filter_faults(adev, entry->ih, addr, entry->pasid, in gmc_v12_1_process_interrupt() 180 if (amdgpu_vm_handle_fault(adev, entry->pasid, entry->vmid, node_id, in gmc_v12_1_process_interrupt() 195 entry->src_id, entry->ring_id, entry->vmid, entry->pasid); in gmc_v12_1_process_interrupt() 197 task_info = amdgpu_vm_get_task_info_pasid(adev, entry->pasid); in gmc_v12_1_process_interrupt() 238 amdgpu_vm_update_fault_cache(adev, entry->pasid, addr, status, vmhub); in gmc_v12_1_process_interrupt() 408 uint16_t pasid, uint32_t flush_type, in gmc_v12_1_flush_gpu_tlb_pasid() argument 418 input.pasid = pasid; in gmc_v12_1_flush_gpu_tlb_pasid() 447 if (!valid || queried != pasid) in gmc_v12_1_flush_gpu_tlb_pasid() 502 unsigned vmid, unsigned pasid) in gmc_v12_1_emit_pasid_mapping() argument [all …]
|
| /linux/drivers/dma/idxd/ |
| H A D | cdev.c | 44 unsigned int pasid; member 54 static void idxd_cdev_evl_drain_pasid(struct idxd_wq *wq, u32 pasid); 129 idxd_device_drain_pasid(idxd, ctx->pasid); in idxd_file_dev_release() 142 idxd_cdev_evl_drain_pasid(wq, ctx->pasid); in idxd_file_dev_release() 190 ptr = xa_cmpxchg(&wq->upasid_xa, ctx->pasid, ctx, NULL, GFP_KERNEL); in idxd_xa_pasid_remove() 193 ctx->pasid); in idxd_xa_pasid_remove() 197 void idxd_user_counter_increment(struct idxd_wq *wq, u32 pasid, int index) in idxd_user_counter_increment() argument 205 ctx = xa_load(&wq->upasid_xa, pasid); in idxd_user_counter_increment() 222 unsigned int pasid; in idxd_cdev_open() local 254 pasid = iommu_sva_get_pasid(sva); in idxd_cdev_open() [all …]
|
| H A D | device.c | 320 static void __idxd_wq_set_pasid_locked(struct idxd_wq *wq, int pasid) in __idxd_wq_set_pasid_locked() argument 330 wqcfg.pasid = pasid; in __idxd_wq_set_pasid_locked() 336 int idxd_wq_set_pasid(struct idxd_wq *wq, int pasid) in idxd_wq_set_pasid() argument 344 __idxd_wq_set_pasid_locked(wq, pasid); in idxd_wq_set_pasid() 368 wqcfg.pasid = 0; in idxd_wq_disable_pasid() 601 void idxd_device_drain_pasid(struct idxd_device *idxd, int pasid) in idxd_device_drain_pasid() argument 606 operand = pasid; in idxd_device_drain_pasid() 609 dev_dbg(dev, "pasid %d drained\n", pasid); in idxd_device_drain_pasid() 1313 if (ie->pasid == IOMMU_PASID_INVALID) in idxd_device_set_perm_entry() 1317 mperm.pasid = ie->pasid; in idxd_device_set_perm_entry() [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()
|
| /linux/arch/csky/include/asm/ |
| H A D | asid.h | 33 void asid_new_context(struct asid_info *info, atomic64_t *pasid, 43 atomic64_t *pasid, unsigned int cpu, in asid_check_context() argument 48 asid = atomic64_read(pasid); in asid_check_context() 71 asid_new_context(info, pasid, cpu, mm); in asid_check_context()
|
| /linux/arch/csky/mm/ |
| H A D | asid.c | 79 static u64 new_context(struct asid_info *info, atomic64_t *pasid, in new_context() argument 83 u64 asid = atomic64_read(pasid); in new_context() 137 void asid_new_context(struct asid_info *info, atomic64_t *pasid, in asid_new_context() argument 145 asid = atomic64_read(pasid); in asid_new_context() 147 asid = new_context(info, pasid, mm); in asid_new_context() 148 atomic64_set(pasid, asid); in asid_new_context()
|
| /linux/drivers/iommu/intel/ |
| H A D | nested.c | 136 struct device *dev, ioasid_t pasid, in domain_setup_nested() argument 140 intel_pasid_tear_down_entry(iommu, dev, pasid, false); in domain_setup_nested() 142 return intel_pasid_setup_nested(iommu, dev, pasid, domain); in domain_setup_nested() 146 struct device *dev, ioasid_t pasid, in intel_nested_set_dev_pasid() argument 165 dev_pasid = domain_add_dev_pasid(domain, dev, pasid); in intel_nested_set_dev_pasid() 173 ret = domain_setup_nested(iommu, dmar_domain, dev, pasid, old); in intel_nested_set_dev_pasid() 177 domain_remove_dev_pasid(old, dev, pasid); in intel_nested_set_dev_pasid() 184 domain_remove_dev_pasid(domain, dev, pasid); in intel_nested_set_dev_pasid()
|
| H A D | svm.c | 93 dev_pasid->pasid, true); in intel_mm_release() 149 struct device *dev, ioasid_t pasid, in intel_svm_set_dev_pasid() argument 163 dev_pasid = domain_add_dev_pasid(domain, dev, pasid); in intel_svm_set_dev_pasid() 174 ret = __domain_setup_first_level(iommu, dev, pasid, in intel_svm_set_dev_pasid() 180 domain_remove_dev_pasid(old, dev, pasid); in intel_svm_set_dev_pasid() 186 domain_remove_dev_pasid(domain, dev, pasid); in intel_svm_set_dev_pasid()
|
| H A D | pasid.h | 307 phys_addr_t fsptptr, u32 pasid, u16 did, 311 struct device *dev, u32 pasid); 313 struct device *dev, u32 pasid, 316 struct device *dev, u32 pasid); 318 u32 pasid, struct dmar_domain *domain); 320 struct device *dev, u32 pasid, 323 struct device *dev, u32 pasid);
|
| /linux/tools/testing/selftests/iommu/ |
| H A D | iommufd_utils.h | 927 static int _test_cmd_trigger_iopf(int fd, __u32 device_id, __u32 pasid, in _test_cmd_trigger_iopf() argument 935 .pasid = pasid, in _test_cmd_trigger_iopf() 967 #define test_cmd_trigger_iopf_pasid(device_id, pasid, fault_fd) \ argument 969 pasid, fault_fd)) 1175 static int _test_cmd_pasid_attach(int fd, __u32 stdev_id, __u32 pasid, in _test_cmd_pasid_attach() 1183 .pasid = pasid, in _test_cmd_pasid_attach() 1192 #define test_cmd_pasid_attach(pasid, hwpt_id) \ 1194 pasid, hwpt_i 1174 _test_cmd_pasid_attach(int fd,__u32 stdev_id,__u32 pasid,__u32 pt_id) _test_cmd_pasid_attach() argument 1191 test_cmd_pasid_attach(pasid,hwpt_id) global() argument 1195 test_err_pasid_attach(_errno,pasid,hwpt_id) global() argument 1200 _test_cmd_pasid_replace(int fd,__u32 stdev_id,__u32 pasid,__u32 pt_id) _test_cmd_pasid_replace() argument 1217 test_cmd_pasid_replace(pasid,hwpt_id) global() argument 1221 test_err_pasid_replace(_errno,pasid,hwpt_id) global() argument 1226 _test_cmd_pasid_detach(int fd,__u32 stdev_id,__u32 pasid) _test_cmd_pasid_detach() argument 1241 test_cmd_pasid_detach(pasid) global() argument 1244 test_cmd_pasid_check_hwpt(int fd,__u32 stdev_id,__u32 pasid,__u32 hwpt_id) test_cmd_pasid_check_hwpt() argument [all...] |
| H A D | iommufd_fail_nth.c | 213 uint32_t pasid; in FIXTURE() local 221 self->pasid = 0; //test should use a non-zero value in FIXTURE_SETUP() 233 if (self->pasid && self->stdev_id) in FIXTURE_TEARDOWN() 234 _test_cmd_pasid_detach(self->fd, self->stdev_id, self->pasid); in FIXTURE_TEARDOWN() 726 /* Tests for pasid attach/replace/detach */ in TEST_FAIL_NTH() 728 self->pasid = 200; in TEST_FAIL_NTH() 731 self->pasid, hwpt_id)) { in TEST_FAIL_NTH() 732 self->pasid = 0; in TEST_FAIL_NTH() 737 self->pasid, test_hwpt_id)) in TEST_FAIL_NTH() 740 if (_test_cmd_pasid_detach(self->fd, self->stdev_id, self->pasid)) in TEST_FAIL_NTH() [all...] |
| H A D | iommufd.c | 2295 uint32_t stddev_id, ioas_id, hwpt_id, pasid = 100; in TEST_F() 2303 ASSERT_EQ(0, _test_cmd_pasid_attach(self->fd, stddev_id, pasid, hwpt_id)); in TEST_F() 2306 ASSERT_EQ(0, _test_cmd_pasid_detach(self->fd, stddev_id, pasid)); in TEST_F() 2314 EXPECT_ERRNO(EINVAL, _test_cmd_pasid_attach(self->fd, stddev_id, pasid, hwpt_id)); in TEST_F() 3367 uint32_t pasid = 100; in TEST_F() 3371 * Negative, detach pasid without attaching, this is not expected. in TEST_F() 3374 test_cmd_pasid_detach(pasid); in TEST_F() 3412 /* Attach RID to non-pasid compat domain, */ in TEST_F() 3414 /* then attach to pasid should fail */ in TEST_F() 3415 test_err_pasid_attach(EINVAL, pasid, s2_hwpt_i in TEST_F() 3293 uint32_t pasid = 100; TEST_F() local [all...] |
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-driver-uio_pci_sva-pasid | 1 What: /sys/bus/pci/drivers/uio_pci_sva/<pci_dev>/pasid 26 f = fopen("/sys/.../pasid", "r"); 27 fscanf(f, "%d", &pasid); 29 map[REG_PASID_OFFSET] = pasid;
|
| /linux/drivers/iommu/ |
| H A D | io-pgfault.c | 126 fault->prm.pasid, 0); in find_fault_handler() 163 .pasid = fault->prm.pasid, in iopf_error_response() 269 fault->prm.pasid); in iommu_report_device_fault() 330 .pasid = iopf->fault.prm.pasid, in iopf_group_response() 488 .pasid = iopf->fault.prm.pasid, in iopf_queue_remove_device()
|
| /linux/drivers/uio/ |
| H A D | uio_pci_generic_sva.c | 18 int pasid; member 43 udev->pasid = iommu_sva_get_pasid(handle); in uio_pci_sva_open() 157 return sysfs_emit(buf, "%d\n", udev->pasid); in pasid_show() 159 static DEVICE_ATTR_RO(pasid);
|
| /linux/drivers/iommu/amd/ |
| H A D | iommu.c | 95 static int __amd_iommu_complete_ppr(struct device *dev, u32 pasid, 916 u32 pasid = PPR_PASID(*((u64 *)event)); in amd_iommu_report_ppr_err() local 923 PCI_FUNC(devid), pasid, address, flags, tag); in amd_iommu_report_ppr_err() 941 __amd_iommu_complete_ppr(&pdev->dev, pasid, IOMMU_PAGE_RESP_FAILURE, tag, gn); in amd_iommu_report_ppr_err() 952 u32 pasid; in iommu_print_event() local 957 pasid = (event[0] & EVENT_DOMID_MASK_HI) | in iommu_print_event() 974 amd_iommu_report_page_fault(iommu, devid, pasid, address, flags); in iommu_print_event() 982 pasid, address, flags); in iommu_print_event() 995 pasid, address, flags); in iommu_print_event() 1013 pasid, address, flags); in iommu_print_event() [all …]
|
| /linux/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);
|
| /linux/drivers/crypto/hisilicon/ |
| H A D | qm_common.h | 34 __le16 pasid; member 49 __le16 pasid; member
|