Commit 9b4d65f918dd84a479552b86ef2cde389926738f
Committed by
Tom Rini
1 parent
5902f4ce0f
Exists in
v2017.01-smarct4x
and in
37 other branches
ARM: Introduce erratum workaround for 621766
621766: Under a specific set of conditions, executing a sequence of NEON or vfp load instructions can cause processor deadlock Impacts: Every Cortex-A8 processors with revision lower than r2p1 Work around: Set L1NEON to 1 Based on ARM errata Document revision 20.0 (13 Nov 2010) Signed-off-by: Nishanth Menon <nm@ti.com> Tested-by: Matt Porter <mporter@konsulko.com> Reviewed-by: Tom Rini <trini@konsulko.com>
Showing 2 changed files with 14 additions and 0 deletions Side-by-side Diff
README
arch/arm/cpu/armv7/start.S
... | ... | @@ -215,6 +215,19 @@ |
215 | 215 | skip_errata_430973: |
216 | 216 | #endif |
217 | 217 | |
218 | +#ifdef CONFIG_ARM_ERRATA_621766 | |
219 | + cmp r2, #0x21 @ Only on < r2p1 | |
220 | + bge skip_errata_621766 | |
221 | + | |
222 | + mrc p15, 0, r0, c1, c0, 1 @ Read ACR | |
223 | + orr r0, r0, #(0x1 << 5) @ Set L1NEON bit | |
224 | + push {r1-r5} @ Save the cpu info registers | |
225 | + bl v7_arch_cp15_set_acr | |
226 | + pop {r1-r5} @ Restore the cpu info - fall through | |
227 | + | |
228 | +skip_errata_621766: | |
229 | +#endif | |
230 | + | |
218 | 231 | mov pc, r5 @ back to my caller |
219 | 232 | ENDPROC(cpu_init_cp15) |
220 | 233 |