lib: sbi: skip wait_for_coldboot when coolboot done
authorXiang W <wxjstz@126.com>
Sun, 10 Dec 2023 15:21:39 +0000 (23:21 +0800)
committerAnup Patel <anup@brainfault.org>
Mon, 11 Dec 2023 04:06:57 +0000 (09:36 +0530)
When warmboot via HSM, coolboot has been completed and
wait_for_coldboot can be skipped to speed up.

Signed-off-by: Xiang W <wxjstz@126.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
lib/sbi/sbi_init.c

index 005985d9eb34fa6755e59e44a12d84fe1252d3dc..6a98e134a9353eef7771cf3bf56b518fb5eecd29 100644 (file)
@@ -195,6 +195,9 @@ static void wait_for_coldboot(struct sbi_scratch *scratch, u32 hartid)
 {
        unsigned long saved_mie, cmip;
 
+       if (__smp_load_acquire(&coldboot_done))
+               return;
+
        /* Save MIE CSR */
        saved_mie = csr_read(CSR_MIE);