diff options
author | Will Deacon <will.deacon@arm.com> | 2013-08-21 08:49:53 -0400 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2013-10-09 09:14:38 -0400 |
commit | 25724841dfaed05f23a3ddaaaed5c9b61ceea7bd (patch) | |
tree | 4a9dbaf96ec07f0db4c1c606e088fe14f1f18fb9 /drivers/iommu/arm-smmu.c | |
parent | 8a7f431221602fcde573dfdba26de1990ec195a0 (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.c | 6 |
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 | ||
784 | static int arm_smmu_init_domain_context(struct iommu_domain *domain, | 784 | static 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 | ||
1601 | static int arm_smmu_id_size_to_bits(int size) | 1601 | static 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 | ||