|
@@ -59,6 +59,7 @@
|
|
#define ARM_MMU500_ACTLR_CPRE (1 << 1)
|
|
#define ARM_MMU500_ACTLR_CPRE (1 << 1)
|
|
|
|
|
|
#define ARM_MMU500_ACR_CACHE_LOCK (1 << 26)
|
|
#define ARM_MMU500_ACR_CACHE_LOCK (1 << 26)
|
|
|
|
+#define ARM_MMU500_ACR_S2CRB_TLBEN (1 << 10)
|
|
#define ARM_MMU500_ACR_SMTNMB_TLBEN (1 << 8)
|
|
#define ARM_MMU500_ACR_SMTNMB_TLBEN (1 << 8)
|
|
|
|
|
|
#define TLB_LOOP_TIMEOUT 1000000 /* 1s! */
|
|
#define TLB_LOOP_TIMEOUT 1000000 /* 1s! */
|
|
@@ -1598,7 +1599,7 @@ static void arm_smmu_device_reset(struct arm_smmu_device *smmu)
|
|
* Allow unmatched Stream IDs to allocate bypass
|
|
* Allow unmatched Stream IDs to allocate bypass
|
|
* TLB entries for reduced latency.
|
|
* TLB entries for reduced latency.
|
|
*/
|
|
*/
|
|
- reg |= ARM_MMU500_ACR_SMTNMB_TLBEN;
|
|
|
|
|
|
+ reg |= ARM_MMU500_ACR_SMTNMB_TLBEN | ARM_MMU500_ACR_S2CRB_TLBEN;
|
|
writel_relaxed(reg, gr0_base + ARM_SMMU_GR0_sACR);
|
|
writel_relaxed(reg, gr0_base + ARM_SMMU_GR0_sACR);
|
|
}
|
|
}
|
|
|
|
|