MIPS: Loongson64: smp: Use nudge_writes instead of wbflush
wbflush here intends to let other cores see the results ASAP, nudge_writes fits this purpose better. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
This commit is contained in:
parent
5bd3990723
commit
ac24cc1835
|
@ -42,13 +42,13 @@ static uint32_t core0_c0count[NR_CPUS];
|
||||||
#define loongson3_ipi_write32(action, addr) \
|
#define loongson3_ipi_write32(action, addr) \
|
||||||
do { \
|
do { \
|
||||||
writel(action, addr); \
|
writel(action, addr); \
|
||||||
__wbflush(); \
|
nudge_writes(); \
|
||||||
} while (0)
|
} while (0)
|
||||||
/* write a 64bit value to ipi register */
|
/* write a 64bit value to ipi register */
|
||||||
#define loongson3_ipi_write64(action, addr) \
|
#define loongson3_ipi_write64(action, addr) \
|
||||||
do { \
|
do { \
|
||||||
writeq(action, addr); \
|
writeq(action, addr); \
|
||||||
__wbflush(); \
|
nudge_writes(); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
static u32 (*ipi_read_clear)(int cpu);
|
static u32 (*ipi_read_clear)(int cpu);
|
||||||
|
@ -418,7 +418,7 @@ static irqreturn_t loongson3_ipi_interrupt(int irq, void *dev_id)
|
||||||
c0count = c0count ? c0count : 1;
|
c0count = c0count ? c0count : 1;
|
||||||
for (i = 1; i < nr_cpu_ids; i++)
|
for (i = 1; i < nr_cpu_ids; i++)
|
||||||
core0_c0count[i] = c0count;
|
core0_c0count[i] = c0count;
|
||||||
__wbflush(); /* Let others see the result ASAP */
|
nudge_writes(); /* Let others see the result ASAP */
|
||||||
}
|
}
|
||||||
|
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
|
Loading…
Reference in New Issue