USB: mon_stat.c: move assignment out of if () block
[firefly-linux-kernel-4.4.55.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 */