| /linux/drivers/iommu/amd/ |
| A D | init.c | 1547 amd_iommus[iommu->index] = iommu; in init_iommu_one() 1875 pci_read_config_dword(iommu->dev, iommu->cap_ptr + 4, in iommu_init_pci() 1877 pci_read_config_dword(iommu->dev, iommu->cap_ptr + 8, in iommu_init_pci() 1888 iommu->stored_l2[i] = iommu_read_l2(iommu, i); in iommu_init_pci() 1894 iommu_device_sysfs_add(&iommu->iommu, &iommu->dev->dev, in iommu_init_pci() 1996 iommu); in iommu_setup_msi() 2399 iommu_write_l2(iommu, i, iommu->stored_l2[i]); in iommu_apply_resume_quirks() 3262 if (iommu) in amd_iommu_pc_get_max_banks() 3279 if (iommu) in amd_iommu_pc_get_max_counters() 3326 if (!iommu) in amd_iommu_pc_get_reg() [all …]
|
| A D | iommu.c | 526 struct device *dev = iommu->iommu.dev; in iommu_print_event() 621 iommu_print_event(iommu, iommu->evt_buf + head); in iommu_poll_events() 1046 iommu->cmd_buf_head = readl(iommu->mmio_base + in __iommu_queue_command_sync() 1755 return &iommu->iommu; in amd_iommu_probe_device() 1765 iommu_dev = &iommu->iommu; in amd_iommu_probe_device() 2018 if (!iommu) in amd_iommu_detach_device() 2045 if (!iommu) in amd_iommu_attach_device() 2723 if (!iommu) in alloc_irq_table() 2788 if (!iommu) in alloc_irq_index() 3299 if (iommu) in irq_remapping_deactivate() [all …]
|
| /linux/arch/sparc/kernel/ |
| A D | iommu.c | 157 struct iommu *iommu, in alloc_npages() argument 202 struct iommu *iommu; in dma_4u_alloc_coherent() local 221 iommu = dev->archdata.iommu; in dma_4u_alloc_coherent() 250 struct iommu *iommu; in dma_4u_free_coherent() local 268 struct iommu *iommu; in dma_4u_map_page() local 390 struct iommu *iommu; in dma_4u_unmap_page() local 443 struct iommu *iommu; in dma_4u_map_sg() local 612 struct iommu *iommu; in dma_4u_unmap_sg() local 661 struct iommu *iommu; in dma_4u_sync_single_for_cpu() local 699 struct iommu *iommu; in dma_4u_sync_sg_for_cpu() local [all …]
|
| A D | iommu-common.c | 66 iommu->nr_pools = npools; in iommu_tbl_pool_init() 78 iommu->poolsize = num_entries/iommu->nr_pools; in iommu_tbl_pool_init() 80 iommu->poolsize = (num_entries * 3 / 4)/iommu->nr_pools; in iommu_tbl_pool_init() 152 shift = iommu->table_map_base >> iommu->table_shift; in iommu_tbl_range_alloc() 176 boundary_size = iommu->poolsize * iommu->nr_pools; in iommu_tbl_range_alloc() 179 iommu->table_shift); in iommu_tbl_range_alloc() 187 set_flush(iommu); in iommu_tbl_range_alloc() 196 set_flush(iommu); in iommu_tbl_range_alloc() 205 if (iommu->lazy_flush && in iommu_tbl_range_alloc() 207 clear_flush(iommu); in iommu_tbl_range_alloc() [all …]
|
| A D | sbus.c | 62 struct iommu *iommu = dev->archdata.iommu; in sbus_set_sbus64() local 212 struct iommu *iommu = op->dev.archdata.iommu; in sbus_build_irq() local 274 struct iommu *iommu = op->dev.archdata.iommu; in sysio_ue_handler() local 348 struct iommu *iommu = op->dev.archdata.iommu; in sysio_ce_handler() local 427 struct iommu *iommu = op->dev.archdata.iommu; in sysio_sbus_error_handler() local 496 struct iommu *iommu = op->dev.archdata.iommu; in sysio_register_error_handlers() local 544 struct iommu *iommu; in sbus_iommu_init() local 558 iommu = kzalloc(sizeof(*iommu), GFP_ATOMIC); in sbus_iommu_init() 563 op->dev.archdata.iommu = iommu; in sbus_iommu_init() 571 iommu->iommu_tags = iommu->iommu_control + in sbus_iommu_init() [all …]
|
| A D | pci_sun4v.c | 187 struct iommu *iommu; in dma_4v_alloc_coherent() local 212 iommu = dev->archdata.iommu; in dma_4v_alloc_coherent() 326 struct iommu *iommu; in dma_4v_free_coherent() local 359 struct iommu *iommu; in dma_4v_map_page() local 433 struct iommu *iommu; in dma_4v_unmap_page() local 478 struct iommu *iommu; in dma_4v_map_sg() local 629 struct iommu *iommu; in dma_4v_unmap_sg() local 676 struct iommu *iommu = dev->archdata.iommu; in dma_4v_supported() local 868 struct iommu *iommu = pbm->iommu; in pci_sun4v_iommu_init() local 1226 struct iommu *iommu; in pci_sun4v_probe() local [all …]
|
| /linux/drivers/iommu/intel/ |
| A D | irq_remapping.c | 134 irq_iommu->iommu = iommu; in alloc_irte() 171 iommu = irq_iommu->iommu; in modify_irte() 245 iommu = irq_iommu->iommu; in clear_entries() 638 if (iommu && iommu->ir_table) { in intel_teardown_irq_remapping() 874 if (ir_hpet[count].iommu == iommu && in ir_parse_one_hpet_scope() 885 ir_hpet[free].iommu = iommu; in ir_parse_one_hpet_scope() 919 if (ir_ioapic[count].iommu == iommu && in ir_parse_one_ioapic_scope() 932 ir_ioapic[free].iommu = iommu; in ir_parse_one_ioapic_scope() 969 if (ir_hpet[i].iommu == iommu) in ir_remove_ioapic_hpet_scope() 973 if (ir_ioapic[i].iommu == iommu) in ir_remove_ioapic_hpet_scope() [all …]
|
| A D | iommu.c | 866 if (!iommu || iommu->drhd->ignored) in iommu_is_dummy() 1944 if (info->iommu != iommu) in disable_dmar_iommu() 2341 data.iommu = iommu; in domain_context_mapping() 2570 iommu->flush.flush_context(iommu, in domain_context_clear_one() 2579 iommu->flush.flush_iotlb(iommu, in domain_context_clear_one() 2712 info->iommu = iommu; in dmar_insert_one_dev_info() 3970 g_iommus[iommu->seq_id] = iommu; in intel_iommu_add() 4579 iommu = info->iommu; in __dmar_remove_one_dev_info() 4838 iommu = info->iommu; in aux_domain_remove_dev() 5294 return &iommu->iommu; in intel_iommu_probe_device() [all …]
|
| A D | dmar.c | 974 if (!request_mem_region(iommu->reg_phys, iommu->reg_size, iommu->name)) { in map_iommu() 980 iommu->reg = ioremap(iommu->reg_phys, iommu->reg_size); in map_iommu() 1012 iommu->reg = ioremap(iommu->reg_phys, iommu->reg_size); in map_iommu() 1147 drhd->iommu = iommu; in alloc_iommu() 1153 iommu_device_sysfs_remove(&iommu->iommu); in alloc_iommu() 1166 iommu_device_unregister(&iommu->iommu); in free_iommu() 1167 iommu_device_sysfs_remove(&iommu->iommu); in free_iommu() 1172 free_irq(iommu->pr_irq, iommu); in free_iommu() 1176 free_irq(iommu->irq, iommu); in free_iommu() 2061 irq = dmar_alloc_hwirq(iommu->seq_id, iommu->node, iommu); in dmar_set_interrupt() [all …]
|
| A D | cap_audit.c | 92 CHECK_FEATURE_MISMATCH_HOTPLUG(iommu, cap, zlr, CAP_ZLR_MASK); in cap_audit_hotplug() 94 CHECK_FEATURE_MISMATCH_HOTPLUG(iommu, cap, phmr, CAP_PHMR_MASK); in cap_audit_hotplug() 95 CHECK_FEATURE_MISMATCH_HOTPLUG(iommu, cap, plmr, CAP_PLMR_MASK); in cap_audit_hotplug() 97 CHECK_FEATURE_MISMATCH_HOTPLUG(iommu, cap, afl, CAP_AFL_MASK); in cap_audit_hotplug() 118 CHECK_FEATURE_MISMATCH_HOTPLUG(iommu, ecap, qis, ECAP_QI_MASK); in cap_audit_hotplug() 154 if (!iommu) { in cap_audit_static() 157 iommu = i; in cap_audit_static() 162 check_dmar_capabilities(iommu, i); in cap_audit_static() 164 check_irq_capabilities(iommu, i); in cap_audit_static() 185 return cap_audit_static(iommu, type); in intel_cap_audit() [all …]
|
| A D | svm.c | 94 iommu->name); in intel_svm_enable_prq() 99 irq = dmar_alloc_hwirq(DMAR_UNITS_SUPPORTED + iommu->seq_id, iommu->node, iommu); in intel_svm_enable_prq() 108 snprintf(iommu->iopfq_name, sizeof(iommu->iopfq_name), in intel_svm_enable_prq() 118 snprintf(iommu->prq_name, sizeof(iommu->prq_name), "dmar%d-prq", iommu->seq_id); in intel_svm_enable_prq() 121 iommu->prq_name, iommu); in intel_svm_enable_prq() 155 free_irq(iommu->pr_irq, iommu); in intel_svm_finish_prq() 412 sdev->iommu = iommu; in intel_svm_bind_gpasid() 576 sdev->iommu = iommu; in intel_svm_bind_mm() 629 if (!iommu) in intel_svm_unbind_mm() 742 iommu = info->iommu; in intel_svm_drain_prq() [all …]
|
| A D | debugfs.c | 117 struct intel_iommu *iommu; in iommu_regset_show() local 288 struct intel_iommu *iommu; in dmar_translation_struct_show() local 296 iommu->name); in dmar_translation_struct_show() 299 root_tbl_walk(m, iommu); in dmar_translation_struct_show() 409 struct intel_iommu *iommu; in invalidation_queue_show() local 416 qi = iommu->qi; in invalidation_queue_show() 417 shift = qi_shift(iommu); in invalidation_queue_show() 497 struct intel_iommu *iommu; in ir_translation_struct_show() local 507 iommu->name); in ir_translation_struct_show() 527 iommu->name); in ir_translation_struct_show() [all …]
|
| A D | pasid.c | 54 iommu->name, status_code); in vcmd_alloc_pasid() 82 iommu->name, status_code); in vcmd_free_pasid() 536 iommu->flush.flush_iotlb(iommu, did, 0, 0, DMA_TLB_DSI_FLUSH); in intel_pasid_tear_down_entry() 588 if (!ecap_flts(iommu->ecap)) { in intel_pasid_setup_first_level() 590 iommu->name); in intel_pasid_setup_first_level() 609 iommu->name); in intel_pasid_setup_first_level() 681 iommu->name); in intel_pasid_setup_second_level() 780 iommu->name); in intel_pasid_setup_bind_data() 792 iommu->name); in intel_pasid_setup_bind_data() 804 iommu->name); in intel_pasid_setup_bind_data() [all …]
|
| /linux/drivers/iommu/ |
| A D | sun50i-iommu.c | 290 struct sun50i_iommu *iommu = sun50i_domain->iommu; in sun50i_table_flush() local 327 struct sun50i_iommu *iommu = sun50i_domain->iommu; in sun50i_iommu_flush_iotlb_all() local 338 if (!iommu) in sun50i_iommu_flush_iotlb_all() 484 struct sun50i_iommu *iommu = sun50i_domain->iommu; in sun50i_dte_get_page_table() local 524 struct sun50i_iommu *iommu = sun50i_domain->iommu; in sun50i_iommu_map() local 645 sun50i_domain->iommu = iommu; in sun50i_iommu_attach_domain() 712 if (!iommu) in sun50i_iommu_attach_device() 735 if (!iommu) in sun50i_iommu_probe_device() 738 return &iommu->iommu; in sun50i_iommu_probe_device() 974 iommu_device_unregister(&iommu->iommu); in sun50i_iommu_probe() [all …]
|
| A D | rockchip-iommu.c | 652 report_iommu_fault(iommu->domain, iommu->dev, iova, in rk_iommu_irq() 671 clk_bulk_disable(iommu->num_clocks, iommu->clocks); in rk_iommu_irq() 728 clk_bulk_disable(iommu->num_clocks, iommu->clocks); in rk_iommu_zap_iova() 947 clk_bulk_disable(iommu->num_clocks, iommu->clocks); in rk_iommu_disable() 981 clk_bulk_disable(iommu->num_clocks, iommu->clocks); in rk_iommu_enable() 995 if (!iommu) in rk_iommu_detach_device() 1149 return &iommu->iommu; in rk_iommu_probe_device() 1256 iommu->clocks = devm_kcalloc(iommu->dev, iommu->num_clocks, in rk_iommu_probe() 1269 err = devm_clk_bulk_get(iommu->dev, iommu->num_clocks, iommu->clocks); in rk_iommu_probe() 1323 iommu_device_sysfs_remove(&iommu->iommu); in rk_iommu_probe() [all …]
|
| A D | msm_iommu.c | 73 if (iommu->clk) in __disable_clocks() 391 if (!iommu) in msm_iommu_probe_device() 394 return &iommu->iommu; in msm_iommu_probe_device() 627 if (!iommu || iommu->dev->of_node != spec->np) { in qcom_iommu_of_xlate() 706 if (!iommu) in msm_iommu_probe() 712 iommu->pclk = devm_clk_get(iommu->dev, "smmu_pclk"); in msm_iommu_probe() 724 iommu->clk = devm_clk_get(iommu->dev, "iommu_clk"); in msm_iommu_probe() 739 iommu->base = devm_ioremap_resource(iommu->dev, r); in msm_iommu_probe() 760 msm_iommu_reset(iommu->base, iommu->ncb); in msm_iommu_probe() 787 ret = iommu_device_sysfs_add(&iommu->iommu, iommu->dev, NULL, in msm_iommu_probe() [all …]
|
| A D | .built-in.a.cmd | 1 …iommu/built-in.a := echo >/dev/null; rm -f drivers/iommu/built-in.a; /usr/bin/ccache /home/test/wo…
|
| A D | iommu-sysfs.c | 62 iommu->dev = kzalloc(sizeof(*iommu->dev), GFP_KERNEL); in iommu_device_sysfs_add() 63 if (!iommu->dev) in iommu_device_sysfs_add() 66 device_initialize(iommu->dev); in iommu_device_sysfs_add() 69 iommu->dev->parent = parent; in iommu_device_sysfs_add() 70 iommu->dev->groups = groups; in iommu_device_sysfs_add() 78 ret = device_add(iommu->dev); in iommu_device_sysfs_add() 82 dev_set_drvdata(iommu->dev, iommu); in iommu_device_sysfs_add() 87 put_device(iommu->dev); in iommu_device_sysfs_add() 96 iommu->dev = NULL; in iommu_device_sysfs_remove() 110 if (!iommu || IS_ERR(iommu)) in iommu_device_link() [all …]
|
| /linux/drivers/vfio/ |
| A D | vfio_iommu_type1.c | 847 if (!iommu->v2) in vfio_iommu_type1_pin_pages() 963 if (!iommu->v2) in vfio_iommu_type1_unpin_pages() 1172 iommu->dma_avail++; in vfio_remove_dma() 2542 iommu = kzalloc(sizeof(*iommu), GFP_KERNEL); in vfio_iommu_type1_open() 2543 if (!iommu) in vfio_iommu_type1_open() 2553 iommu->v2 = true; in vfio_iommu_type1_open() 2556 kfree(iommu); in vfio_iommu_type1_open() 2571 return iommu; in vfio_iommu_type1_open() 2611 kfree(iommu); in vfio_iommu_type1_release() 2642 if (!iommu) in vfio_iommu_type1_check_extension() [all …]
|
| /linux/arch/powerpc/platforms/cell/ |
| A D | iommu.c | 345 __func__, iommu->nid, iommu->stab, ptab, in cell_iommu_alloc_ptab() 387 iommu->cmd_regs = iommu->xlate_regs + IOC_IOCmd_Offset; in cell_iommu_enable_hardware() 403 ret = request_irq(virq, ioc_interrupt, 0, iommu->name, iommu); in cell_iommu_enable_hardware() 420 iommu->ptab = cell_iommu_alloc_ptab(iommu, base, size, 0, 0, in cell_iommu_setup_hardware() 478 window->iommu = iommu; in cell_iommu_setup_window() 550 if (iommu == NULL || list_empty(&iommu->windows)) { in cell_get_iommu_table() 652 snprintf(iommu->name, sizeof(iommu->name), "iommu%d", i); in cell_iommu_alloc() 655 return iommu; in cell_iommu_alloc() 665 if (!iommu) in cell_iommu_init_one() 990 BUG_ON(!iommu); in cell_iommu_fixed_mapping_init() [all …]
|
| /linux/Documentation/devicetree/bindings/pci/ |
| A D | pci-iommu.txt | 26 Documentation/devicetree/bindings/iommu/iommu.txt. 39 (rid-base,iommu,iommu-base,length). 55 iommu: iommu@a { 70 iommu-map = <0x0 &iommu 0x0 0x10000>; 82 iommu: iommu@a { 97 iommu-map = <0x0 &iommu 0x0 0x10000>; 110 iommu: iommu@a { 125 iommu-map = <0x0000 &iommu 0x8000 0x8000>, 138 iommu_a: iommu@a { 144 iommu_b: iommu@b { [all …]
|
| /linux/arch/sparc/mm/ |
| A D | iommu.c | 59 struct iommu_struct *iommu; in sbus_iommu_init() local 67 if (!iommu) { in sbus_iommu_init() 74 if (!iommu->regs) { in sbus_iommu_init() 86 iommu_invalidate(iommu->regs); in sbus_iommu_init() 87 iommu->start = IOMMU_START; in sbus_iommu_init() 88 iommu->end = 0xffffffff; in sbus_iommu_init() 131 op->dev.archdata.iommu = iommu; in sbus_iommu_init() 186 struct iommu_struct *iommu = dev->archdata.iommu; in __sbus_iommu_map_page() local 282 struct iommu_struct *iommu = dev->archdata.iommu; in sbus_iommu_unmap_page() local 315 struct iommu_struct *iommu = dev->archdata.iommu; in sbus_iommu_alloc() local [all …]
|
| /linux/Documentation/devicetree/bindings/iommu/ |
| A D | qcom,iommu.txt | 53 apps_iommu: iommu@1e20000 { 56 #iommu-cells = <1>; 57 compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; 63 qcom,iommu-secure-id = <17>; 66 iommu-ctx@4000 { 73 iommu-ctx@5000 { 80 gpu_iommu: iommu@1f08000 { 83 #iommu-cells = <1>; 84 compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; 92 iommu-ctx@1000 { [all …]
|
| /linux/Documentation/devicetree/bindings/media/ |
| A D | mediatek-vcodec.txt | 26 argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml 52 iommus = <&iommu M4U_PORT_HW_VDEC_MC_EXT>, 53 <&iommu M4U_PORT_HW_VDEC_PP_EXT>, 93 iommus = <&iommu M4U_PORT_VENC_RCPU>, 94 <&iommu M4U_PORT_VENC_REC>, 95 <&iommu M4U_PORT_VENC_BSDMA>, 96 <&iommu M4U_PORT_VENC_SV_COMV>, 97 <&iommu M4U_PORT_VENC_RD_COMV>, 98 <&iommu M4U_PORT_VENC_CUR_LUMA>, 100 <&iommu M4U_PORT_VENC_REF_LUMA>, [all …]
|
| /linux/drivers/gpu/drm/msm/ |
| A D | msm_iommu.c | 168 iommu_set_fault_handler(iommu->domain, msm_fault_handler, iommu); in msm_iommu_pagetable_create() 185 &ttbr0_cfg, iommu->domain); in msm_iommu_pagetable_create() 235 if (iommu->base.handler) in msm_fault_handler() 236 return iommu->base.handler(iommu->base.arg, iova, flags, ptr); in msm_fault_handler() 288 kfree(iommu); in msm_iommu_destroy() 301 struct msm_iommu *iommu; in msm_iommu_new() local 307 iommu = kzalloc(sizeof(*iommu), GFP_KERNEL); in msm_iommu_new() 308 if (!iommu) in msm_iommu_new() 311 iommu->domain = domain; in msm_iommu_new() 318 kfree(iommu); in msm_iommu_new() [all …]
|