• Home
  • Raw
  • Download

Lines Matching refs:sfrbase

222 	void __iomem *sfrbase;		/* our registers */  member
258 static void sysmmu_unblock(void __iomem *sfrbase) in sysmmu_unblock() argument
260 __raw_writel(CTRL_ENABLE, sfrbase + REG_MMU_CTRL); in sysmmu_unblock()
263 static bool sysmmu_block(void __iomem *sfrbase) in sysmmu_block() argument
267 __raw_writel(CTRL_BLOCK, sfrbase + REG_MMU_CTRL); in sysmmu_block()
268 while ((i > 0) && !(__raw_readl(sfrbase + REG_MMU_STATUS) & 1)) in sysmmu_block()
271 if (!(__raw_readl(sfrbase + REG_MMU_STATUS) & 1)) { in sysmmu_block()
272 sysmmu_unblock(sfrbase); in sysmmu_block()
279 static void __sysmmu_tlb_invalidate(void __iomem *sfrbase) in __sysmmu_tlb_invalidate() argument
281 __raw_writel(0x1, sfrbase + REG_MMU_FLUSH); in __sysmmu_tlb_invalidate()
284 static void __sysmmu_tlb_invalidate_entry(void __iomem *sfrbase, in __sysmmu_tlb_invalidate_entry() argument
291 sfrbase + REG_MMU_FLUSH_ENTRY); in __sysmmu_tlb_invalidate_entry()
296 static void __sysmmu_set_ptbase(void __iomem *sfrbase, in __sysmmu_set_ptbase() argument
299 __raw_writel(pgd, sfrbase + REG_PT_BASE_ADDR); in __sysmmu_set_ptbase()
301 __sysmmu_tlb_invalidate(sfrbase); in __sysmmu_set_ptbase()
341 __ffs(__raw_readl(data->sfrbase + REG_INT_STATUS)); in exynos_sysmmu_irq()
345 addr = __raw_readl(data->sfrbase + fault_reg_offset[itype]); in exynos_sysmmu_irq()
355 __raw_readl(data->sfrbase + REG_PT_BASE_ADDR); in exynos_sysmmu_irq()
366 __raw_writel(1 << itype, data->sfrbase + REG_INT_CLEAR); in exynos_sysmmu_irq()
368 sysmmu_unblock(data->sfrbase); in exynos_sysmmu_irq()
383 __raw_writel(CTRL_DISABLE, data->sfrbase + REG_MMU_CTRL); in __sysmmu_disable_nocount()
384 __raw_writel(0, data->sfrbase + REG_MMU_CFG); in __sysmmu_disable_nocount()
422 ver = MMU_RAW_VER(__raw_readl(data->sfrbase + REG_MMU_VERSION)); in __sysmmu_init_config()
435 __raw_writel(cfg, data->sfrbase + REG_MMU_CFG); in __sysmmu_init_config()
445 __raw_writel(CTRL_BLOCK, data->sfrbase + REG_MMU_CTRL); in __sysmmu_enable_nocount()
449 __sysmmu_set_ptbase(data->sfrbase, data->pgtable); in __sysmmu_enable_nocount()
451 __raw_writel(CTRL_ENABLE, data->sfrbase + REG_MMU_CTRL); in __sysmmu_enable_nocount()
489 __raw_writel(iova | 0x1, data->sfrbase + REG_MMU_FLUSH_ENTRY); in __sysmmu_tlb_invalidate_flpdcache()
534 if (sysmmu_block(data->sfrbase)) { in sysmmu_tlb_invalidate_entry()
536 data->sfrbase, iova, num_inv); in sysmmu_tlb_invalidate_entry()
537 sysmmu_unblock(data->sfrbase); in sysmmu_tlb_invalidate_entry()
560 data->sfrbase = devm_ioremap_resource(dev, res); in exynos_sysmmu_probe()
561 if (IS_ERR(data->sfrbase)) in exynos_sysmmu_probe()
562 return PTR_ERR(data->sfrbase); in exynos_sysmmu_probe()