u-boot/arch/riscv/include/asm
Lukas Auer 90ae281437 riscv: add option to wait for ack from secondary harts in smp functions
Add a wait option to smp_call_function() to wait for the secondary harts
to acknowledge the call-function request. The request is considered to
be acknowledged once each secondary hart has cleared the corresponding
IPI.

As part of the call-function request, the secondary harts invalidate the
instruction cache after clearing the IPI. This adds a delay between
acknowledgment (clear IPI) and fulfillment (call function) of the
request. We want to use the acknowledgment to be able to judge when the
request has been completed. Remove the delay by clearing the IPI after
cache invalidation and just before calling the function from the
request.

Signed-off-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
Reviewed-by: Rick Chen <rick@andestech.com>
Tested-by: Rick Chen <rick@andestech.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
2019-12-10 08:23:10 +08:00
..
arch-generic gpio: sifive: add support for DM based gpio driver for FU540-SoC 2019-10-18 09:04:01 +08:00
asm.h riscv: Sync csr.h with Linux kernel v5.2 2019-08-15 13:42:28 +08:00
barrier.h riscv: make use of the barrier functions from Linux 2018-11-26 13:57:30 +08:00
bitops.h riscv: Define PLATFORM__CLEAR_BIT for generic_clear_bit() 2018-05-15 21:44:05 -04:00
byteorder.h riscv: nx25: include: Add header files to support RISC-V 2018-01-12 08:05:12 -05:00
cache.h riscv: cache: Implement i/dcache [status, enable, disable] 2018-11-26 13:58:01 +08:00
config.h riscv: Enable CONFIG_SYS_BOOT_RAMDISK_HIGH for using initrd 2019-02-27 09:12:34 +08:00
csr.h riscv: Access CSRs using CSR numbers 2019-08-15 13:42:28 +08:00
dma-mapping.h riscv: Add asm/dma-mapping.h for DMA mappings 2019-02-27 09:12:33 +08:00
encoding.h riscv: add run mode configuration for SPL 2019-08-26 16:07:42 +08:00
global_data.h riscv: Introduce CONFIG_XIP to support booting from flash 2019-05-09 16:46:46 +08:00
gpio.h gpio: sifive: add support for DM based gpio driver for FU540-SoC 2019-10-18 09:04:01 +08:00
io.h riscv: do not reimplement generic io functions 2018-11-26 13:57:30 +08:00
linkage.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
posix_types.h riscv: fix use of incorrectly sized variables 2018-11-26 13:57:29 +08:00
processor.h riscv: nx25: include: Add header files to support RISC-V 2018-01-12 08:05:12 -05:00
ptrace.h riscv: checkpatch: Fix alignment should match open parenthesis 2018-03-30 13:13:22 +08:00
sbi.h riscv: import the supervisor binary interface header file 2019-04-08 09:44:25 +08:00
sections.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
setjmp.h SPDX: Convert single license tags to Linux Kernel style 2018-05-29 14:44:21 +08:00
smp.h riscv: add option to wait for ack from secondary harts in smp functions 2019-12-10 08:23:10 +08:00
spl.h riscv: add SPL support 2019-08-26 16:07:42 +08:00
string.h riscv: checkpatch: Fix Macro argument reuse 2018-03-30 13:13:22 +08:00
syscon.h riscv: Add a SYSCON driver for Andestech's PLMT 2019-04-08 09:45:08 +08:00
system.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
types.h riscv: fix use of incorrectly sized variables 2018-11-26 13:57:29 +08:00
u-boot-riscv.h riscv: Add board_quiesce_devices stub 2018-05-29 14:43:12 +08:00
u-boot.h env: Drop environment.h header file where not needed 2019-08-11 16:43:41 -04:00
unaligned.h riscv: nx25: include: Add header files to support RISC-V 2018-01-12 08:05:12 -05:00