* [PATCH v2 1/3] dt-bindings: iommu: Add binding for MediaTek MT8167 IOMMU
@ 2020-03-02 11:21 ` Fabien Parent
0 siblings, 0 replies; 24+ messages in thread
From: Fabien Parent @ 2020-03-02 11:21 UTC (permalink / raw)
To: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree, iommu
Cc: matthias.bgg, joro, yong.wu, ck.hu, Fabien Parent, Rob Herring
This commit adds IOMMU binding documentation for the MT8167 SoC.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Rob Herring <robh@kernel.org>
---
V2: no change
---
Documentation/devicetree/bindings/iommu/mediatek,iommu.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt b/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
index ce59a505f5a4..eee9116cf9bb 100644
--- a/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
+++ b/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
@@ -60,6 +60,7 @@ Required properties:
"mediatek,mt2712-m4u" for mt2712 which uses generation two m4u HW.
"mediatek,mt7623-m4u", "mediatek,mt2701-m4u" for mt7623 which uses
generation one m4u HW.
+ "mediatek,mt8167-m4u" for mt8167 which uses generation two m4u HW.
"mediatek,mt8173-m4u" for mt8173 which uses generation two m4u HW.
"mediatek,mt8183-m4u" for mt8183 which uses generation two m4u HW.
- reg : m4u register base and size.
--
2.25.0
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 1/3] dt-bindings: iommu: Add binding for MediaTek MT8167 IOMMU
@ 2020-03-02 11:21 ` Fabien Parent
0 siblings, 0 replies; 24+ messages in thread
From: Fabien Parent @ 2020-03-02 11:21 UTC (permalink / raw)
To: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree, iommu
Cc: Rob Herring, Fabien Parent, ck.hu, matthias.bgg
This commit adds IOMMU binding documentation for the MT8167 SoC.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Rob Herring <robh@kernel.org>
---
V2: no change
---
Documentation/devicetree/bindings/iommu/mediatek,iommu.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt b/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
index ce59a505f5a4..eee9116cf9bb 100644
--- a/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
+++ b/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
@@ -60,6 +60,7 @@ Required properties:
"mediatek,mt2712-m4u" for mt2712 which uses generation two m4u HW.
"mediatek,mt7623-m4u", "mediatek,mt2701-m4u" for mt7623 which uses
generation one m4u HW.
+ "mediatek,mt8167-m4u" for mt8167 which uses generation two m4u HW.
"mediatek,mt8173-m4u" for mt8173 which uses generation two m4u HW.
"mediatek,mt8183-m4u" for mt8183 which uses generation two m4u HW.
- reg : m4u register base and size.
--
2.25.0
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 1/3] dt-bindings: iommu: Add binding for MediaTek MT8167 IOMMU
@ 2020-03-02 11:21 ` Fabien Parent
0 siblings, 0 replies; 24+ messages in thread
From: Fabien Parent @ 2020-03-02 11:21 UTC (permalink / raw)
To: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree, iommu
Cc: Rob Herring, Fabien Parent, joro, ck.hu, matthias.bgg, yong.wu
This commit adds IOMMU binding documentation for the MT8167 SoC.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Rob Herring <robh@kernel.org>
---
V2: no change
---
Documentation/devicetree/bindings/iommu/mediatek,iommu.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt b/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
index ce59a505f5a4..eee9116cf9bb 100644
--- a/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
+++ b/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
@@ -60,6 +60,7 @@ Required properties:
"mediatek,mt2712-m4u" for mt2712 which uses generation two m4u HW.
"mediatek,mt7623-m4u", "mediatek,mt2701-m4u" for mt7623 which uses
generation one m4u HW.
+ "mediatek,mt8167-m4u" for mt8167 which uses generation two m4u HW.
"mediatek,mt8173-m4u" for mt8173 which uses generation two m4u HW.
"mediatek,mt8183-m4u" for mt8183 which uses generation two m4u HW.
- reg : m4u register base and size.
--
2.25.0
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 1/3] dt-bindings: iommu: Add binding for MediaTek MT8167 IOMMU
@ 2020-03-02 11:21 ` Fabien Parent
0 siblings, 0 replies; 24+ messages in thread
From: Fabien Parent @ 2020-03-02 11:21 UTC (permalink / raw)
To: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree, iommu
Cc: Rob Herring, Fabien Parent, joro, ck.hu, matthias.bgg, yong.wu
This commit adds IOMMU binding documentation for the MT8167 SoC.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Rob Herring <robh@kernel.org>
---
V2: no change
---
Documentation/devicetree/bindings/iommu/mediatek,iommu.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt b/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
index ce59a505f5a4..eee9116cf9bb 100644
--- a/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
+++ b/Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
@@ -60,6 +60,7 @@ Required properties:
"mediatek,mt2712-m4u" for mt2712 which uses generation two m4u HW.
"mediatek,mt7623-m4u", "mediatek,mt2701-m4u" for mt7623 which uses
generation one m4u HW.
+ "mediatek,mt8167-m4u" for mt8167 which uses generation two m4u HW.
"mediatek,mt8173-m4u" for mt8173 which uses generation two m4u HW.
"mediatek,mt8183-m4u" for mt8183 which uses generation two m4u HW.
- reg : m4u register base and size.
--
2.25.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr
2020-03-02 11:21 ` Fabien Parent
(?)
(?)
@ 2020-03-02 11:21 ` Fabien Parent
-1 siblings, 0 replies; 24+ messages in thread
From: Fabien Parent @ 2020-03-02 11:21 UTC (permalink / raw)
To: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree, iommu
Cc: matthias.bgg, joro, yong.wu, ck.hu, Fabien Parent
Add a new platform data member in order to select which IVRP_PADDR
format is used by an SoC.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
---
v2: new patch
---
drivers/iommu/mtk_iommu.c | 3 ++-
drivers/iommu/mtk_iommu.h | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
index 95945f467c03..78cb14ab7dd0 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -569,7 +569,7 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
- if (data->plat_data->m4u_plat == M4U_MT8173)
+ if (data->plat_data->has_legacy_ivrp_paddr)
regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
else
regval = lower_32_bits(data->protect_base) |
@@ -786,6 +786,7 @@ static const struct mtk_iommu_plat_data mt8173_data = {
.m4u_plat = M4U_MT8173,
.has_4gb_mode = true,
.has_bclk = true,
+ .has_legacy_ivrp_paddr = true;
.reset_axi = true,
.larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
};
diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
index ea949a324e33..4696ba027a71 100644
--- a/drivers/iommu/mtk_iommu.h
+++ b/drivers/iommu/mtk_iommu.h
@@ -42,6 +42,7 @@ struct mtk_iommu_plat_data {
bool has_bclk;
bool has_vld_pa_rng;
bool reset_axi;
+ bool has_legacy_ivrp_paddr;
unsigned char larbid_remap[MTK_LARB_NR_MAX];
};
--
2.25.0
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr
@ 2020-03-02 11:21 ` Fabien Parent
0 siblings, 0 replies; 24+ messages in thread
From: Fabien Parent @ 2020-03-02 11:21 UTC (permalink / raw)
To: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree, iommu
Cc: matthias.bgg, ck.hu, Fabien Parent
Add a new platform data member in order to select which IVRP_PADDR
format is used by an SoC.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
---
v2: new patch
---
drivers/iommu/mtk_iommu.c | 3 ++-
drivers/iommu/mtk_iommu.h | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
index 95945f467c03..78cb14ab7dd0 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -569,7 +569,7 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
- if (data->plat_data->m4u_plat == M4U_MT8173)
+ if (data->plat_data->has_legacy_ivrp_paddr)
regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
else
regval = lower_32_bits(data->protect_base) |
@@ -786,6 +786,7 @@ static const struct mtk_iommu_plat_data mt8173_data = {
.m4u_plat = M4U_MT8173,
.has_4gb_mode = true,
.has_bclk = true,
+ .has_legacy_ivrp_paddr = true;
.reset_axi = true,
.larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
};
diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
index ea949a324e33..4696ba027a71 100644
--- a/drivers/iommu/mtk_iommu.h
+++ b/drivers/iommu/mtk_iommu.h
@@ -42,6 +42,7 @@ struct mtk_iommu_plat_data {
bool has_bclk;
bool has_vld_pa_rng;
bool reset_axi;
+ bool has_legacy_ivrp_paddr;
unsigned char larbid_remap[MTK_LARB_NR_MAX];
};
--
2.25.0
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr
@ 2020-03-02 11:21 ` Fabien Parent
0 siblings, 0 replies; 24+ messages in thread
From: Fabien Parent @ 2020-03-02 11:21 UTC (permalink / raw)
To: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree, iommu
Cc: matthias.bgg, ck.hu, joro, yong.wu, Fabien Parent
Add a new platform data member in order to select which IVRP_PADDR
format is used by an SoC.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
---
v2: new patch
---
drivers/iommu/mtk_iommu.c | 3 ++-
drivers/iommu/mtk_iommu.h | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
index 95945f467c03..78cb14ab7dd0 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -569,7 +569,7 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
- if (data->plat_data->m4u_plat == M4U_MT8173)
+ if (data->plat_data->has_legacy_ivrp_paddr)
regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
else
regval = lower_32_bits(data->protect_base) |
@@ -786,6 +786,7 @@ static const struct mtk_iommu_plat_data mt8173_data = {
.m4u_plat = M4U_MT8173,
.has_4gb_mode = true,
.has_bclk = true,
+ .has_legacy_ivrp_paddr = true;
.reset_axi = true,
.larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
};
diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
index ea949a324e33..4696ba027a71 100644
--- a/drivers/iommu/mtk_iommu.h
+++ b/drivers/iommu/mtk_iommu.h
@@ -42,6 +42,7 @@ struct mtk_iommu_plat_data {
bool has_bclk;
bool has_vld_pa_rng;
bool reset_axi;
+ bool has_legacy_ivrp_paddr;
unsigned char larbid_remap[MTK_LARB_NR_MAX];
};
--
2.25.0
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr
@ 2020-03-02 11:21 ` Fabien Parent
0 siblings, 0 replies; 24+ messages in thread
From: Fabien Parent @ 2020-03-02 11:21 UTC (permalink / raw)
To: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree, iommu
Cc: matthias.bgg, ck.hu, joro, yong.wu, Fabien Parent
Add a new platform data member in order to select which IVRP_PADDR
format is used by an SoC.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
---
v2: new patch
---
drivers/iommu/mtk_iommu.c | 3 ++-
drivers/iommu/mtk_iommu.h | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
index 95945f467c03..78cb14ab7dd0 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -569,7 +569,7 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
- if (data->plat_data->m4u_plat == M4U_MT8173)
+ if (data->plat_data->has_legacy_ivrp_paddr)
regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
else
regval = lower_32_bits(data->protect_base) |
@@ -786,6 +786,7 @@ static const struct mtk_iommu_plat_data mt8173_data = {
.m4u_plat = M4U_MT8173,
.has_4gb_mode = true,
.has_bclk = true,
+ .has_legacy_ivrp_paddr = true;
.reset_axi = true,
.larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
};
diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
index ea949a324e33..4696ba027a71 100644
--- a/drivers/iommu/mtk_iommu.h
+++ b/drivers/iommu/mtk_iommu.h
@@ -42,6 +42,7 @@ struct mtk_iommu_plat_data {
bool has_bclk;
bool has_vld_pa_rng;
bool reset_axi;
+ bool has_legacy_ivrp_paddr;
unsigned char larbid_remap[MTK_LARB_NR_MAX];
};
--
2.25.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 3/3] iommu/mediatek: add support for MT8167
2020-03-02 11:21 ` Fabien Parent
(?)
(?)
@ 2020-03-02 11:21 ` Fabien Parent
-1 siblings, 0 replies; 24+ messages in thread
From: Fabien Parent @ 2020-03-02 11:21 UTC (permalink / raw)
To: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree, iommu
Cc: matthias.bgg, joro, yong.wu, ck.hu, Fabien Parent
Add support for the IOMMU on MT8167
Signed-off-by: Fabien Parent <fparent@baylibre.com>
---
V2:
* removed if based on m4u_plat, and using instead the new
has_legacy_ivrp_paddr member that was introduced in patch 2.
---
drivers/iommu/mtk_iommu.c | 9 +++++++++
drivers/iommu/mtk_iommu.h | 1 +
2 files changed, 10 insertions(+)
diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
index 78cb14ab7dd0..25b7ad1647ba 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -782,6 +782,14 @@ static const struct mtk_iommu_plat_data mt2712_data = {
.larbid_remap = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
};
+static const struct mtk_iommu_plat_data mt8167_data = {
+ .m4u_plat = M4U_MT8167,
+ .has_4gb_mode = true,
+ .has_legacy_ivrp_paddr = true;
+ .reset_axi = true,
+ .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
+};
+
static const struct mtk_iommu_plat_data mt8173_data = {
.m4u_plat = M4U_MT8173,
.has_4gb_mode = true,
@@ -799,6 +807,7 @@ static const struct mtk_iommu_plat_data mt8183_data = {
static const struct of_device_id mtk_iommu_of_ids[] = {
{ .compatible = "mediatek,mt2712-m4u", .data = &mt2712_data},
+ { .compatible = "mediatek,mt8167-m4u", .data = &mt8167_data},
{ .compatible = "mediatek,mt8173-m4u", .data = &mt8173_data},
{ .compatible = "mediatek,mt8183-m4u", .data = &mt8183_data},
{}
diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
index 4696ba027a71..72f874ec9e9c 100644
--- a/drivers/iommu/mtk_iommu.h
+++ b/drivers/iommu/mtk_iommu.h
@@ -30,6 +30,7 @@ struct mtk_iommu_suspend_reg {
enum mtk_iommu_plat {
M4U_MT2701,
M4U_MT2712,
+ M4U_MT8167,
M4U_MT8173,
M4U_MT8183,
};
--
2.25.0
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 3/3] iommu/mediatek: add support for MT8167
@ 2020-03-02 11:21 ` Fabien Parent
0 siblings, 0 replies; 24+ messages in thread
From: Fabien Parent @ 2020-03-02 11:21 UTC (permalink / raw)
To: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree, iommu
Cc: matthias.bgg, ck.hu, Fabien Parent
Add support for the IOMMU on MT8167
Signed-off-by: Fabien Parent <fparent@baylibre.com>
---
V2:
* removed if based on m4u_plat, and using instead the new
has_legacy_ivrp_paddr member that was introduced in patch 2.
---
drivers/iommu/mtk_iommu.c | 9 +++++++++
drivers/iommu/mtk_iommu.h | 1 +
2 files changed, 10 insertions(+)
diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
index 78cb14ab7dd0..25b7ad1647ba 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -782,6 +782,14 @@ static const struct mtk_iommu_plat_data mt2712_data = {
.larbid_remap = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
};
+static const struct mtk_iommu_plat_data mt8167_data = {
+ .m4u_plat = M4U_MT8167,
+ .has_4gb_mode = true,
+ .has_legacy_ivrp_paddr = true;
+ .reset_axi = true,
+ .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
+};
+
static const struct mtk_iommu_plat_data mt8173_data = {
.m4u_plat = M4U_MT8173,
.has_4gb_mode = true,
@@ -799,6 +807,7 @@ static const struct mtk_iommu_plat_data mt8183_data = {
static const struct of_device_id mtk_iommu_of_ids[] = {
{ .compatible = "mediatek,mt2712-m4u", .data = &mt2712_data},
+ { .compatible = "mediatek,mt8167-m4u", .data = &mt8167_data},
{ .compatible = "mediatek,mt8173-m4u", .data = &mt8173_data},
{ .compatible = "mediatek,mt8183-m4u", .data = &mt8183_data},
{}
diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
index 4696ba027a71..72f874ec9e9c 100644
--- a/drivers/iommu/mtk_iommu.h
+++ b/drivers/iommu/mtk_iommu.h
@@ -30,6 +30,7 @@ struct mtk_iommu_suspend_reg {
enum mtk_iommu_plat {
M4U_MT2701,
M4U_MT2712,
+ M4U_MT8167,
M4U_MT8173,
M4U_MT8183,
};
--
2.25.0
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 3/3] iommu/mediatek: add support for MT8167
@ 2020-03-02 11:21 ` Fabien Parent
0 siblings, 0 replies; 24+ messages in thread
From: Fabien Parent @ 2020-03-02 11:21 UTC (permalink / raw)
To: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree, iommu
Cc: matthias.bgg, ck.hu, joro, yong.wu, Fabien Parent
Add support for the IOMMU on MT8167
Signed-off-by: Fabien Parent <fparent@baylibre.com>
---
V2:
* removed if based on m4u_plat, and using instead the new
has_legacy_ivrp_paddr member that was introduced in patch 2.
---
drivers/iommu/mtk_iommu.c | 9 +++++++++
drivers/iommu/mtk_iommu.h | 1 +
2 files changed, 10 insertions(+)
diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
index 78cb14ab7dd0..25b7ad1647ba 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -782,6 +782,14 @@ static const struct mtk_iommu_plat_data mt2712_data = {
.larbid_remap = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
};
+static const struct mtk_iommu_plat_data mt8167_data = {
+ .m4u_plat = M4U_MT8167,
+ .has_4gb_mode = true,
+ .has_legacy_ivrp_paddr = true;
+ .reset_axi = true,
+ .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
+};
+
static const struct mtk_iommu_plat_data mt8173_data = {
.m4u_plat = M4U_MT8173,
.has_4gb_mode = true,
@@ -799,6 +807,7 @@ static const struct mtk_iommu_plat_data mt8183_data = {
static const struct of_device_id mtk_iommu_of_ids[] = {
{ .compatible = "mediatek,mt2712-m4u", .data = &mt2712_data},
+ { .compatible = "mediatek,mt8167-m4u", .data = &mt8167_data},
{ .compatible = "mediatek,mt8173-m4u", .data = &mt8173_data},
{ .compatible = "mediatek,mt8183-m4u", .data = &mt8183_data},
{}
diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
index 4696ba027a71..72f874ec9e9c 100644
--- a/drivers/iommu/mtk_iommu.h
+++ b/drivers/iommu/mtk_iommu.h
@@ -30,6 +30,7 @@ struct mtk_iommu_suspend_reg {
enum mtk_iommu_plat {
M4U_MT2701,
M4U_MT2712,
+ M4U_MT8167,
M4U_MT8173,
M4U_MT8183,
};
--
2.25.0
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v2 3/3] iommu/mediatek: add support for MT8167
@ 2020-03-02 11:21 ` Fabien Parent
0 siblings, 0 replies; 24+ messages in thread
From: Fabien Parent @ 2020-03-02 11:21 UTC (permalink / raw)
To: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree, iommu
Cc: matthias.bgg, ck.hu, joro, yong.wu, Fabien Parent
Add support for the IOMMU on MT8167
Signed-off-by: Fabien Parent <fparent@baylibre.com>
---
V2:
* removed if based on m4u_plat, and using instead the new
has_legacy_ivrp_paddr member that was introduced in patch 2.
---
drivers/iommu/mtk_iommu.c | 9 +++++++++
drivers/iommu/mtk_iommu.h | 1 +
2 files changed, 10 insertions(+)
diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
index 78cb14ab7dd0..25b7ad1647ba 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -782,6 +782,14 @@ static const struct mtk_iommu_plat_data mt2712_data = {
.larbid_remap = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
};
+static const struct mtk_iommu_plat_data mt8167_data = {
+ .m4u_plat = M4U_MT8167,
+ .has_4gb_mode = true,
+ .has_legacy_ivrp_paddr = true;
+ .reset_axi = true,
+ .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
+};
+
static const struct mtk_iommu_plat_data mt8173_data = {
.m4u_plat = M4U_MT8173,
.has_4gb_mode = true,
@@ -799,6 +807,7 @@ static const struct mtk_iommu_plat_data mt8183_data = {
static const struct of_device_id mtk_iommu_of_ids[] = {
{ .compatible = "mediatek,mt2712-m4u", .data = &mt2712_data},
+ { .compatible = "mediatek,mt8167-m4u", .data = &mt8167_data},
{ .compatible = "mediatek,mt8173-m4u", .data = &mt8173_data},
{ .compatible = "mediatek,mt8183-m4u", .data = &mt8183_data},
{}
diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
index 4696ba027a71..72f874ec9e9c 100644
--- a/drivers/iommu/mtk_iommu.h
+++ b/drivers/iommu/mtk_iommu.h
@@ -30,6 +30,7 @@ struct mtk_iommu_suspend_reg {
enum mtk_iommu_plat {
M4U_MT2701,
M4U_MT2712,
+ M4U_MT8167,
M4U_MT8173,
M4U_MT8183,
};
--
2.25.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [PATCH v2 3/3] iommu/mediatek: add support for MT8167
2020-03-02 11:21 ` Fabien Parent
(?)
(?)
@ 2020-03-04 12:22 ` Yong Wu
-1 siblings, 0 replies; 24+ messages in thread
From: Yong Wu @ 2020-03-04 12:22 UTC (permalink / raw)
To: Fabien Parent
Cc: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree,
iommu, matthias.bgg, ck.hu, joro
On Mon, 2020-03-02 at 12:21 +0100, Fabien Parent wrote:
> Add support for the IOMMU on MT8167
>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> ---
>
> V2:
> * removed if based on m4u_plat, and using instead the new
> has_legacy_ivrp_paddr member that was introduced in patch 2.
>
> ---
> drivers/iommu/mtk_iommu.c | 9 +++++++++
> drivers/iommu/mtk_iommu.h | 1 +
> 2 files changed, 10 insertions(+)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 78cb14ab7dd0..25b7ad1647ba 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -782,6 +782,14 @@ static const struct mtk_iommu_plat_data mt2712_data = {
> .larbid_remap = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
> };
>
> +static const struct mtk_iommu_plat_data mt8167_data = {
> + .m4u_plat = M4U_MT8167,
> + .has_4gb_mode = true,
> + .has_legacy_ivrp_paddr = true;
> + .reset_axi = true,
> + .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
Normally we put the file include/dt-bindings/memory/mt8167-larb-port.h
into the first binding patch.
If we have that file, we will know there is only 3 larbs in mt8167.
thus, here should be: larbid_remap = {0, 1, 2}
Other than this,
Reviewed-by: Yong Wu <yong.wu@mediatek.com>
> +};
> +
> static const struct mtk_iommu_plat_data mt8173_data = {
> .m4u_plat = M4U_MT8173,
> .has_4gb_mode = true,
> @@ -799,6 +807,7 @@ static const struct mtk_iommu_plat_data mt8183_data = {
>
> static const struct of_device_id mtk_iommu_of_ids[] = {
> { .compatible = "mediatek,mt2712-m4u", .data = &mt2712_data},
> + { .compatible = "mediatek,mt8167-m4u", .data = &mt8167_data},
> { .compatible = "mediatek,mt8173-m4u", .data = &mt8173_data},
> { .compatible = "mediatek,mt8183-m4u", .data = &mt8183_data},
> {}
> diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> index 4696ba027a71..72f874ec9e9c 100644
> --- a/drivers/iommu/mtk_iommu.h
> +++ b/drivers/iommu/mtk_iommu.h
> @@ -30,6 +30,7 @@ struct mtk_iommu_suspend_reg {
> enum mtk_iommu_plat {
> M4U_MT2701,
> M4U_MT2712,
> + M4U_MT8167,
> M4U_MT8173,
> M4U_MT8183,
> };
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 3/3] iommu/mediatek: add support for MT8167
@ 2020-03-04 12:22 ` Yong Wu
0 siblings, 0 replies; 24+ messages in thread
From: Yong Wu @ 2020-03-04 12:22 UTC (permalink / raw)
To: Fabien Parent
Cc: devicetree, linux-kernel, ck.hu, iommu, linux-mediatek,
matthias.bgg, linux-arm-kernel
On Mon, 2020-03-02 at 12:21 +0100, Fabien Parent wrote:
> Add support for the IOMMU on MT8167
>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> ---
>
> V2:
> * removed if based on m4u_plat, and using instead the new
> has_legacy_ivrp_paddr member that was introduced in patch 2.
>
> ---
> drivers/iommu/mtk_iommu.c | 9 +++++++++
> drivers/iommu/mtk_iommu.h | 1 +
> 2 files changed, 10 insertions(+)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 78cb14ab7dd0..25b7ad1647ba 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -782,6 +782,14 @@ static const struct mtk_iommu_plat_data mt2712_data = {
> .larbid_remap = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
> };
>
> +static const struct mtk_iommu_plat_data mt8167_data = {
> + .m4u_plat = M4U_MT8167,
> + .has_4gb_mode = true,
> + .has_legacy_ivrp_paddr = true;
> + .reset_axi = true,
> + .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
Normally we put the file include/dt-bindings/memory/mt8167-larb-port.h
into the first binding patch.
If we have that file, we will know there is only 3 larbs in mt8167.
thus, here should be: larbid_remap = {0, 1, 2}
Other than this,
Reviewed-by: Yong Wu <yong.wu@mediatek.com>
> +};
> +
> static const struct mtk_iommu_plat_data mt8173_data = {
> .m4u_plat = M4U_MT8173,
> .has_4gb_mode = true,
> @@ -799,6 +807,7 @@ static const struct mtk_iommu_plat_data mt8183_data = {
>
> static const struct of_device_id mtk_iommu_of_ids[] = {
> { .compatible = "mediatek,mt2712-m4u", .data = &mt2712_data},
> + { .compatible = "mediatek,mt8167-m4u", .data = &mt8167_data},
> { .compatible = "mediatek,mt8173-m4u", .data = &mt8173_data},
> { .compatible = "mediatek,mt8183-m4u", .data = &mt8183_data},
> {}
> diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> index 4696ba027a71..72f874ec9e9c 100644
> --- a/drivers/iommu/mtk_iommu.h
> +++ b/drivers/iommu/mtk_iommu.h
> @@ -30,6 +30,7 @@ struct mtk_iommu_suspend_reg {
> enum mtk_iommu_plat {
> M4U_MT2701,
> M4U_MT2712,
> + M4U_MT8167,
> M4U_MT8173,
> M4U_MT8183,
> };
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 3/3] iommu/mediatek: add support for MT8167
@ 2020-03-04 12:22 ` Yong Wu
0 siblings, 0 replies; 24+ messages in thread
From: Yong Wu @ 2020-03-04 12:22 UTC (permalink / raw)
To: Fabien Parent
Cc: devicetree, joro, linux-kernel, ck.hu, iommu, linux-mediatek,
matthias.bgg, linux-arm-kernel
On Mon, 2020-03-02 at 12:21 +0100, Fabien Parent wrote:
> Add support for the IOMMU on MT8167
>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> ---
>
> V2:
> * removed if based on m4u_plat, and using instead the new
> has_legacy_ivrp_paddr member that was introduced in patch 2.
>
> ---
> drivers/iommu/mtk_iommu.c | 9 +++++++++
> drivers/iommu/mtk_iommu.h | 1 +
> 2 files changed, 10 insertions(+)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 78cb14ab7dd0..25b7ad1647ba 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -782,6 +782,14 @@ static const struct mtk_iommu_plat_data mt2712_data = {
> .larbid_remap = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
> };
>
> +static const struct mtk_iommu_plat_data mt8167_data = {
> + .m4u_plat = M4U_MT8167,
> + .has_4gb_mode = true,
> + .has_legacy_ivrp_paddr = true;
> + .reset_axi = true,
> + .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
Normally we put the file include/dt-bindings/memory/mt8167-larb-port.h
into the first binding patch.
If we have that file, we will know there is only 3 larbs in mt8167.
thus, here should be: larbid_remap = {0, 1, 2}
Other than this,
Reviewed-by: Yong Wu <yong.wu@mediatek.com>
> +};
> +
> static const struct mtk_iommu_plat_data mt8173_data = {
> .m4u_plat = M4U_MT8173,
> .has_4gb_mode = true,
> @@ -799,6 +807,7 @@ static const struct mtk_iommu_plat_data mt8183_data = {
>
> static const struct of_device_id mtk_iommu_of_ids[] = {
> { .compatible = "mediatek,mt2712-m4u", .data = &mt2712_data},
> + { .compatible = "mediatek,mt8167-m4u", .data = &mt8167_data},
> { .compatible = "mediatek,mt8173-m4u", .data = &mt8173_data},
> { .compatible = "mediatek,mt8183-m4u", .data = &mt8183_data},
> {}
> diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> index 4696ba027a71..72f874ec9e9c 100644
> --- a/drivers/iommu/mtk_iommu.h
> +++ b/drivers/iommu/mtk_iommu.h
> @@ -30,6 +30,7 @@ struct mtk_iommu_suspend_reg {
> enum mtk_iommu_plat {
> M4U_MT2701,
> M4U_MT2712,
> + M4U_MT8167,
> M4U_MT8173,
> M4U_MT8183,
> };
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 3/3] iommu/mediatek: add support for MT8167
@ 2020-03-04 12:22 ` Yong Wu
0 siblings, 0 replies; 24+ messages in thread
From: Yong Wu @ 2020-03-04 12:22 UTC (permalink / raw)
To: Fabien Parent
Cc: devicetree, joro, linux-kernel, ck.hu, iommu, linux-mediatek,
matthias.bgg, linux-arm-kernel
On Mon, 2020-03-02 at 12:21 +0100, Fabien Parent wrote:
> Add support for the IOMMU on MT8167
>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> ---
>
> V2:
> * removed if based on m4u_plat, and using instead the new
> has_legacy_ivrp_paddr member that was introduced in patch 2.
>
> ---
> drivers/iommu/mtk_iommu.c | 9 +++++++++
> drivers/iommu/mtk_iommu.h | 1 +
> 2 files changed, 10 insertions(+)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 78cb14ab7dd0..25b7ad1647ba 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -782,6 +782,14 @@ static const struct mtk_iommu_plat_data mt2712_data = {
> .larbid_remap = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
> };
>
> +static const struct mtk_iommu_plat_data mt8167_data = {
> + .m4u_plat = M4U_MT8167,
> + .has_4gb_mode = true,
> + .has_legacy_ivrp_paddr = true;
> + .reset_axi = true,
> + .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
Normally we put the file include/dt-bindings/memory/mt8167-larb-port.h
into the first binding patch.
If we have that file, we will know there is only 3 larbs in mt8167.
thus, here should be: larbid_remap = {0, 1, 2}
Other than this,
Reviewed-by: Yong Wu <yong.wu@mediatek.com>
> +};
> +
> static const struct mtk_iommu_plat_data mt8173_data = {
> .m4u_plat = M4U_MT8173,
> .has_4gb_mode = true,
> @@ -799,6 +807,7 @@ static const struct mtk_iommu_plat_data mt8183_data = {
>
> static const struct of_device_id mtk_iommu_of_ids[] = {
> { .compatible = "mediatek,mt2712-m4u", .data = &mt2712_data},
> + { .compatible = "mediatek,mt8167-m4u", .data = &mt8167_data},
> { .compatible = "mediatek,mt8173-m4u", .data = &mt8173_data},
> { .compatible = "mediatek,mt8183-m4u", .data = &mt8183_data},
> {}
> diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> index 4696ba027a71..72f874ec9e9c 100644
> --- a/drivers/iommu/mtk_iommu.h
> +++ b/drivers/iommu/mtk_iommu.h
> @@ -30,6 +30,7 @@ struct mtk_iommu_suspend_reg {
> enum mtk_iommu_plat {
> M4U_MT2701,
> M4U_MT2712,
> + M4U_MT8167,
> M4U_MT8173,
> M4U_MT8183,
> };
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr
2020-03-02 11:21 ` Fabien Parent
(?)
(?)
@ 2020-03-04 12:23 ` Yong Wu
-1 siblings, 0 replies; 24+ messages in thread
From: Yong Wu @ 2020-03-04 12:23 UTC (permalink / raw)
To: Fabien Parent
Cc: linux-mediatek, linux-arm-kernel, linux-kernel, devicetree,
iommu, matthias.bgg, ck.hu, joro, anan.sun, youlin.pei,
scott.wang
On Mon, 2020-03-02 at 12:21 +0100, Fabien Parent wrote:
> Add a new platform data member in order to select which IVRP_PADDR
> format is used by an SoC.
>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> ---
>
> v2: new patch
>
> ---
> drivers/iommu/mtk_iommu.c | 3 ++-
> drivers/iommu/mtk_iommu.h | 1 +
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 95945f467c03..78cb14ab7dd0 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -569,7 +569,7 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
> F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
> writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
>
> - if (data->plat_data->m4u_plat == M4U_MT8173)
> + if (data->plat_data->has_legacy_ivrp_paddr)
> regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
> else
> regval = lower_32_bits(data->protect_base) |
> @@ -786,6 +786,7 @@ static const struct mtk_iommu_plat_data mt8173_data = {
> .m4u_plat = M4U_MT8173,
> .has_4gb_mode = true,
> .has_bclk = true,
> + .has_legacy_ivrp_paddr = true;
> .reset_axi = true,
> .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
> };
> diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> index ea949a324e33..4696ba027a71 100644
> --- a/drivers/iommu/mtk_iommu.h
> +++ b/drivers/iommu/mtk_iommu.h
> @@ -42,6 +42,7 @@ struct mtk_iommu_plat_data {
> bool has_bclk;
> bool has_vld_pa_rng;
> bool reset_axi;
> + bool has_legacy_ivrp_paddr;
I'd like to put this before "has_vld_pa_rng" alphabetically.
Other than this,
Reviewed-by: Yong Wu <yong.wu@mediatek.com>
> unsigned char larbid_remap[MTK_LARB_NR_MAX];
> };
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr
@ 2020-03-04 12:23 ` Yong Wu
0 siblings, 0 replies; 24+ messages in thread
From: Yong Wu @ 2020-03-04 12:23 UTC (permalink / raw)
To: Fabien Parent
Cc: anan.sun, devicetree, youlin.pei, linux-kernel, ck.hu, iommu,
linux-mediatek, matthias.bgg, scott.wang, linux-arm-kernel
On Mon, 2020-03-02 at 12:21 +0100, Fabien Parent wrote:
> Add a new platform data member in order to select which IVRP_PADDR
> format is used by an SoC.
>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> ---
>
> v2: new patch
>
> ---
> drivers/iommu/mtk_iommu.c | 3 ++-
> drivers/iommu/mtk_iommu.h | 1 +
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 95945f467c03..78cb14ab7dd0 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -569,7 +569,7 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
> F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
> writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
>
> - if (data->plat_data->m4u_plat == M4U_MT8173)
> + if (data->plat_data->has_legacy_ivrp_paddr)
> regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
> else
> regval = lower_32_bits(data->protect_base) |
> @@ -786,6 +786,7 @@ static const struct mtk_iommu_plat_data mt8173_data = {
> .m4u_plat = M4U_MT8173,
> .has_4gb_mode = true,
> .has_bclk = true,
> + .has_legacy_ivrp_paddr = true;
> .reset_axi = true,
> .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
> };
> diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> index ea949a324e33..4696ba027a71 100644
> --- a/drivers/iommu/mtk_iommu.h
> +++ b/drivers/iommu/mtk_iommu.h
> @@ -42,6 +42,7 @@ struct mtk_iommu_plat_data {
> bool has_bclk;
> bool has_vld_pa_rng;
> bool reset_axi;
> + bool has_legacy_ivrp_paddr;
I'd like to put this before "has_vld_pa_rng" alphabetically.
Other than this,
Reviewed-by: Yong Wu <yong.wu@mediatek.com>
> unsigned char larbid_remap[MTK_LARB_NR_MAX];
> };
>
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr
@ 2020-03-04 12:23 ` Yong Wu
0 siblings, 0 replies; 24+ messages in thread
From: Yong Wu @ 2020-03-04 12:23 UTC (permalink / raw)
To: Fabien Parent
Cc: anan.sun, devicetree, joro, youlin.pei, linux-kernel, ck.hu,
iommu, linux-mediatek, matthias.bgg, scott.wang,
linux-arm-kernel
On Mon, 2020-03-02 at 12:21 +0100, Fabien Parent wrote:
> Add a new platform data member in order to select which IVRP_PADDR
> format is used by an SoC.
>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> ---
>
> v2: new patch
>
> ---
> drivers/iommu/mtk_iommu.c | 3 ++-
> drivers/iommu/mtk_iommu.h | 1 +
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 95945f467c03..78cb14ab7dd0 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -569,7 +569,7 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
> F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
> writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
>
> - if (data->plat_data->m4u_plat == M4U_MT8173)
> + if (data->plat_data->has_legacy_ivrp_paddr)
> regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
> else
> regval = lower_32_bits(data->protect_base) |
> @@ -786,6 +786,7 @@ static const struct mtk_iommu_plat_data mt8173_data = {
> .m4u_plat = M4U_MT8173,
> .has_4gb_mode = true,
> .has_bclk = true,
> + .has_legacy_ivrp_paddr = true;
> .reset_axi = true,
> .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
> };
> diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> index ea949a324e33..4696ba027a71 100644
> --- a/drivers/iommu/mtk_iommu.h
> +++ b/drivers/iommu/mtk_iommu.h
> @@ -42,6 +42,7 @@ struct mtk_iommu_plat_data {
> bool has_bclk;
> bool has_vld_pa_rng;
> bool reset_axi;
> + bool has_legacy_ivrp_paddr;
I'd like to put this before "has_vld_pa_rng" alphabetically.
Other than this,
Reviewed-by: Yong Wu <yong.wu@mediatek.com>
> unsigned char larbid_remap[MTK_LARB_NR_MAX];
> };
>
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr
@ 2020-03-04 12:23 ` Yong Wu
0 siblings, 0 replies; 24+ messages in thread
From: Yong Wu @ 2020-03-04 12:23 UTC (permalink / raw)
To: Fabien Parent
Cc: anan.sun, devicetree, joro, youlin.pei, linux-kernel, ck.hu,
iommu, linux-mediatek, matthias.bgg, scott.wang,
linux-arm-kernel
On Mon, 2020-03-02 at 12:21 +0100, Fabien Parent wrote:
> Add a new platform data member in order to select which IVRP_PADDR
> format is used by an SoC.
>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> ---
>
> v2: new patch
>
> ---
> drivers/iommu/mtk_iommu.c | 3 ++-
> drivers/iommu/mtk_iommu.h | 1 +
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 95945f467c03..78cb14ab7dd0 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -569,7 +569,7 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
> F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
> writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
>
> - if (data->plat_data->m4u_plat == M4U_MT8173)
> + if (data->plat_data->has_legacy_ivrp_paddr)
> regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
> else
> regval = lower_32_bits(data->protect_base) |
> @@ -786,6 +786,7 @@ static const struct mtk_iommu_plat_data mt8173_data = {
> .m4u_plat = M4U_MT8173,
> .has_4gb_mode = true,
> .has_bclk = true,
> + .has_legacy_ivrp_paddr = true;
> .reset_axi = true,
> .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
> };
> diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> index ea949a324e33..4696ba027a71 100644
> --- a/drivers/iommu/mtk_iommu.h
> +++ b/drivers/iommu/mtk_iommu.h
> @@ -42,6 +42,7 @@ struct mtk_iommu_plat_data {
> bool has_bclk;
> bool has_vld_pa_rng;
> bool reset_axi;
> + bool has_legacy_ivrp_paddr;
I'd like to put this before "has_vld_pa_rng" alphabetically.
Other than this,
Reviewed-by: Yong Wu <yong.wu@mediatek.com>
> unsigned char larbid_remap[MTK_LARB_NR_MAX];
> };
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr
2020-03-04 12:23 ` Yong Wu
(?)
(?)
@ 2020-03-04 12:29 ` Yong Wu
-1 siblings, 0 replies; 24+ messages in thread
From: Yong Wu @ 2020-03-04 12:29 UTC (permalink / raw)
To: Fabien Parent
Cc: anan.sun, devicetree, joro, youlin.pei, linux-kernel, ck.hu,
iommu, linux-mediatek, matthias.bgg, scott.wang,
linux-arm-kernel
On Wed, 2020-03-04 at 20:23 +0800, Yong Wu wrote:
> On Mon, 2020-03-02 at 12:21 +0100, Fabien Parent wrote:
> > Add a new platform data member in order to select which IVRP_PADDR
> > format is used by an SoC.
> >
> > Signed-off-by: Fabien Parent <fparent@baylibre.com>
> > ---
> >
> > v2: new patch
> >
> > ---
> > drivers/iommu/mtk_iommu.c | 3 ++-
> > drivers/iommu/mtk_iommu.h | 1 +
> > 2 files changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> > index 95945f467c03..78cb14ab7dd0 100644
> > --- a/drivers/iommu/mtk_iommu.c
> > +++ b/drivers/iommu/mtk_iommu.c
> > @@ -569,7 +569,7 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
> > F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
> > writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
> >
> > - if (data->plat_data->m4u_plat == M4U_MT8173)
> > + if (data->plat_data->has_legacy_ivrp_paddr)
> > regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
> > else
> > regval = lower_32_bits(data->protect_base) |
> > @@ -786,6 +786,7 @@ static const struct mtk_iommu_plat_data mt8173_data = {
> > .m4u_plat = M4U_MT8173,
> > .has_4gb_mode = true,
> > .has_bclk = true,
> > + .has_legacy_ivrp_paddr = true;
,
> > .reset_axi = true,
> > .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
> > };
> > diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> > index ea949a324e33..4696ba027a71 100644
> > --- a/drivers/iommu/mtk_iommu.h
> > +++ b/drivers/iommu/mtk_iommu.h
> > @@ -42,6 +42,7 @@ struct mtk_iommu_plat_data {
> > bool has_bclk;
> > bool has_vld_pa_rng;
> > bool reset_axi;
> > + bool has_legacy_ivrp_paddr;
>
> I'd like to put this before "has_vld_pa_rng" alphabetically.
>
> Other than this,
>
> Reviewed-by: Yong Wu <yong.wu@mediatek.com>
>
> > unsigned char larbid_remap[MTK_LARB_NR_MAX];
> > };
> >
>
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr
@ 2020-03-04 12:29 ` Yong Wu
0 siblings, 0 replies; 24+ messages in thread
From: Yong Wu @ 2020-03-04 12:29 UTC (permalink / raw)
To: Fabien Parent
Cc: anan.sun, devicetree, youlin.pei, linux-kernel, matthias.bgg,
iommu, linux-mediatek, ck.hu, scott.wang, linux-arm-kernel
On Wed, 2020-03-04 at 20:23 +0800, Yong Wu wrote:
> On Mon, 2020-03-02 at 12:21 +0100, Fabien Parent wrote:
> > Add a new platform data member in order to select which IVRP_PADDR
> > format is used by an SoC.
> >
> > Signed-off-by: Fabien Parent <fparent@baylibre.com>
> > ---
> >
> > v2: new patch
> >
> > ---
> > drivers/iommu/mtk_iommu.c | 3 ++-
> > drivers/iommu/mtk_iommu.h | 1 +
> > 2 files changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> > index 95945f467c03..78cb14ab7dd0 100644
> > --- a/drivers/iommu/mtk_iommu.c
> > +++ b/drivers/iommu/mtk_iommu.c
> > @@ -569,7 +569,7 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
> > F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
> > writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
> >
> > - if (data->plat_data->m4u_plat == M4U_MT8173)
> > + if (data->plat_data->has_legacy_ivrp_paddr)
> > regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
> > else
> > regval = lower_32_bits(data->protect_base) |
> > @@ -786,6 +786,7 @@ static const struct mtk_iommu_plat_data mt8173_data = {
> > .m4u_plat = M4U_MT8173,
> > .has_4gb_mode = true,
> > .has_bclk = true,
> > + .has_legacy_ivrp_paddr = true;
,
> > .reset_axi = true,
> > .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
> > };
> > diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> > index ea949a324e33..4696ba027a71 100644
> > --- a/drivers/iommu/mtk_iommu.h
> > +++ b/drivers/iommu/mtk_iommu.h
> > @@ -42,6 +42,7 @@ struct mtk_iommu_plat_data {
> > bool has_bclk;
> > bool has_vld_pa_rng;
> > bool reset_axi;
> > + bool has_legacy_ivrp_paddr;
>
> I'd like to put this before "has_vld_pa_rng" alphabetically.
>
> Other than this,
>
> Reviewed-by: Yong Wu <yong.wu@mediatek.com>
>
> > unsigned char larbid_remap[MTK_LARB_NR_MAX];
> > };
> >
>
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr
@ 2020-03-04 12:29 ` Yong Wu
0 siblings, 0 replies; 24+ messages in thread
From: Yong Wu @ 2020-03-04 12:29 UTC (permalink / raw)
To: Fabien Parent
Cc: anan.sun, devicetree, joro, youlin.pei, linux-kernel,
matthias.bgg, iommu, linux-mediatek, ck.hu, scott.wang,
linux-arm-kernel
On Wed, 2020-03-04 at 20:23 +0800, Yong Wu wrote:
> On Mon, 2020-03-02 at 12:21 +0100, Fabien Parent wrote:
> > Add a new platform data member in order to select which IVRP_PADDR
> > format is used by an SoC.
> >
> > Signed-off-by: Fabien Parent <fparent@baylibre.com>
> > ---
> >
> > v2: new patch
> >
> > ---
> > drivers/iommu/mtk_iommu.c | 3 ++-
> > drivers/iommu/mtk_iommu.h | 1 +
> > 2 files changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> > index 95945f467c03..78cb14ab7dd0 100644
> > --- a/drivers/iommu/mtk_iommu.c
> > +++ b/drivers/iommu/mtk_iommu.c
> > @@ -569,7 +569,7 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
> > F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
> > writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
> >
> > - if (data->plat_data->m4u_plat == M4U_MT8173)
> > + if (data->plat_data->has_legacy_ivrp_paddr)
> > regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
> > else
> > regval = lower_32_bits(data->protect_base) |
> > @@ -786,6 +786,7 @@ static const struct mtk_iommu_plat_data mt8173_data = {
> > .m4u_plat = M4U_MT8173,
> > .has_4gb_mode = true,
> > .has_bclk = true,
> > + .has_legacy_ivrp_paddr = true;
,
> > .reset_axi = true,
> > .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
> > };
> > diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> > index ea949a324e33..4696ba027a71 100644
> > --- a/drivers/iommu/mtk_iommu.h
> > +++ b/drivers/iommu/mtk_iommu.h
> > @@ -42,6 +42,7 @@ struct mtk_iommu_plat_data {
> > bool has_bclk;
> > bool has_vld_pa_rng;
> > bool reset_axi;
> > + bool has_legacy_ivrp_paddr;
>
> I'd like to put this before "has_vld_pa_rng" alphabetically.
>
> Other than this,
>
> Reviewed-by: Yong Wu <yong.wu@mediatek.com>
>
> > unsigned char larbid_remap[MTK_LARB_NR_MAX];
> > };
> >
>
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr
@ 2020-03-04 12:29 ` Yong Wu
0 siblings, 0 replies; 24+ messages in thread
From: Yong Wu @ 2020-03-04 12:29 UTC (permalink / raw)
To: Fabien Parent
Cc: anan.sun, devicetree, joro, youlin.pei, linux-kernel,
matthias.bgg, iommu, linux-mediatek, ck.hu, scott.wang,
linux-arm-kernel
On Wed, 2020-03-04 at 20:23 +0800, Yong Wu wrote:
> On Mon, 2020-03-02 at 12:21 +0100, Fabien Parent wrote:
> > Add a new platform data member in order to select which IVRP_PADDR
> > format is used by an SoC.
> >
> > Signed-off-by: Fabien Parent <fparent@baylibre.com>
> > ---
> >
> > v2: new patch
> >
> > ---
> > drivers/iommu/mtk_iommu.c | 3 ++-
> > drivers/iommu/mtk_iommu.h | 1 +
> > 2 files changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> > index 95945f467c03..78cb14ab7dd0 100644
> > --- a/drivers/iommu/mtk_iommu.c
> > +++ b/drivers/iommu/mtk_iommu.c
> > @@ -569,7 +569,7 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
> > F_INT_PRETETCH_TRANSATION_FIFO_FAULT;
> > writel_relaxed(regval, data->base + REG_MMU_INT_MAIN_CONTROL);
> >
> > - if (data->plat_data->m4u_plat == M4U_MT8173)
> > + if (data->plat_data->has_legacy_ivrp_paddr)
> > regval = (data->protect_base >> 1) | (data->enable_4GB << 31);
> > else
> > regval = lower_32_bits(data->protect_base) |
> > @@ -786,6 +786,7 @@ static const struct mtk_iommu_plat_data mt8173_data = {
> > .m4u_plat = M4U_MT8173,
> > .has_4gb_mode = true,
> > .has_bclk = true,
> > + .has_legacy_ivrp_paddr = true;
,
> > .reset_axi = true,
> > .larbid_remap = {0, 1, 2, 3, 4, 5}, /* Linear mapping. */
> > };
> > diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> > index ea949a324e33..4696ba027a71 100644
> > --- a/drivers/iommu/mtk_iommu.h
> > +++ b/drivers/iommu/mtk_iommu.h
> > @@ -42,6 +42,7 @@ struct mtk_iommu_plat_data {
> > bool has_bclk;
> > bool has_vld_pa_rng;
> > bool reset_axi;
> > + bool has_legacy_ivrp_paddr;
>
> I'd like to put this before "has_vld_pa_rng" alphabetically.
>
> Other than this,
>
> Reviewed-by: Yong Wu <yong.wu@mediatek.com>
>
> > unsigned char larbid_remap[MTK_LARB_NR_MAX];
> > };
> >
>
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2020-03-04 12:34 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-02 11:21 [PATCH v2 1/3] dt-bindings: iommu: Add binding for MediaTek MT8167 IOMMU Fabien Parent
2020-03-02 11:21 ` Fabien Parent
2020-03-02 11:21 ` Fabien Parent
2020-03-02 11:21 ` Fabien Parent
2020-03-02 11:21 ` [PATCH v2 2/3] iommu/mediatek: add pdata member for legacy ivrp paddr Fabien Parent
2020-03-02 11:21 ` Fabien Parent
2020-03-02 11:21 ` Fabien Parent
2020-03-02 11:21 ` Fabien Parent
2020-03-04 12:23 ` Yong Wu
2020-03-04 12:23 ` Yong Wu
2020-03-04 12:23 ` Yong Wu
2020-03-04 12:23 ` Yong Wu
2020-03-04 12:29 ` Yong Wu
2020-03-04 12:29 ` Yong Wu
2020-03-04 12:29 ` Yong Wu
2020-03-04 12:29 ` Yong Wu
2020-03-02 11:21 ` [PATCH v2 3/3] iommu/mediatek: add support for MT8167 Fabien Parent
2020-03-02 11:21 ` Fabien Parent
2020-03-02 11:21 ` Fabien Parent
2020-03-02 11:21 ` Fabien Parent
2020-03-04 12:22 ` Yong Wu
2020-03-04 12:22 ` Yong Wu
2020-03-04 12:22 ` Yong Wu
2020-03-04 12:22 ` Yong Wu
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.