Re: [RFC 10/13] iommu/arm-smmu-impl: Get rid of Marvell's implementation details

2021-03-02 Thread Nicolas Saenz Julienne
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

2021-03-02 Thread Robin Murphy

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

2021-02-26 Thread Nicolas Saenz Julienne
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