tile: support arch_irq_work_raise
Tile includes a hypervisor hook to deliver messages to arbitrary tiles, so we can use that to raise an interrupt as soon as possible on our own core. Unfortunately the Tilera hypervisor disabled that support on principle in previous releases, but it will be available in MDE 4.3.4 and later. Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com> Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
This commit is contained in:
@@ -16,7 +16,6 @@ generic-y += ioctl.h
|
||||
generic-y += ioctls.h
|
||||
generic-y += ipcbuf.h
|
||||
generic-y += irq_regs.h
|
||||
generic-y += irq_work.h
|
||||
generic-y += local.h
|
||||
generic-y += local64.h
|
||||
generic-y += mcs_spinlock.h
|
||||
|
14
arch/tile/include/asm/irq_work.h
Normal file
14
arch/tile/include/asm/irq_work.h
Normal file
@@ -0,0 +1,14 @@
|
||||
#ifndef __ASM_IRQ_WORK_H
|
||||
#define __ASM_IRQ_WORK_H
|
||||
|
||||
static inline bool arch_irq_work_has_interrupt(void)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
extern bool self_interrupt_ok;
|
||||
return self_interrupt_ok;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* __ASM_IRQ_WORK_H */
|
@@ -69,6 +69,7 @@ static inline int xy_to_cpu(int x, int y)
|
||||
#define MSG_TAG_STOP_CPU 2
|
||||
#define MSG_TAG_CALL_FUNCTION_MANY 3
|
||||
#define MSG_TAG_CALL_FUNCTION_SINGLE 4
|
||||
#define MSG_TAG_IRQ_WORK 5
|
||||
|
||||
/* Hook for the generic smp_call_function_many() routine. */
|
||||
static inline void arch_send_call_function_ipi_mask(struct cpumask *mask)
|
||||
|
Reference in New Issue
Block a user