Loading drivers/iommu/exynos-iommu.c +0 −44 Original line number Diff line number Diff line Loading @@ -247,50 +247,6 @@ static void __sysmmu_set_prefbuf(void __iomem *sfrbase, unsigned long base, __raw_writel(size - 1 + base, sfrbase + REG_PB0_EADDR + idx * 8); } void exynos_sysmmu_set_prefbuf(struct device *dev, unsigned long base0, unsigned long size0, unsigned long base1, unsigned long size1) { struct sysmmu_drvdata *data = dev_get_drvdata(dev->archdata.iommu); unsigned long flags; int i; BUG_ON((base0 + size0) <= base0); BUG_ON((size1 > 0) && ((base1 + size1) <= base1)); read_lock_irqsave(&data->lock, flags); if (!is_sysmmu_active(data)) goto finish; for (i = 0; i < data->nsfrs; i++) { if ((readl(data->sfrbases[i] + REG_MMU_VERSION) >> 28) == 3) { if (!sysmmu_block(data->sfrbases[i])) continue; if (size1 == 0) { if (size0 <= SZ_128K) { base1 = base0; size1 = size0; } else { size1 = size0 - ALIGN(size0 / 2, SZ_64K); size0 = size0 - size1; base1 = base0 + size0; } } __sysmmu_set_prefbuf( data->sfrbases[i], base0, size0, 0); __sysmmu_set_prefbuf( data->sfrbases[i], base1, size1, 1); sysmmu_unblock(data->sfrbases[i]); } } finish: read_unlock_irqrestore(&data->lock, flags); } static void __set_fault_handler(struct sysmmu_drvdata *data, sysmmu_fault_handler_t handler) { Loading Loading
drivers/iommu/exynos-iommu.c +0 −44 Original line number Diff line number Diff line Loading @@ -247,50 +247,6 @@ static void __sysmmu_set_prefbuf(void __iomem *sfrbase, unsigned long base, __raw_writel(size - 1 + base, sfrbase + REG_PB0_EADDR + idx * 8); } void exynos_sysmmu_set_prefbuf(struct device *dev, unsigned long base0, unsigned long size0, unsigned long base1, unsigned long size1) { struct sysmmu_drvdata *data = dev_get_drvdata(dev->archdata.iommu); unsigned long flags; int i; BUG_ON((base0 + size0) <= base0); BUG_ON((size1 > 0) && ((base1 + size1) <= base1)); read_lock_irqsave(&data->lock, flags); if (!is_sysmmu_active(data)) goto finish; for (i = 0; i < data->nsfrs; i++) { if ((readl(data->sfrbases[i] + REG_MMU_VERSION) >> 28) == 3) { if (!sysmmu_block(data->sfrbases[i])) continue; if (size1 == 0) { if (size0 <= SZ_128K) { base1 = base0; size1 = size0; } else { size1 = size0 - ALIGN(size0 / 2, SZ_64K); size0 = size0 - size1; base1 = base0 + size0; } } __sysmmu_set_prefbuf( data->sfrbases[i], base0, size0, 0); __sysmmu_set_prefbuf( data->sfrbases[i], base1, size1, 1); sysmmu_unblock(data->sfrbases[i]); } } finish: read_unlock_irqrestore(&data->lock, flags); } static void __set_fault_handler(struct sysmmu_drvdata *data, sysmmu_fault_handler_t handler) { Loading