summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/arm-smmu.c
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2014-02-05 23:35:47 +0000
committerWill Deacon <will.deacon@arm.com>2014-02-24 19:09:46 +0000
commit3aa80ea4c90d46ffbe200d05b9ceb997001b36df (patch)
treeae640b0a46b3f0590138659df5afe0e5a0d77339 /drivers/iommu/arm-smmu.c
parentb410aed93288d0bd7650c4d17fd0f306b5082d6f (diff)
downloadop-kernel-dev-3aa80ea4c90d46ffbe200d05b9ceb997001b36df.zip
op-kernel-dev-3aa80ea4c90d46ffbe200d05b9ceb997001b36df.tar.gz
iommu/arm-smmu: provide option to dsb macro when publishing tables
On coherent systems, publishing new page tables to the SMMU walker is achieved with a dsb instruction. In fact, this can be a dsb(ishst) which also provides the mandatory barrier option for arm64. Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'drivers/iommu/arm-smmu.c')
-rw-r--r--drivers/iommu/arm-smmu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
index 83297fe..1da5b41 100644
--- a/drivers/iommu/arm-smmu.c
+++ b/drivers/iommu/arm-smmu.c
@@ -678,7 +678,7 @@ static void arm_smmu_flush_pgtable(struct arm_smmu_device *smmu, void *addr,
/* Ensure new page tables are visible to the hardware walker */
if (smmu->features & ARM_SMMU_FEAT_COHERENT_WALK) {
- dsb();
+ dsb(ishst);
} else {
/*
* If the SMMU can't walk tables in the CPU caches, treat them
OpenPOWER on IntegriCloud