summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-04-20 04:40:59 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-04-20 04:40:58 -0700
commit4303a6f9e66256bbf5ced00c3cd710669221f2ab (patch)
treee3fcbd5f84fe33d6938c59136e18691db5c70ca2
parent27a0d415d49e726d6c2866c35c525101d5b7873f (diff)
parent9db017f6ac71d3c364c00b42dd76fb96c2d4a193 (diff)
Merge "iommu/io-pgtable-fast: fix sign extension position"
-rw-r--r--drivers/iommu/io-pgtable-fast.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/iommu/io-pgtable-fast.c b/drivers/iommu/io-pgtable-fast.c
index ab983547fd88..9748ae8c75f8 100644
--- a/drivers/iommu/io-pgtable-fast.c
+++ b/drivers/iommu/io-pgtable-fast.c
@@ -133,6 +133,9 @@ struct av8l_fast_io_pgtable {
#define AV8L_FAST_TCR_EPD1_SHIFT 23
#define AV8L_FAST_TCR_EPD1_FAULT 1
+#define AV8L_FAST_TCR_SEP_SHIFT (15 + 32)
+#define AV8L_FAST_TCR_SEP_UPSTREAM 7ULL
+
#define AV8L_FAST_MAIR_ATTR_SHIFT(n) ((n) << 3)
#define AV8L_FAST_MAIR_ATTR_MASK 0xff
#define AV8L_FAST_MAIR_ATTR_DEVICE 0x04
@@ -522,6 +525,7 @@ av8l_fast_alloc_pgtable(struct io_pgtable_cfg *cfg, void *cookie)
#if defined(CONFIG_ARM)
reg |= ARM_32_LPAE_TCR_EAE;
#endif
+ reg |= AV8L_FAST_TCR_SEP_UPSTREAM << AV8L_FAST_TCR_SEP_SHIFT;
cfg->av8l_fast_cfg.tcr = reg;
/* MAIRs */