summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchel Humpherys <mitchelh@codeaurora.org>2016-06-17 14:54:03 -0700
committerLiam Mark <lmark@codeaurora.org>2016-09-26 17:42:58 -0700
commitb4bc9562f0d0aef63ea187bda01b34c31af73fa3 (patch)
treea78d144e9c87d290e45b90b6a57d3a18c35219b0
parenta9ac2debe358fe1a5a5e6dab17eef4a367deed08 (diff)
iommu/io-pgtable-arm: Make cacheable mappings outer-shareable
Cacheable mappings should be inner- and outer-shareable, but currently we're only making them inner-shareable. Make them outer-shareable as well. Change-Id: I50e0ee3654d5d13dcbfdbb31d2df4d56b79a2b78 Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
-rw-r--r--drivers/iommu/io-pgtable-arm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/iommu/io-pgtable-arm.c b/drivers/iommu/io-pgtable-arm.c
index 4036997f49c7..5e47e2481300 100644
--- a/drivers/iommu/io-pgtable-arm.c
+++ b/drivers/iommu/io-pgtable-arm.c
@@ -481,9 +481,11 @@ static arm_lpae_iopte arm_lpae_prot_to_pte(struct arm_lpae_io_pgtable *data,
pte |= (prot & IOMMU_PRIV) ? ARM_LPAE_PTE_AP_PRIV_RO
: ARM_LPAE_PTE_AP_RO;
- if (prot & IOMMU_CACHE)
+ if (prot & IOMMU_CACHE) {
pte |= (ARM_LPAE_MAIR_ATTR_IDX_CACHE
<< ARM_LPAE_PTE_ATTRINDX_SHIFT);
+ pte |= ARM_LPAE_PTE_SH_OS;
+ }
if (prot & IOMMU_DEVICE)
pte |= (ARM_LPAE_MAIR_ATTR_IDX_DEV <<