]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/iommu/io-pgtable-arm.c
Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[karo-tx-linux.git] / drivers / iommu / io-pgtable-arm.c
index b610a8dee23820573b6362472b4ab5ec31c4003f..4e460216bd1644e5bb8a26ba9a4c3891d7452393 100644 (file)
 #define ARM_32_LPAE_TCR_EAE            (1 << 31)
 #define ARM_64_LPAE_S2_TCR_RES1                (1 << 31)
 
+#define ARM_LPAE_TCR_EPD1              (1 << 23)
+
 #define ARM_LPAE_TCR_TG0_4K            (0 << 14)
 #define ARM_LPAE_TCR_TG0_64K           (1 << 14)
 #define ARM_LPAE_TCR_TG0_16K           (2 << 14)
@@ -621,6 +623,9 @@ arm_64_lpae_alloc_pgtable_s1(struct io_pgtable_cfg *cfg, void *cookie)
        }
 
        reg |= (64ULL - cfg->ias) << ARM_LPAE_TCR_T0SZ_SHIFT;
+
+       /* Disable speculative walks through TTBR1 */
+       reg |= ARM_LPAE_TCR_EPD1;
        cfg->arm_lpae_s1_cfg.tcr = reg;
 
        /* MAIRs */