aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu/arm-smmu.c
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2013-08-21 08:49:53 -0400
committerWill Deacon <will.deacon@arm.com>2013-10-09 09:14:38 -0400
commit25724841dfaed05f23a3ddaaaed5c9b61ceea7bd (patch)
tree4a9dbaf96ec07f0db4c1c606e088fe14f1f18fb9 /drivers/iommu/arm-smmu.c
parent8a7f431221602fcde573dfdba26de1990ec195a0 (diff)
iommu/arm-smmu: use relaxed accessors where possible
Apart from fault handling and page table manipulation, we don't care about memory ordering between SMMU control registers and normal, cacheable memory, so use the _relaxed I/O accessors wherever possible. Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'drivers/iommu/arm-smmu.c')
-rw-r--r--drivers/iommu/arm-smmu.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
index abe83c3757ab..293192150f5a 100644
--- a/drivers/iommu/arm-smmu.c
+++ b/drivers/iommu/arm-smmu.c
@@ -778,7 +778,7 @@ static void arm_smmu_init_context_bank(struct arm_smmu_domain *smmu_domain)
778#ifdef __BIG_ENDIAN 778#ifdef __BIG_ENDIAN
779 reg |= SCTLR_E; 779 reg |= SCTLR_E;
780#endif 780#endif
781 writel(reg, cb_base + ARM_SMMU_CB_SCTLR); 781 writel_relaxed(reg, cb_base + ARM_SMMU_CB_SCTLR);
782} 782}
783 783
784static int arm_smmu_init_domain_context(struct iommu_domain *domain, 784static int arm_smmu_init_domain_context(struct iommu_domain *domain,
@@ -1595,7 +1595,7 @@ static void arm_smmu_device_reset(struct arm_smmu_device *smmu)
1595 1595
1596 /* Push the button */ 1596 /* Push the button */
1597 arm_smmu_tlb_sync(smmu); 1597 arm_smmu_tlb_sync(smmu);
1598 writel(scr0, gr0_base + ARM_SMMU_GR0_sCR0); 1598 writel_relaxed(scr0, gr0_base + ARM_SMMU_GR0_sCR0);
1599} 1599}
1600 1600
1601static int arm_smmu_id_size_to_bits(int size) 1601static int arm_smmu_id_size_to_bits(int size)
@@ -1928,7 +1928,7 @@ static int arm_smmu_device_remove(struct platform_device *pdev)
1928 free_irq(smmu->irqs[i], smmu); 1928 free_irq(smmu->irqs[i], smmu);
1929 1929
1930 /* Turn the thing off */ 1930 /* Turn the thing off */
1931 writel(sCR0_CLIENTPD, ARM_SMMU_GR0(smmu) + ARM_SMMU_GR0_sCR0); 1931 writel_relaxed(sCR0_CLIENTPD, ARM_SMMU_GR0(smmu) + ARM_SMMU_GR0_sCR0);
1932 return 0; 1932 return 0;
1933} 1933}
1934 1934