diff options
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r-- | arch/powerpc/platforms/cell/interrupt.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c index 151fd8b82d63..04f74f9f9ab6 100644 --- a/arch/powerpc/platforms/cell/interrupt.c +++ b/arch/powerpc/platforms/cell/interrupt.c | |||
@@ -158,6 +158,18 @@ static unsigned int iic_get_irq(void) | |||
158 | return virq; | 158 | return virq; |
159 | } | 159 | } |
160 | 160 | ||
161 | void iic_setup_cpu(void) | ||
162 | { | ||
163 | out_be64(&__get_cpu_var(iic).regs->prio, 0xff); | ||
164 | } | ||
165 | |||
166 | u8 iic_get_target_id(int cpu) | ||
167 | { | ||
168 | return per_cpu(iic, cpu).target_id; | ||
169 | } | ||
170 | |||
171 | EXPORT_SYMBOL_GPL(iic_get_target_id); | ||
172 | |||
161 | #ifdef CONFIG_SMP | 173 | #ifdef CONFIG_SMP |
162 | 174 | ||
163 | /* Use the highest interrupt priorities for IPI */ | 175 | /* Use the highest interrupt priorities for IPI */ |
@@ -166,29 +178,17 @@ static inline int iic_ipi_to_irq(int ipi) | |||
166 | return IIC_IRQ_TYPE_IPI + 0xf - ipi; | 178 | return IIC_IRQ_TYPE_IPI + 0xf - ipi; |
167 | } | 179 | } |
168 | 180 | ||
169 | void iic_setup_cpu(void) | ||
170 | { | ||
171 | out_be64(&__get_cpu_var(iic).regs->prio, 0xff); | ||
172 | } | ||
173 | |||
174 | void iic_cause_IPI(int cpu, int mesg) | 181 | void iic_cause_IPI(int cpu, int mesg) |
175 | { | 182 | { |
176 | out_be64(&per_cpu(iic, cpu).regs->generate, (0xf - mesg) << 4); | 183 | out_be64(&per_cpu(iic, cpu).regs->generate, (0xf - mesg) << 4); |
177 | } | 184 | } |
178 | 185 | ||
179 | u8 iic_get_target_id(int cpu) | ||
180 | { | ||
181 | return per_cpu(iic, cpu).target_id; | ||
182 | } | ||
183 | EXPORT_SYMBOL_GPL(iic_get_target_id); | ||
184 | |||
185 | struct irq_host *iic_get_irq_host(int node) | 186 | struct irq_host *iic_get_irq_host(int node) |
186 | { | 187 | { |
187 | return iic_host; | 188 | return iic_host; |
188 | } | 189 | } |
189 | EXPORT_SYMBOL_GPL(iic_get_irq_host); | 190 | EXPORT_SYMBOL_GPL(iic_get_irq_host); |
190 | 191 | ||
191 | |||
192 | static irqreturn_t iic_ipi_action(int irq, void *dev_id) | 192 | static irqreturn_t iic_ipi_action(int irq, void *dev_id) |
193 | { | 193 | { |
194 | int ipi = (int)(long)dev_id; | 194 | int ipi = (int)(long)dev_id; |