|
@@ -158,6 +158,18 @@ static unsigned int iic_get_irq(void)
|
|
|
return virq;
|
|
|
}
|
|
|
|
|
|
+void iic_setup_cpu(void)
|
|
|
+{
|
|
|
+ out_be64(&__get_cpu_var(iic).regs->prio, 0xff);
|
|
|
+}
|
|
|
+
|
|
|
+u8 iic_get_target_id(int cpu)
|
|
|
+{
|
|
|
+ return per_cpu(iic, cpu).target_id;
|
|
|
+}
|
|
|
+
|
|
|
+EXPORT_SYMBOL_GPL(iic_get_target_id);
|
|
|
+
|
|
|
#ifdef CONFIG_SMP
|
|
|
|
|
|
/* Use the highest interrupt priorities for IPI */
|
|
@@ -166,29 +178,17 @@ static inline int iic_ipi_to_irq(int ipi)
|
|
|
return IIC_IRQ_TYPE_IPI + 0xf - ipi;
|
|
|
}
|
|
|
|
|
|
-void iic_setup_cpu(void)
|
|
|
-{
|
|
|
- out_be64(&__get_cpu_var(iic).regs->prio, 0xff);
|
|
|
-}
|
|
|
-
|
|
|
void iic_cause_IPI(int cpu, int mesg)
|
|
|
{
|
|
|
out_be64(&per_cpu(iic, cpu).regs->generate, (0xf - mesg) << 4);
|
|
|
}
|
|
|
|
|
|
-u8 iic_get_target_id(int cpu)
|
|
|
-{
|
|
|
- return per_cpu(iic, cpu).target_id;
|
|
|
-}
|
|
|
-EXPORT_SYMBOL_GPL(iic_get_target_id);
|
|
|
-
|
|
|
struct irq_host *iic_get_irq_host(int node)
|
|
|
{
|
|
|
return iic_host;
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(iic_get_irq_host);
|
|
|
|
|
|
-
|
|
|
static irqreturn_t iic_ipi_action(int irq, void *dev_id)
|
|
|
{
|
|
|
int ipi = (int)(long)dev_id;
|