Lines Matching full:sysmmu
56 * v1.x - v3.x SYSMMU supports 32bit physical and 32bit virtual address spaces
59 * All SYSMMU controllers in the system support the address spaces of the same
60 * size, so PG_ENT_SHIFT can be initialized on first SYSMMU probe to proper
230 * on device add, contains a list of SYSMMU controllers defined by device tree,
242 * It contains list of SYSMMU controllers from all master devices, which has
256 * This structure hold all data of a single SYSMMU controller, this includes
262 struct device *sysmmu; /* SYSMMU controller device */ member
266 struct clk *clk; /* SYSMMU's clock */
267 struct clk *aclk; /* SYSMMU's aclk clock */
268 struct clk *pclk; /* SYSMMU's pclk clock */
381 dev_dbg(data->sysmmu, "hardware version: %d.%d\n", in __sysmmu_get_version()
393 dev_err(data->sysmmu, "%s: %s FAULT occurred at %#x\n", in show_fault_information()
395 dev_dbg(data->sysmmu, "Page table base: %pa\n", &data->pgtable); in show_fault_information()
397 dev_dbg(data->sysmmu, "\tLv1 entry: %#x\n", *ent); in show_fault_information()
400 dev_dbg(data->sysmmu, "\t Lv2 entry: %#x\n", *ent); in show_fault_information()
406 /* SYSMMU is in blocked state when interrupt occurred. */ in exynos_sysmmu_irq()
506 * SYSMMU driver keeps master's clock enabled only for the short in __sysmmu_enable()
596 data->clk = devm_clk_get(dev, "sysmmu"); in exynos_sysmmu_probe()
625 data->sysmmu = dev; in exynos_sysmmu_probe()
629 dev_name(data->sysmmu)); in exynos_sysmmu_probe()
656 * use the first registered sysmmu device for performing in exynos_sysmmu_probe()
681 dev_dbg(data->sysmmu, "saving state\n"); in exynos_sysmmu_suspend()
699 dev_dbg(data->sysmmu, "restoring state\n"); in exynos_sysmmu_resume()
714 { .compatible = "samsung,exynos-sysmmu", },
721 .name = "exynos-sysmmu",
856 pm_runtime_get_noresume(data->sysmmu); in exynos_iommu_detach_device()
857 if (pm_runtime_active(data->sysmmu)) in exynos_iommu_detach_device()
859 pm_runtime_put(data->sysmmu); in exynos_iommu_detach_device()
908 pm_runtime_get_noresume(data->sysmmu); in exynos_iommu_attach_device()
909 if (pm_runtime_active(data->sysmmu)) in exynos_iommu_attach_device()
911 pm_runtime_put(data->sysmmu); in exynos_iommu_attach_device()
1252 * SYSMMU will be runtime activated via device link in exynos_iommu_probe_device()
1256 data->link = device_link_add(dev, data->sysmmu, in exynos_iommu_probe_device()
1294 struct platform_device *sysmmu = of_find_device_by_node(spec->np); in exynos_iommu_of_xlate() local
1298 if (!sysmmu) in exynos_iommu_of_xlate()
1301 data = platform_get_drvdata(sysmmu); in exynos_iommu_of_xlate()
1303 put_device(&sysmmu->dev); in exynos_iommu_of_xlate()
1310 put_device(&sysmmu->dev); in exynos_iommu_of_xlate()