diff options
author | Atish Patra <atish.patra@wdc.com> | 2019-08-14 18:02:15 -0700 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2019-08-16 08:42:58 +0530 |
commit | 75229705a0bf804099fbf32b61d7f6ba459226ec (patch) | |
tree | 70b560e35bb5dc9d9bd3d3976bd6c7a1107e1a45 /lib/utils/sys | |
parent | 897a97a6af31174eb2c6058c6ceb9d3ccc6c6e3c (diff) |
platform: Remove the ipi_sync method from all platforms.
OpenSBI manages outstanding TLB flush requests by queueing
them in a fifo synchronously. An ipi sync which uses an
atomic operation on MMIO address is no longer required.
Remove the ipi sync method from platform header and all usage.
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Diffstat (limited to 'lib/utils/sys')
-rw-r--r-- | lib/utils/sys/clint.c | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/lib/utils/sys/clint.c b/lib/utils/sys/clint.c index 055a513..d58e4e6 100644 --- a/lib/utils/sys/clint.c +++ b/lib/utils/sys/clint.c @@ -25,29 +25,6 @@ void clint_ipi_send(u32 target_hart) writel(1, &clint_ipi[target_hart]); } -void clint_ipi_sync(u32 target_hart) -{ - u32 target_ipi, incoming_ipi; - u32 source_hart = sbi_current_hartid(); - - if (clint_ipi_hart_count <= target_hart) - return; - - /* Wait until target HART has handled IPI */ - incoming_ipi = 0; - while (1) { - target_ipi = readl(&clint_ipi[target_hart]); - if (!target_ipi) - break; - - incoming_ipi |= - atomic_raw_xchg_uint(&clint_ipi[source_hart], 0); - } - - if (incoming_ipi) - writel(incoming_ipi, &clint_ipi[source_hart]); -} - void clint_ipi_clear(u32 target_hart) { if (clint_ipi_hart_count <= target_hart) |