diff options
author | Sean Anderson | 2020-06-24 06:41:18 -0400 |
---|---|---|
committer | Andes | 2020-07-01 15:01:22 +0800 |
commit | 40686c394e533fec765fe237936e353c84e73fff (patch) | |
tree | 10bb96dd905e11d36f6e8f81806f167b5b66676a /common/spl/spl_opensbi.c | |
parent | 9472630337e7c4ac442066b5a752aaa8c3b4d4a6 (diff) |
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>
Diffstat (limited to 'common/spl/spl_opensbi.c')
-rw-r--r-- | common/spl/spl_opensbi.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/common/spl/spl_opensbi.c b/common/spl/spl_opensbi.c index e88136e6f39..defddac8f29 100644 --- a/common/spl/spl_opensbi.c +++ b/common/spl/spl_opensbi.c @@ -79,6 +79,11 @@ void spl_invoke_opensbi(struct spl_image_info *spl_image) invalidate_icache_all(); #ifdef CONFIG_SPL_SMP + /* Initialize the IPI before we use it */ + ret = riscv_init_ipi(); + if (ret) + hang(); + /* * Start OpenSBI on all secondary harts and wait for acknowledgment. * |