diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-02-17 21:22:52 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-02-18 22:52:30 -0500 |
commit | 5181e7909b28abe5ce6674412a74167fd074824a (patch) | |
tree | 368bf4a14400a5a2ea2c4f842c6bd1fdac582c50 | |
parent | 7d725bdc1b25b9c4ff7c14e43d0d0d6c3d677727 (diff) |
powerpc: Convert beatic_irq_mask_lock to raw_spinlock
beatic_irq_mask_lock needs to be a real spinlock in RT. Convert it to
raw_spinlock.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r-- | arch/powerpc/platforms/cell/beat_interrupt.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/powerpc/platforms/cell/beat_interrupt.c b/arch/powerpc/platforms/cell/beat_interrupt.c index 8d29290f6070..682af97321a8 100644 --- a/arch/powerpc/platforms/cell/beat_interrupt.c +++ b/arch/powerpc/platforms/cell/beat_interrupt.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #include "beat_wrapper.h" | 30 | #include "beat_wrapper.h" |
31 | 31 | ||
32 | #define MAX_IRQS NR_IRQS | 32 | #define MAX_IRQS NR_IRQS |
33 | static DEFINE_SPINLOCK(beatic_irq_mask_lock); | 33 | static DEFINE_RAW_SPINLOCK(beatic_irq_mask_lock); |
34 | static uint64_t beatic_irq_mask_enable[(MAX_IRQS+255)/64]; | 34 | static uint64_t beatic_irq_mask_enable[(MAX_IRQS+255)/64]; |
35 | static uint64_t beatic_irq_mask_ack[(MAX_IRQS+255)/64]; | 35 | static uint64_t beatic_irq_mask_ack[(MAX_IRQS+255)/64]; |
36 | 36 | ||
@@ -65,30 +65,30 @@ static void beatic_mask_irq(unsigned int irq_plug) | |||
65 | { | 65 | { |
66 | unsigned long flags; | 66 | unsigned long flags; |
67 | 67 | ||
68 | spin_lock_irqsave(&beatic_irq_mask_lock, flags); | 68 | raw_spin_lock_irqsave(&beatic_irq_mask_lock, flags); |
69 | beatic_irq_mask_enable[irq_plug/64] &= ~(1UL << (63 - (irq_plug%64))); | 69 | beatic_irq_mask_enable[irq_plug/64] &= ~(1UL << (63 - (irq_plug%64))); |
70 | beatic_update_irq_mask(irq_plug); | 70 | beatic_update_irq_mask(irq_plug); |
71 | spin_unlock_irqrestore(&beatic_irq_mask_lock, flags); | 71 | raw_spin_unlock_irqrestore(&beatic_irq_mask_lock, flags); |
72 | } | 72 | } |
73 | 73 | ||
74 | static void beatic_unmask_irq(unsigned int irq_plug) | 74 | static void beatic_unmask_irq(unsigned int irq_plug) |
75 | { | 75 | { |
76 | unsigned long flags; | 76 | unsigned long flags; |
77 | 77 | ||
78 | spin_lock_irqsave(&beatic_irq_mask_lock, flags); | 78 | raw_spin_lock_irqsave(&beatic_irq_mask_lock, flags); |
79 | beatic_irq_mask_enable[irq_plug/64] |= 1UL << (63 - (irq_plug%64)); | 79 | beatic_irq_mask_enable[irq_plug/64] |= 1UL << (63 - (irq_plug%64)); |
80 | beatic_update_irq_mask(irq_plug); | 80 | beatic_update_irq_mask(irq_plug); |
81 | spin_unlock_irqrestore(&beatic_irq_mask_lock, flags); | 81 | raw_spin_unlock_irqrestore(&beatic_irq_mask_lock, flags); |
82 | } | 82 | } |
83 | 83 | ||
84 | static void beatic_ack_irq(unsigned int irq_plug) | 84 | static void beatic_ack_irq(unsigned int irq_plug) |
85 | { | 85 | { |
86 | unsigned long flags; | 86 | unsigned long flags; |
87 | 87 | ||
88 | spin_lock_irqsave(&beatic_irq_mask_lock, flags); | 88 | raw_spin_lock_irqsave(&beatic_irq_mask_lock, flags); |
89 | beatic_irq_mask_ack[irq_plug/64] &= ~(1UL << (63 - (irq_plug%64))); | 89 | beatic_irq_mask_ack[irq_plug/64] &= ~(1UL << (63 - (irq_plug%64))); |
90 | beatic_update_irq_mask(irq_plug); | 90 | beatic_update_irq_mask(irq_plug); |
91 | spin_unlock_irqrestore(&beatic_irq_mask_lock, flags); | 91 | raw_spin_unlock_irqrestore(&beatic_irq_mask_lock, flags); |
92 | } | 92 | } |
93 | 93 | ||
94 | static void beatic_end_irq(unsigned int irq_plug) | 94 | static void beatic_end_irq(unsigned int irq_plug) |
@@ -103,10 +103,10 @@ static void beatic_end_irq(unsigned int irq_plug) | |||
103 | 103 | ||
104 | printk(KERN_ERR "IRQ over-downcounted, plug %d\n", irq_plug); | 104 | printk(KERN_ERR "IRQ over-downcounted, plug %d\n", irq_plug); |
105 | } | 105 | } |
106 | spin_lock_irqsave(&beatic_irq_mask_lock, flags); | 106 | raw_spin_lock_irqsave(&beatic_irq_mask_lock, flags); |
107 | beatic_irq_mask_ack[irq_plug/64] |= 1UL << (63 - (irq_plug%64)); | 107 | beatic_irq_mask_ack[irq_plug/64] |= 1UL << (63 - (irq_plug%64)); |
108 | beatic_update_irq_mask(irq_plug); | 108 | beatic_update_irq_mask(irq_plug); |
109 | spin_unlock_irqrestore(&beatic_irq_mask_lock, flags); | 109 | raw_spin_unlock_irqrestore(&beatic_irq_mask_lock, flags); |
110 | } | 110 | } |
111 | 111 | ||
112 | static struct irq_chip beatic_pic = { | 112 | static struct irq_chip beatic_pic = { |