riscv: Clean up IPI initialization code
authorSean Anderson <seanga2@gmail.com>
Wed, 24 Jun 2020 10:41:18 +0000 (06:41 -0400)
committerAndes <uboot@andestech.com>
Wed, 1 Jul 2020 07:01:22 +0000 (15:01 +0800)
commit40686c394e533fec765fe237936e353c84e73fff
tree10bb96dd905e11d36f6e8f81806f167b5b66676a
parent9472630337e7c4ac442066b5a752aaa8c3b4d4a6
riscv: Clean up IPI initialization code

The previous IPI code initialized the device whenever the first call was
made to a riscv_*_ipi function. This made it difficult to determine when
the IPI device was initialized. This patch introduces a new function
riscv_init_ipi. It is called once during arch_cpu_init_dm. In SPL, it is
called in spl_invoke_opensbi. Before this point, no riscv_*_ipi functions
should be called.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Rick Chen <rick@andestech.com>
arch/riscv/cpu/cpu.c
arch/riscv/include/asm/smp.h
arch/riscv/lib/andes_plic.c
arch/riscv/lib/sbi_ipi.c
arch/riscv/lib/sifive_clint.c
arch/riscv/lib/smp.c
common/spl/spl_opensbi.c