Lines Matching refs:action
42 #define loongson3_ipi_write32(action, addr) \ argument
44 writel(action, addr); \
48 #define loongson3_ipi_write64(action, addr) \ argument
50 writeq(action, addr); \
55 void (*ipi_write_action)(int cpu, u32 action);
59 u32 action; in csr_ipi_read_clear() local
62 action = csr_readl(LOONGSON_CSR_IPI_STATUS); in csr_ipi_read_clear()
64 csr_writel(action, LOONGSON_CSR_IPI_CLEAR); in csr_ipi_read_clear()
66 return action; in csr_ipi_read_clear()
69 static void csr_ipi_write_action(int cpu, u32 action) in csr_ipi_write_action() argument
73 while ((irq = ffs(action))) { in csr_ipi_write_action()
78 action &= ~BIT(irq - 1); in csr_ipi_write_action()
84 u32 action; in legacy_ipi_read_clear() local
87 action = loongson3_ipi_read32(ipi_status0_regs[cpu_logical_map(cpu)]); in legacy_ipi_read_clear()
89 loongson3_ipi_write32(action, ipi_clear0_regs[cpu_logical_map(cpu)]); in legacy_ipi_read_clear()
91 return action; in legacy_ipi_read_clear()
94 static void legacy_ipi_write_action(int cpu, u32 action) in legacy_ipi_write_action() argument
96 loongson3_ipi_write32((u32)action, ipi_set0_regs[cpu]); in legacy_ipi_write_action()
293 static void loongson3_send_ipi_single(int cpu, unsigned int action) in loongson3_send_ipi_single() argument
295 ipi_write_action(cpu_logical_map(cpu), (u32)action); in loongson3_send_ipi_single()
299 loongson3_send_ipi_mask(const struct cpumask *mask, unsigned int action) in loongson3_send_ipi_mask() argument
304 ipi_write_action(cpu_logical_map(i), (u32)action); in loongson3_send_ipi_mask()
311 unsigned int action, c0count; in loongson3_ipi_interrupt() local
313 action = ipi_read_clear(cpu); in loongson3_ipi_interrupt()
315 if (action & SMP_RESCHEDULE_YOURSELF) in loongson3_ipi_interrupt()
318 if (action & SMP_CALL_FUNCTION) { in loongson3_ipi_interrupt()
324 if (action & SMP_ASK_C0COUNT) { in loongson3_ipi_interrupt()