Lines Matching refs:sfrbase

209 	void __iomem *sfrbase;  member
242 static void sysmmu_unblock(void __iomem *sfrbase) in sysmmu_unblock() argument
244 __raw_writel(CTRL_ENABLE, sfrbase + REG_MMU_CTRL); in sysmmu_unblock()
249 return MMU_RAW_VER(__raw_readl(data->sfrbase + REG_MMU_VERSION)); in __raw_sysmmu_version()
252 static bool sysmmu_block(void __iomem *sfrbase) in sysmmu_block() argument
256 __raw_writel(CTRL_BLOCK, sfrbase + REG_MMU_CTRL); in sysmmu_block()
257 while ((i > 0) && !(__raw_readl(sfrbase + REG_MMU_STATUS) & 1)) in sysmmu_block()
260 if (!(__raw_readl(sfrbase + REG_MMU_STATUS) & 1)) { in sysmmu_block()
261 sysmmu_unblock(sfrbase); in sysmmu_block()
268 static void __sysmmu_tlb_invalidate(void __iomem *sfrbase) in __sysmmu_tlb_invalidate() argument
270 __raw_writel(0x1, sfrbase + REG_MMU_FLUSH); in __sysmmu_tlb_invalidate()
273 static void __sysmmu_tlb_invalidate_entry(void __iomem *sfrbase, in __sysmmu_tlb_invalidate_entry() argument
280 sfrbase + REG_MMU_FLUSH_ENTRY); in __sysmmu_tlb_invalidate_entry()
285 static void __sysmmu_set_ptbase(void __iomem *sfrbase, in __sysmmu_set_ptbase() argument
288 __raw_writel(pgd, sfrbase + REG_PT_BASE_ADDR); in __sysmmu_set_ptbase()
290 __sysmmu_tlb_invalidate(sfrbase); in __sysmmu_set_ptbase()
330 __ffs(__raw_readl(data->sfrbase + REG_INT_STATUS)); in exynos_sysmmu_irq()
334 addr = __raw_readl(data->sfrbase + fault_reg_offset[itype]); in exynos_sysmmu_irq()
344 __raw_readl(data->sfrbase + REG_PT_BASE_ADDR); in exynos_sysmmu_irq()
355 __raw_writel(1 << itype, data->sfrbase + REG_INT_CLEAR); in exynos_sysmmu_irq()
357 sysmmu_unblock(data->sfrbase); in exynos_sysmmu_irq()
372 __raw_writel(CTRL_DISABLE, data->sfrbase + REG_MMU_CTRL); in __sysmmu_disable_nocount()
373 __raw_writel(0, data->sfrbase + REG_MMU_CFG); in __sysmmu_disable_nocount()
424 __raw_writel(cfg, data->sfrbase + REG_MMU_CFG); in __sysmmu_init_config()
433 __raw_writel(CTRL_BLOCK, data->sfrbase + REG_MMU_CTRL); in __sysmmu_enable_nocount()
437 __sysmmu_set_ptbase(data->sfrbase, data->pgtable); in __sysmmu_enable_nocount()
439 __raw_writel(CTRL_ENABLE, data->sfrbase + REG_MMU_CTRL); in __sysmmu_enable_nocount()
535 __raw_writel(iova | 0x1, data->sfrbase + REG_MMU_FLUSH_ENTRY); in __sysmmu_tlb_invalidate_flpdcache()
586 if (sysmmu_block(data->sfrbase)) { in sysmmu_tlb_invalidate_entry()
588 data->sfrbase, iova, num_inv); in sysmmu_tlb_invalidate_entry()
589 sysmmu_unblock(data->sfrbase); in sysmmu_tlb_invalidate_entry()
612 if (sysmmu_block(data->sfrbase)) { in exynos_sysmmu_tlb_invalidate()
613 __sysmmu_tlb_invalidate(data->sfrbase); in exynos_sysmmu_tlb_invalidate()
614 sysmmu_unblock(data->sfrbase); in exynos_sysmmu_tlb_invalidate()
636 data->sfrbase = devm_ioremap_resource(dev, res); in exynos_sysmmu_probe()
637 if (IS_ERR(data->sfrbase)) in exynos_sysmmu_probe()
638 return PTR_ERR(data->sfrbase); in exynos_sysmmu_probe()