When TPL has already set up the CPU, don't do it again. This existing
code actually has this backwards, so fix it.

Signed-off-by: Simon Glass <s...@chromium.org>
Reviewed-by: Bin Meng <bmeng...@gmail.com>
---

(no changes since v1)

 arch/x86/cpu/broadwell/cpu.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/x86/cpu/broadwell/cpu.c b/arch/x86/cpu/broadwell/cpu.c
index 560b1f7893f6..cbd4a3b67973 100644
--- a/arch/x86/cpu/broadwell/cpu.c
+++ b/arch/x86/cpu/broadwell/cpu.c
@@ -11,6 +11,7 @@
 #include <event.h>
 #include <init.h>
 #include <log.h>
+#include <spl.h>
 #include <asm/cpu.h>
 #include <asm/cpu_x86.h>
 #include <asm/cpu_common.h>
@@ -67,12 +68,11 @@ int arch_cpu_init(void)
 {
        post_code(POST_CPU_INIT);
 
-#ifdef CONFIG_TPL
        /* Do a mini-init if TPL has already done the full init */
-       return x86_cpu_reinit_f();
-#else
-       return x86_cpu_init_f();
-#endif
+       if (IS_ENABLED(CONFIG_TPL) && spl_phase() != PHASE_TPL)
+               return x86_cpu_reinit_f();
+       else
+               return x86_cpu_init_f();
 }
 
 int checkcpu(void)
-- 
2.42.0.283.g2d96d420d3-goog

Reply via email to