Re: [RFC 10/13] iommu/arm-smmu-impl: Get rid of Marvell's implementation details
On Tue, 2021-03-02 at 11:40 +, Robin Murphy wrote: > On 2021-02-26 14:03, Nicolas Saenz Julienne wrote: > > arm-smmu can now deal with integrations on buses that don't support > > 64bit MMIO accesses. No need to create a special case for that on > > Marvell's integration. > > This breaks compatibility with existing DTs. Yes. On top of that, I had a brief word with robh on the topic of DT properties. I'm going to explore alternatives that don't depend on it. Regards, Nicolas signature.asc Description: This is a digitally signed message part
Re: [RFC 10/13] iommu/arm-smmu-impl: Get rid of Marvell's implementation details
On 2021-02-26 14:03, Nicolas Saenz Julienne wrote: arm-smmu can now deal with integrations on buses that don't support 64bit MMIO accesses. No need to create a special case for that on Marvell's integration. This breaks compatibility with existing DTs. Robin. Signed-off-by: Nicolas Saenz Julienne --- drivers/iommu/arm/arm-smmu/arm-smmu-impl.c | 21 - 1 file changed, 21 deletions(-) diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-impl.c b/drivers/iommu/arm/arm-smmu/arm-smmu-impl.c index 136872e77195..55d40e37e144 100644 --- a/drivers/iommu/arm/arm-smmu/arm-smmu-impl.c +++ b/drivers/iommu/arm/arm-smmu/arm-smmu-impl.c @@ -145,25 +145,6 @@ static const struct arm_smmu_impl arm_mmu500_impl = { .reset = arm_mmu500_reset, }; -static u64 mrvl_mmu500_readq(struct arm_smmu_device *smmu, int page, int off) -{ - /* -* Marvell Armada-AP806 erratum #582743. -* Split all the readq to double readl -*/ - return hi_lo_readq_relaxed(arm_smmu_page(smmu, page) + off); -} - -static void mrvl_mmu500_writeq(struct arm_smmu_device *smmu, int page, int off, - u64 val) -{ - /* -* Marvell Armada-AP806 erratum #582743. -* Split all the writeq to double writel -*/ - hi_lo_writeq_relaxed(val, arm_smmu_page(smmu, page) + off); -} - static int mrvl_mmu500_cfg_probe(struct arm_smmu_device *smmu) { @@ -181,8 +162,6 @@ static int mrvl_mmu500_cfg_probe(struct arm_smmu_device *smmu) } static const struct arm_smmu_impl mrvl_mmu500_impl = { - .read_reg64 = mrvl_mmu500_readq, - .write_reg64 = mrvl_mmu500_writeq, .cfg_probe = mrvl_mmu500_cfg_probe, .reset = arm_mmu500_reset, };
[RFC 10/13] iommu/arm-smmu-impl: Get rid of Marvell's implementation details
arm-smmu can now deal with integrations on buses that don't support 64bit MMIO accesses. No need to create a special case for that on Marvell's integration. Signed-off-by: Nicolas Saenz Julienne --- drivers/iommu/arm/arm-smmu/arm-smmu-impl.c | 21 - 1 file changed, 21 deletions(-) diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-impl.c b/drivers/iommu/arm/arm-smmu/arm-smmu-impl.c index 136872e77195..55d40e37e144 100644 --- a/drivers/iommu/arm/arm-smmu/arm-smmu-impl.c +++ b/drivers/iommu/arm/arm-smmu/arm-smmu-impl.c @@ -145,25 +145,6 @@ static const struct arm_smmu_impl arm_mmu500_impl = { .reset = arm_mmu500_reset, }; -static u64 mrvl_mmu500_readq(struct arm_smmu_device *smmu, int page, int off) -{ - /* -* Marvell Armada-AP806 erratum #582743. -* Split all the readq to double readl -*/ - return hi_lo_readq_relaxed(arm_smmu_page(smmu, page) + off); -} - -static void mrvl_mmu500_writeq(struct arm_smmu_device *smmu, int page, int off, - u64 val) -{ - /* -* Marvell Armada-AP806 erratum #582743. -* Split all the writeq to double writel -*/ - hi_lo_writeq_relaxed(val, arm_smmu_page(smmu, page) + off); -} - static int mrvl_mmu500_cfg_probe(struct arm_smmu_device *smmu) { @@ -181,8 +162,6 @@ static int mrvl_mmu500_cfg_probe(struct arm_smmu_device *smmu) } static const struct arm_smmu_impl mrvl_mmu500_impl = { - .read_reg64 = mrvl_mmu500_readq, - .write_reg64 = mrvl_mmu500_writeq, .cfg_probe = mrvl_mmu500_cfg_probe, .reset = arm_mmu500_reset, }; -- 2.30.1