/linux-master/arch/sparc/kernel/ |
H A D | pci_fire.c | 33 struct iommu *iommu = pbm->iommu; local 45 iommu->iommu_control = pbm->pbm_regs + FIRE_IOMMU_CONTROL; 46 iommu->iommu_tsbbase = pbm->pbm_regs + FIRE_IOMMU_TSBBASE; 47 iommu->iommu_flush = pbm->pbm_regs + FIRE_IOMMU_FLUSH; 48 iommu->iommu_flushinv = pbm->pbm_regs + FIRE_IOMMU_FLUSHINV; 53 iommu->write_complete_reg = pbm->controller_regs + 0x410000UL; 58 upa_writeq(~(u64)0, iommu->iommu_flushinv); 60 err = iommu_table_init(iommu, tsbsiz 464 struct iommu *iommu; local [all...] |
H A D | pci_schizo.c | 20 #include <asm/iommu.h> 242 struct iommu *iommu = pbm->iommu; local 249 spin_lock_irqsave(&iommu->lock, flags); 250 control = upa_readq(iommu->iommu_control); 257 upa_writeq(control, iommu->iommu_control); 288 iommu->iommu_control); 304 upa_writeq(control, iommu->iommu_control); 346 spin_unlock_irqrestore(&iommu 1140 struct iommu *iommu = pbm->iommu; local 1422 struct iommu *iommu; local [all...] |
/linux-master/drivers/iommu/ |
H A D | iommu-debugfs.c | 11 #include <linux/iommu.h> 18 * iommu_debugfs_setup - create the top-level iommu directory in debugfs 22 * /sys/kernel/debug/iommu directory. 34 iommu_debugfs_dir = debugfs_create_dir("iommu", NULL);
|
H A D | dma-iommu.h | 8 #include <linux/iommu.h>
|
H A D | omap-iommu.c | 3 * omap iommu: tlb and pagetable primitives 18 #include <linux/iommu.h> 19 #include <linux/omap-iommu.h> 30 #include <linux/platform_data/iommu-omap.h> 33 #include "omap-iommu.h" 57 * @dom: generic iommu domain handle 325 * load_iotlb_entry - Set an iommu tlb entry 326 * @obj: target iommu 327 * @e: an iommu tlb entry info 401 * flush_iotlb_page - Clear an iommu tl 952 struct omap_iommu_device *iommu; local 981 struct omap_iommu_device *iommu; local 1318 struct omap_iommu_device *iommu; local 1364 struct omap_iommu_device *iommu; local 1406 struct omap_iommu_device *iommu; local 1439 struct omap_iommu_device *iommu = odomain->iommus; local 1454 struct omap_iommu_device *iommu; local 1518 struct omap_iommu_device *iommu = omap_domain->iommus; local 1613 struct omap_iommu_device *iommu = omap_domain->iommus; local [all...] |
H A D | iommu.c | 7 #define pr_fmt(fmt) "iommu: " fmt 20 #include <linux/iommu.h> 32 #include <trace/events/iommu.h> 36 #include "dma-iommu.h" 37 #include "iommu-priv.h" 236 if (dev->iommu && dev->iommu->iommu_dev == data) 244 * @iommu: IOMMU handle for the instance 250 int iommu_device_register(struct iommu_device *iommu, argument 259 iommu 275 iommu_device_unregister(struct iommu_device *iommu) argument 291 iommu_device_unregister_bus(struct iommu_device *iommu, const struct bus_type *bus, struct notifier_block *nb) argument 305 iommu_device_register_bus(struct iommu_device *iommu, const struct iommu_ops *ops, const struct bus_type *bus, struct notifier_block *nb) argument 1500 struct iommu_device *iommu = dev->iommu->iommu_dev; local 2813 struct iommu_device *iommu; local [all...] |
H A D | sprd-iommu.c | 13 #include <linux/iommu.h> 61 * @iommu: IOMMU core representation 72 struct iommu_device iommu; member in struct:sprd_iommu_device 390 return &sdev->iommu; 427 { .compatible = "sprd,iommu-v1" }, 484 ret = iommu_device_sysfs_add(&sdev->iommu, dev, NULL, dev_name(dev)); 488 ret = iommu_device_register(&sdev->iommu, &sprd_iommu_ops, dev); 508 iommu_device_unregister(&sdev->iommu); 510 iommu_device_sysfs_remove(&sdev->iommu); 523 iommu_device_sysfs_remove(&sdev->iommu); [all...] |
/linux-master/arch/x86/events/amd/ |
H A D | Makefile | 9 obj-$(CONFIG_CPU_SUP_AMD) += iommu.o
|
H A D | iommu.c | 17 #include <linux/amd-iommu.h> 20 #include "iommu.h" 22 /* iommu pmu conf masks */ 28 /* iommu pmu conf1 masks */ 38 struct amd_iommu *iommu; member in struct:perf_amd_iommu 225 /* update the hw_perf_event struct with the iommu config data */ 234 return (container_of(ev->pmu, struct perf_amd_iommu, pmu))->iommu; 239 struct amd_iommu *iommu = perf_event_2_iommu(ev); local 246 amd_iommu_pc_set_reg(iommu, bank, cntr, IOMMU_PC_COUNTER_SRC_REG, ®); 252 amd_iommu_pc_set_reg(iommu, ban 269 struct amd_iommu *iommu = perf_event_2_iommu(event); local 296 struct amd_iommu *iommu = perf_event_2_iommu(event); local 313 struct amd_iommu *iommu = perf_event_2_iommu(event); local [all...] |
/linux-master/drivers/iommu/intel/ |
H A D | nested.c | 14 #include <linux/iommu.h> 18 #include "iommu.h" 26 struct intel_iommu *iommu = info->iommu; local 33 if (iommu->agaw < dmar_domain->s2_domain->agaw) { 49 ret = domain_attach_iommu(dmar_domain, iommu); 51 dev_err_ratelimited(dev, "Failed to attach domain to iommu\n"); 59 ret = intel_pasid_setup_nested(iommu, dev, 75 domain_detach_iommu(dmar_domain, iommu);
|
H A D | Makefile | 3 obj-$(CONFIG_INTEL_IOMMU) += iommu.o pasid.o nested.o cache.o
|
H A D | pasid.h | 303 int intel_pasid_setup_first_level(struct intel_iommu *iommu, 306 int intel_pasid_setup_second_level(struct intel_iommu *iommu, 309 int intel_pasid_setup_dirty_tracking(struct intel_iommu *iommu, 312 int intel_pasid_setup_pass_through(struct intel_iommu *iommu, 314 int intel_pasid_setup_nested(struct intel_iommu *iommu, struct device *dev, 316 void intel_pasid_tear_down_entry(struct intel_iommu *iommu, 319 void intel_pasid_setup_page_snoop_control(struct intel_iommu *iommu,
|
/linux-master/drivers/media/platform/qcom/venus/ |
H A D | firmware.c | 9 #include <linux/iommu.h> 151 struct iommu_domain *iommu; local 159 iommu = core->fw.iommu_domain; 162 ret = iommu_map(iommu, VENUS_FW_START_ADDR, mem_phys, mem_size, 177 struct iommu_domain *iommu; local 196 iommu = core->fw.iommu_domain; 198 if (core->fw.mapped_mem_size && iommu) { 199 unmapped = iommu_unmap(iommu, VENUS_FW_START_ADDR, mapped); 321 dev_err(core->fw.dev, "Failed to allocate iommu domain\n"); 348 struct iommu_domain *iommu; local [all...] |
/linux-master/lib/ |
H A D | iommu-helper.c | 7 #include <linux/iommu-helper.h>
|
/linux-master/drivers/gpu/drm/nouveau/include/nvkm/core/ |
H A D | tegra.h | 28 } iommu; member in struct:nvkm_device_tegra
|
/linux-master/arch/x86/kernel/ |
H A D | pci-dma.c | 4 #include <linux/iommu.h> 10 #include <linux/amd-iommu.h> 14 #include <asm/iommu.h> 46 /* don't initialize swiotlb if iommu=off (no_iommu=1) */ 112 * See <Documentation/arch/x86/x86_64/boot-options.rst> for the iommu kernel 174 early_param("iommu", iommu_setup); 178 x86_init.iommu.iommu_init();
|
/linux-master/arch/sparc/mm/ |
H A D | Makefile | 10 obj-$(CONFIG_SPARC32) += srmmu.o iommu.o io-unit.o
|
/linux-master/include/linux/ |
H A D | amd-iommu.h | 82 int amd_iommu_pc_set_reg(struct amd_iommu *iommu, u8 bank, u8 cntr, u8 fxn, 84 int amd_iommu_pc_get_reg(struct amd_iommu *iommu, u8 bank, u8 cntr, u8 fxn,
|
H A D | dmar.h | 49 struct intel_iommu *iommu; member in struct:dmar_drhd_unit 82 if (i=drhd->iommu, drhd->ignored) {} else 87 if (i=drhd->iommu, 0) {} else 130 void dmar_fault_dump_ptes(struct intel_iommu *iommu, u16 source_id, 133 static inline void dmar_fault_dump_ptes(struct intel_iommu *iommu, u16 source_id, argument 297 extern int dmar_set_interrupt(struct intel_iommu *iommu);
|
/linux-master/drivers/vdpa/vdpa_sim/ |
H A D | vdpa_sim.c | 150 vringh_set_iotlb(&vdpasim->vqs[i].vring, &vdpasim->iommu[0], 156 vhost_iotlb_reset(&vdpasim->iommu[i]); 157 vhost_iotlb_add_range(&vdpasim->iommu[i], 0, ULONG_MAX, 254 vdpasim->iommu = kmalloc_array(vdpasim->dev_attr.nas, 255 sizeof(*vdpasim->iommu), GFP_KERNEL); 256 if (!vdpasim->iommu) 265 vhost_iotlb_init(&vdpasim->iommu[i], max_iotlb_entries, 0); 266 vhost_iotlb_add_range(&vdpasim->iommu[i], 0, ULONG_MAX, 0, 272 vringh_set_iotlb(&vdpasim->vqs[i].vring, &vdpasim->iommu[0], 606 struct vhost_iotlb *iommu; local 634 struct vhost_iotlb *iommu; local [all...] |
/linux-master/drivers/misc/genwqe/ |
H A D | genwqe_driver.h | 22 #include <linux/iommu.h>
|
/linux-master/drivers/vfio/mdev/ |
H A D | mdev_driver.c | 10 #include <linux/iommu.h>
|
/linux-master/arch/powerpc/platforms/cell/ |
H A D | Makefile | 4 obj-$(CONFIG_PPC_CELL_NATIVE) += iommu.o setup.o spider-pic.o \
|
/linux-master/drivers/iommu/arm/arm-smmu/ |
H A D | qcom_iommu.c | 19 #include <linux/iommu.h> 48 struct iommu_device iommu; member in struct:qcom_iommu_dev 69 struct mutex init_mutex; /* Protects iommu pointer */ 71 struct qcom_iommu_dev *iommu; member in struct:qcom_iommu_domain 84 struct qcom_iommu_dev *qcom_iommu = d->iommu; 228 if (qcom_domain->iommu) 239 qcom_domain->iommu = qcom_iommu; 319 qcom_domain->iommu = NULL; 348 if (qcom_domain->iommu) { 355 pm_runtime_get_sync(qcom_domain->iommu [all...] |
/linux-master/drivers/iommu/amd/ |
H A D | amd_iommu_types.h | 11 #include <linux/iommu.h> 512 #define for_each_iommu(iommu) \ 513 list_for_each_entry((iommu), &amd_iommu_list, list) 514 #define for_each_iommu_safe(iommu, next) \ 515 list_for_each_entry_safe((iommu), (next), &amd_iommu_list, list) 579 iommu core code */ 629 * The rlookup iommu table is used to find the IOMMU which is 756 struct iommu_device iommu; member in struct:amd_iommu 763 /* The iommu BAR */ 768 * Each iommu ha 801 struct iommu_device *iommu = dev_to_iommu_device(dev); local 1050 struct amd_iommu *iommu; member in struct:amd_ir_data [all...] |