diff options
| author | Anup Patel <[email protected]> | 2023-11-21 14:49:42 +0530 |
|---|---|---|
| committer | Anup Patel <[email protected]> | 2023-11-26 18:45:06 +0530 |
| commit | f520256d03da84e7ff8bddd084ef873192f46304 (patch) | |
| tree | b7903d467c55604303472f67190ffe8ab8a87b7f /lib/utils/ipi | |
| parent | 791704cd09c019decf438f6e4f56423cc95cb66a (diff) | |
lib: sbi: Allow relaxed MMIO writes in device ipi_send() callback
Currently, we have a smp_wmb() between atomic_raw_set_bit() and
ipi_send() device callback whereas the MMIO writes done by the
device ipi_send() callback will also include a barrier.
We can avoid unnecessary/redundant barriers described above by
allowing relaxed MMIO writes in device ipi_send() callback. To
achieve this, we simply use wmb() instead of smp_wmb() before
calling device ipi_send().
Signed-off-by: Anup Patel <[email protected]>
Reported-by: Bo Gan <[email protected]>
Diffstat (limited to 'lib/utils/ipi')
| -rw-r--r-- | lib/utils/ipi/aclint_mswi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/utils/ipi/aclint_mswi.c b/lib/utils/ipi/aclint_mswi.c index a3bfb4a9..bfd6a45b 100644 --- a/lib/utils/ipi/aclint_mswi.c +++ b/lib/utils/ipi/aclint_mswi.c @@ -41,7 +41,7 @@ static void mswi_ipi_send(u32 hart_index) /* Set ACLINT IPI */ msip = (void *)mswi->addr; - writel(1, &msip[sbi_hartindex_to_hartid(hart_index) - + writel_relaxed(1, &msip[sbi_hartindex_to_hartid(hart_index) - mswi->first_hartid]); } |
