summaryrefslogtreecommitdiff
path: root/arch/mips/loongson64/smp.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-07-04 06:05:28 -1000
committerLinus Torvalds <torvalds@linux-foundation.org>2026-07-04 06:05:28 -1000
commit410430b616a739eb395143f4f608d4339a3b0a8f (patch)
treed8adae9cb020ed909ff2402ecd27bfa9df59023d /arch/mips/loongson64/smp.c
parent1e9cdc2ea15adf4a821eefedabf6c0c8cf0b6a55 (diff)
parent0880884b36d1230a80a0322abc9b9c7b26942b65 (diff)
downloadlinux-stable-410430b616a739eb395143f4f608d4339a3b0a8f.tar.gz
linux-stable-410430b616a739eb395143f4f608d4339a3b0a8f.zip
Merge tag 'mips-fixes_7.2_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux
Pull MIPS fixes from Thomas Bogendoerfer. * tag 'mips-fixes_7.2_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: MIPS: configs: Enable the current Ingenic USB PHY symbol MIPS: loongson64: add IRQ work based on self-IPI MIPS: mm: Add check for highmem before removing memory block mips: Add build salt to the vDSO MIPS: DEC: Ensure RTC platform device deregistration upon failure
Diffstat (limited to 'arch/mips/loongson64/smp.c')
-rw-r--r--arch/mips/loongson64/smp.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/mips/loongson64/smp.c b/arch/mips/loongson64/smp.c
index 147acd972a07..e584299d0fde 100644
--- a/arch/mips/loongson64/smp.c
+++ b/arch/mips/loongson64/smp.c
@@ -381,6 +381,13 @@ loongson3_send_ipi_mask(const struct cpumask *mask, unsigned int action)
ipi_write_action(cpu_logical_map(i), (u32)action);
}
+#ifdef CONFIG_IRQ_WORK
+void arch_irq_work_raise(void)
+{
+ loongson3_send_ipi_single(smp_processor_id(), SMP_IRQ_WORK);
+}
+#endif
+
static irqreturn_t loongson3_ipi_interrupt(int irq, void *dev_id)
{
int cpu = smp_processor_id();
@@ -397,6 +404,9 @@ static irqreturn_t loongson3_ipi_interrupt(int irq, void *dev_id)
irq_exit();
}
+ if (action & SMP_IRQ_WORK)
+ irq_work_run();
+
return IRQ_HANDLED;
}