iommu/ipmmu-vmsa: Add support for R-Car Gen4
Add support for R-Car Gen4 like r8a779f0 (R-Car S4-8). The IPMMU hardware design of r8a779f0 is the same as r8a779a0. So, rename "r8a779a0" to "rcar_gen4". Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/r/20220208002030.1319984-3-yoshihiro.shimoda.uh@renesas.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
da9f8386d6
commit
ae684caf46
@ -719,6 +719,7 @@ static int ipmmu_init_platform_device(struct device *dev,
|
|||||||
|
|
||||||
static const struct soc_device_attribute soc_needs_opt_in[] = {
|
static const struct soc_device_attribute soc_needs_opt_in[] = {
|
||||||
{ .family = "R-Car Gen3", },
|
{ .family = "R-Car Gen3", },
|
||||||
|
{ .family = "R-Car Gen4", },
|
||||||
{ .family = "RZ/G2", },
|
{ .family = "RZ/G2", },
|
||||||
{ /* sentinel */ }
|
{ /* sentinel */ }
|
||||||
};
|
};
|
||||||
@ -743,7 +744,7 @@ static bool ipmmu_device_is_allowed(struct device *dev)
|
|||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* R-Car Gen3 and RZ/G2 use the allow list to opt-in devices.
|
* R-Car Gen3/4 and RZ/G2 use the allow list to opt-in devices.
|
||||||
* For Other SoCs, this returns true anyway.
|
* For Other SoCs, this returns true anyway.
|
||||||
*/
|
*/
|
||||||
if (!soc_device_match(soc_needs_opt_in))
|
if (!soc_device_match(soc_needs_opt_in))
|
||||||
@ -926,7 +927,7 @@ static const struct ipmmu_features ipmmu_features_rcar_gen3 = {
|
|||||||
.utlb_offset_base = 0,
|
.utlb_offset_base = 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct ipmmu_features ipmmu_features_r8a779a0 = {
|
static const struct ipmmu_features ipmmu_features_rcar_gen4 = {
|
||||||
.use_ns_alias_offset = false,
|
.use_ns_alias_offset = false,
|
||||||
.has_cache_leaf_nodes = true,
|
.has_cache_leaf_nodes = true,
|
||||||
.number_of_contexts = 16,
|
.number_of_contexts = 16,
|
||||||
@ -982,7 +983,10 @@ static const struct of_device_id ipmmu_of_ids[] = {
|
|||||||
.data = &ipmmu_features_rcar_gen3,
|
.data = &ipmmu_features_rcar_gen3,
|
||||||
}, {
|
}, {
|
||||||
.compatible = "renesas,ipmmu-r8a779a0",
|
.compatible = "renesas,ipmmu-r8a779a0",
|
||||||
.data = &ipmmu_features_r8a779a0,
|
.data = &ipmmu_features_rcar_gen4,
|
||||||
|
}, {
|
||||||
|
.compatible = "renesas,rcar-gen4-ipmmu",
|
||||||
|
.data = &ipmmu_features_rcar_gen4,
|
||||||
}, {
|
}, {
|
||||||
/* Terminator */
|
/* Terminator */
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user