Cortex-A53: Fix reporting of missing errata when not needed
Errata 819472, 824069, and 827319 are currently reported in a warning as
missing during boot for platforms that do not need them. Only warn when
the errata is needed for a given revision but not compiled in like other
errata workarounds.
Fixes: bd393704d2b1 ("Cortex-A53: Workarounds for 819472, 824069 and 827319")
Signed-off-by: Andrew F. Davis <afd@ti.com>
Change-Id: Ifd757b3d0e73a9bd465b98dc20648b6c13397d8d
diff --git a/lib/cpus/aarch64/cortex_a53.S b/lib/cpus/aarch64/cortex_a53.S
index f20082d..6fd3c53 100644
--- a/lib/cpus/aarch64/cortex_a53.S
+++ b/lib/cpus/aarch64/cortex_a53.S
@@ -45,31 +45,35 @@
/* ---------------------------------------------------
* Errata Workaround for Cortex A53 Errata #819472.
* This applies only to revision <= r0p1 of Cortex A53.
+ * Due to the nature of the errata it is applied unconditionally
+ * when built in, report it as applicable in this case
* ---------------------------------------------------
*/
func check_errata_819472
- /*
- * Even though this is only needed for revision <= r0p1, it
- * is always applied due to limitations of the current
- * errata framework.
- */
- mov x0, #ERRATA_APPLIES
+#if ERRATA_A53_819472
+ mov x0, #ERRATA_APPLIES
ret
+#else
+ mov x1, #0x01
+ b cpu_rev_var_ls
+#endif
endfunc check_errata_819472
/* ---------------------------------------------------
* Errata Workaround for Cortex A53 Errata #824069.
* This applies only to revision <= r0p2 of Cortex A53.
+ * Due to the nature of the errata it is applied unconditionally
+ * when built in, report it as applicable in this case
* ---------------------------------------------------
*/
func check_errata_824069
- /*
- * Even though this is only needed for revision <= r0p2, it
- * is always applied due to limitations of the current
- * errata framework.
- */
- mov x0, #ERRATA_APPLIES
+#if ERRATA_A53_824069
+ mov x0, #ERRATA_APPLIES
ret
+#else
+ mov x1, #0x02
+ b cpu_rev_var_ls
+#endif
endfunc check_errata_824069
/* --------------------------------------------------
@@ -103,16 +107,18 @@
/* ---------------------------------------------------
* Errata Workaround for Cortex A53 Errata #827319.
* This applies only to revision <= r0p2 of Cortex A53.
+ * Due to the nature of the errata it is applied unconditionally
+ * when built in, report it as applicable in this case
* ---------------------------------------------------
*/
func check_errata_827319
- /*
- * Even though this is only needed for revision <= r0p2, it
- * is always applied due to limitations of the current
- * errata framework.
- */
- mov x0, #ERRATA_APPLIES
+#if ERRATA_A53_827319
+ mov x0, #ERRATA_APPLIES
ret
+#else
+ mov x1, #0x02
+ b cpu_rev_var_ls
+#endif
endfunc check_errata_827319
/* ---------------------------------------------------------------------