No functional change too, prepare for mt8195 IOMMU support bank functions.
Some global control settings are in bank0 while the other banks have
their bank independent setting. Here only move the global control
settings and the independent registers together.

Signed-off-by: Yong Wu <yong...@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno 
<angelogioacchino.delre...@collabora.com>
---
 drivers/iommu/mtk_iommu.c | 48 +++++++++++++++++++--------------------
 1 file changed, 24 insertions(+), 24 deletions(-)

diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
index fdc14db5b4c0..496ed9ecd23a 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -766,30 +766,6 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data 
*data)
        }
        writel_relaxed(regval, data->base + REG_MMU_CTRL_REG);
 
-       regval = F_L2_MULIT_HIT_EN |
-               F_TABLE_WALK_FAULT_INT_EN |
-               F_PREETCH_FIFO_OVERFLOW_INT_EN |
-               F_MISS_FIFO_OVERFLOW_INT_EN |
-               F_PREFETCH_FIFO_ERR_INT_EN |
-               F_MISS_FIFO_ERR_INT_EN;
-       writel_relaxed(regval, data->base + REG_MMU_INT_CONTROL0);
-
-       regval = F_INT_TRANSLATION_FAULT |
-               F_INT_MAIN_MULTI_HIT_FAULT |
-               F_INT_INVALID_PA_FAULT |
-               F_INT_ENTRY_REPLACEMENT_FAULT |
-               F_INT_TLB_MISS_FAULT |
-               F_INT_MISS_TRANSACTION_FIFO_FAULT |
-               F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
-       writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
-
-       if (MTK_IOMMU_HAS_FLAG(data->plat_data, HAS_LEGACY_IVRP_PADDR))
-               regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
-       else
-               regval = lower_32_bits(data->protect_base) |
-                        upper_32_bits(data->protect_base);
-       writel_relaxed(regval, data->base + REG_MMU_IVRP_PADDR);
-
        if (data->enable_4GB &&
            MTK_IOMMU_HAS_FLAG(data->plat_data, HAS_VLD_PA_RNG)) {
                /*
@@ -823,6 +799,30 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data 
*data)
        }
        writel_relaxed(regval, data->base + REG_MMU_MISC_CTRL);
 
+       regval = F_L2_MULIT_HIT_EN |
+               F_TABLE_WALK_FAULT_INT_EN |
+               F_PREETCH_FIFO_OVERFLOW_INT_EN |
+               F_MISS_FIFO_OVERFLOW_INT_EN |
+               F_PREFETCH_FIFO_ERR_INT_EN |
+               F_MISS_FIFO_ERR_INT_EN;
+       writel_relaxed(regval, data->base + REG_MMU_INT_CONTROL0);
+
+       regval = F_INT_TRANSLATION_FAULT |
+               F_INT_MAIN_MULTI_HIT_FAULT |
+               F_INT_INVALID_PA_FAULT |
+               F_INT_ENTRY_REPLACEMENT_FAULT |
+               F_INT_TLB_MISS_FAULT |
+               F_INT_MISS_TRANSACTION_FIFO_FAULT |
+               F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
+       writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
+
+       if (MTK_IOMMU_HAS_FLAG(data->plat_data, HAS_LEGACY_IVRP_PADDR))
+               regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
+       else
+               regval = lower_32_bits(data->protect_base) |
+                        upper_32_bits(data->protect_base);
+       writel_relaxed(regval, data->base + REG_MMU_IVRP_PADDR);
+
        if (devm_request_irq(data->dev, data->irq, mtk_iommu_isr, 0,
                             dev_name(data->dev), (void *)data)) {
                writel_relaxed(0, data->base + REG_MMU_PT_BASE_ADDR);
-- 
2.18.0

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to