From: Yong Wu <yong.wu@mediatek.com>
To: Joerg Roedel <joro@8bytes.org>, Rob Herring <robh+dt@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
Will Deacon <will@kernel.org>
Cc: Robin Murphy <robin.murphy@arm.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
Tomasz Figa <tfiga@chromium.org>,
<linux-mediatek@lists.infradead.org>,
<srv_heupstream@mediatek.com>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<iommu@lists.linux-foundation.org>,
Hsin-Yi Wang <hsinyi@chromium.org>, <yong.wu@mediatek.com>,
<youlin.pei@mediatek.com>, <anan.sun@mediatek.com>,
<xueqi.zhang@mediatek.com>, <yen-chang.chen@mediatek.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
<mingyuan.ma@mediatek.com>, <yf.wang@mediatek.com>,
<libo.kang@mediatek.com>, <chengci.xu@mediatek.com>
Subject: [PATCH v5 24/34] iommu/mediatek: Just move code position in hw_init
Date: Thu, 17 Feb 2022 19:34:43 +0800 [thread overview]
Message-ID: <20220217113453.13658-25-yong.wu@mediatek.com> (raw)
In-Reply-To: <20220217113453.13658-1-yong.wu@mediatek.com>
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.wu@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@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 c068e0c0ebf4..efba08774c52 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -801,30 +801,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)) {
/*
@@ -858,6 +834,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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-02-17 11:52 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-17 11:34 [PATCH v5 00/34] MT8195 IOMMU SUPPORT Yong Wu
2022-02-17 11:34 ` [PATCH v5 01/34] dt-bindings: mediatek: mt8195: Add binding for MM IOMMU Yong Wu
2022-02-17 11:34 ` [PATCH v5 02/34] dt-bindings: mediatek: mt8195: Add binding for infra IOMMU Yong Wu
2022-02-17 11:34 ` [PATCH v5 03/34] iommu/mediatek: Fix 2 HW sharing pgtable issue Yong Wu
2022-02-17 11:34 ` [PATCH v5 04/34] iommu/mediatek: Add list_del in mtk_iommu_remove Yong Wu
2022-02-17 11:34 ` [PATCH v5 05/34] iommu/mediatek: Remove clk_disable " Yong Wu
2022-02-17 11:34 ` [PATCH v5 06/34] iommu/mediatek: Add mutex for m4u_group and m4u_dom in data Yong Wu
2022-02-17 11:34 ` [PATCH v5 07/34] iommu/mediatek: Add mutex for data in the mtk_iommu_domain Yong Wu
2022-02-17 11:34 ` [PATCH v5 08/34] iommu/mediatek: Adapt sharing and non-sharing pgtable case Yong Wu
2022-02-17 11:34 ` [PATCH v5 09/34] iommu/mediatek: Add 12G~16G support for multi domains Yong Wu
2022-02-17 11:34 ` [PATCH v5 10/34] iommu/mediatek: Add a flag DCM_DISABLE Yong Wu
2022-02-17 11:34 ` [PATCH v5 11/34] iommu/mediatek: Add a flag NON_STD_AXI Yong Wu
2022-02-17 11:34 ` [PATCH v5 12/34] iommu/mediatek: Remove the granule in the tlb flush Yong Wu
2022-02-17 11:34 ` [PATCH v5 13/34] iommu/mediatek: Always enable output PA over 32bits in isr Yong Wu
2022-02-17 11:34 ` [PATCH v5 14/34] iommu/mediatek: Add SUB_COMMON_3BITS flag Yong Wu
2022-02-17 11:34 ` [PATCH v5 15/34] iommu/mediatek: Add IOMMU_TYPE flag Yong Wu
2022-02-17 11:34 ` [PATCH v5 16/34] iommu/mediatek: Contain MM IOMMU flow with the MM TYPE Yong Wu
2022-02-17 11:34 ` [PATCH v5 17/34] iommu/mediatek: Adjust device link when it is sub-common Yong Wu
2022-02-17 11:34 ` [PATCH v5 18/34] iommu/mediatek: Allow IOMMU_DOMAIN_UNMANAGED for PCIe VFIO Yong Wu
2022-02-17 11:34 ` [PATCH v5 19/34] iommu/mediatek: Add a PM_CLK_AO flag for infra iommu Yong Wu
2022-02-18 12:52 ` AngeloGioacchino Del Regno
2022-02-17 11:34 ` [PATCH v5 20/34] iommu/mediatek: Add infra iommu support Yong Wu
2022-02-17 11:34 ` [PATCH v5 21/34] iommu/mediatek: Add PCIe support Yong Wu
2022-02-18 12:52 ` AngeloGioacchino Del Regno
2022-02-17 11:34 ` [PATCH v5 22/34] iommu/mediatek: Add mt8195 support Yong Wu
2022-02-17 11:34 ` [PATCH v5 23/34] iommu/mediatek: Only adjust code about register base Yong Wu
2022-02-17 11:34 ` Yong Wu [this message]
2022-02-17 11:34 ` [PATCH v5 25/34] iommu/mediatek: Separate mtk_iommu_data for v1 and v2 Yong Wu
2022-02-18 12:52 ` AngeloGioacchino Del Regno
2022-02-17 11:34 ` [PATCH v5 26/34] iommu/mediatek: Remove mtk_iommu.h Yong Wu
2022-02-18 12:52 ` AngeloGioacchino Del Regno
2022-02-17 11:34 ` [PATCH v5 27/34] iommu/mediatek-v1: Just rename mtk_iommu to mtk_iommu_v1 Yong Wu
2022-02-18 12:53 ` AngeloGioacchino Del Regno
2022-02-17 11:34 ` [PATCH v5 28/34] iommu/mediatek: Add mtk_iommu_bank_data structure Yong Wu
2022-02-17 11:34 ` [PATCH v5 29/34] iommu/mediatek: Initialise bank HW for each a bank Yong Wu
2022-02-17 11:34 ` [PATCH v5 30/34] iommu/mediatek: Change the domid to iova_region_id Yong Wu
2022-02-17 11:34 ` [PATCH v5 31/34] iommu/mediatek: Get the proper bankid for multi banks Yong Wu
2022-02-17 11:34 ` [PATCH v5 32/34] iommu/mediatek: Initialise/Remove for multi bank dev Yong Wu
2022-02-18 12:52 ` AngeloGioacchino Del Regno
2022-02-17 11:34 ` [PATCH v5 33/34] iommu/mediatek: Backup/restore regsiters for multi banks Yong Wu
2022-02-17 11:34 ` [PATCH v5 34/34] iommu/mediatek: mt8195: Enable multi banks for infra iommu Yong Wu
2022-02-28 12:34 ` [PATCH v5 00/34] MT8195 IOMMU SUPPORT Joerg Roedel
2022-02-28 13:50 ` AngeloGioacchino Del Regno
2022-03-01 7:49 ` Yong Wu
2022-03-04 9:20 ` Joerg Roedel
2022-03-04 9:57 ` Yong Wu
2022-03-04 10:05 ` Joerg Roedel
2022-03-04 10:07 ` AngeloGioacchino Del Regno
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220217113453.13658-25-yong.wu@mediatek.com \
--to=yong.wu@mediatek.com \
--cc=anan.sun@mediatek.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=chengci.xu@mediatek.com \
--cc=devicetree@vger.kernel.org \
--cc=hsinyi@chromium.org \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=krzysztof.kozlowski@canonical.com \
--cc=libo.kang@mediatek.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=mingyuan.ma@mediatek.com \
--cc=robh+dt@kernel.org \
--cc=robin.murphy@arm.com \
--cc=srv_heupstream@mediatek.com \
--cc=tfiga@chromium.org \
--cc=will@kernel.org \
--cc=xueqi.zhang@mediatek.com \
--cc=yen-chang.chen@mediatek.com \
--cc=yf.wang@mediatek.com \
--cc=youlin.pei@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).