14 #include <linux/kernel.h>
16 #include <linux/bitops.h>
27 #define get_current_vpe() \
28 ((read_c0_tcbind() >> TCBIND_CURVPE_SHIFT) & TCBIND_CURVPE)
40 static inline void per_wmb(
void)
43 volatile u32 dummy_read;
50 static inline void unmask_per_irq(
struct irq_data *
d)
56 spin_unlock_irqrestore(&per_lock, flags);
63 static inline void mask_per_irq(
struct irq_data *
d)
69 spin_unlock_irqrestore(&per_lock, flags);
76 static inline void msp_per_irq_ack(
struct irq_data *
d)
88 static int msp_per_irq_set_affinity(
struct irq_data *
d,
97 static struct irq_chip msp_per_irq_controller = {
99 .irq_enable = unmask_per_irq,
100 .irq_disable = mask_per_irq,
101 .irq_ack = msp_per_irq_ack,
103 .irq_set_affinity = msp_per_irq_set_affinity,
116 #ifdef CONFIG_MIPS_MT_SMTC
128 pending = per_status & per_mask;