Skip to content

Commit f87f6e5

Browse files
chen45464546willdeacon
authored andcommitted
iommu/arm-smmu: Warn once when the perfetcher errata patch fails to apply
Default reset value of secure banked register SMMU_sACR.cache_lock is 1. If it is not been set to 0 by secure software(eg: atf), the non-secure linux cannot clear ARM_MMU500_ACTLR_CPRE bit. In this situation, the prefetcher errata is not applied successfully, warn once. Signed-off-by: Chen Lin <[email protected]> Link: https://lore.kernel.org/r/[email protected] [will: Tweaked wording of diagnostic] Signed-off-by: Will Deacon <[email protected]>
1 parent 9abf231 commit f87f6e5

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

drivers/iommu/arm/arm-smmu/arm-smmu-impl.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,9 @@ int arm_mmu500_reset(struct arm_smmu_device *smmu)
136136
reg = arm_smmu_cb_read(smmu, i, ARM_SMMU_CB_ACTLR);
137137
reg &= ~ARM_MMU500_ACTLR_CPRE;
138138
arm_smmu_cb_write(smmu, i, ARM_SMMU_CB_ACTLR, reg);
139+
reg = arm_smmu_cb_read(smmu, i, ARM_SMMU_CB_ACTLR);
140+
if (reg & ARM_MMU500_ACTLR_CPRE)
141+
dev_warn_once(smmu->dev, "Failed to disable prefetcher [errata #841119 and #826419], check ACR.CACHE_LOCK\n");
139142
}
140143

141144
return 0;

0 commit comments

Comments
 (0)