Lines Matching defs:iommu
15 #include <linux/iommu.h>
137 #define STD_AXI_MODE BIT(12) /* For non MM iommu */
138 /* 2 bits: iommu type */
142 /* PM and clock always on. e.g. infra iommu */
213 * 16GB iova all use one pgtable, but each a region is a iommu group.
260 struct iommu_device iommu;
333 * Additionally, The iommu consumers always use the CPU phyiscal address.
403 * To avoid resume the iommu device frequently when the iommu device
409 * Case1: The iommu dev doesn't have power domain but has bclk. This case
413 * Case2: The power/clock of infra iommu is always on, and it doesn't
604 dev_dbg(dev, "%s iommu for larb(%s) port 0x%lx region %d rgn-bank %d.\n",
632 dev_err(dev, "%s iommu(%s) inframaster 0x%lx fail(%d).\n",
852 return ERR_PTR(-ENODEV); /* Not a iommu client device */
857 return &data->iommu;
884 return &data->iommu;
907 * If the bank function is enabled, each bank is a iommu group/domain.
908 * Otherwise, each iova region is a iommu group/domain.
950 dev_err(dev, "invalid #iommu-cells(%d) property for IOMMU\n",
1357 ret = iommu_device_sysfs_add(&data->iommu, dev, NULL,
1358 "mtk-iommu.%pa", &ioaddr);
1362 ret = iommu_device_register(&data->iommu, &mtk_iommu_ops, dev);
1384 iommu_device_unregister(&data->iommu);
1386 iommu_device_sysfs_remove(&data->iommu);
1401 iommu_device_sysfs_remove(&data->iommu);
1402 iommu_device_unregister(&data->iommu);
1765 { .compatible = "mediatek,mt8186-iommu-mm", .data = &mt8186_data_mm}, /* mm: m4u */
1766 { .compatible = "mediatek,mt8188-iommu-infra", .data = &mt8188_data_infra},
1767 { .compatible = "mediatek,mt8188-iommu-vdo", .data = &mt8188_data_vdo},
1768 { .compatible = "mediatek,mt8188-iommu-vpp", .data = &mt8188_data_vpp},
1770 { .compatible = "mediatek,mt8195-iommu-infra", .data = &mt8195_data_infra},
1771 { .compatible = "mediatek,mt8195-iommu-vdo", .data = &mt8195_data_vdo},
1772 { .compatible = "mediatek,mt8195-iommu-vpp", .data = &mt8195_data_vpp},
1781 .name = "mtk-iommu",