|
@@ -597,42 +597,6 @@ static void __init mpic_scan_ht_pics(struct mpic *mpic)
|
|
|
|
|
|
#endif /* CONFIG_MPIC_U3_HT_IRQS */
|
|
|
|
|
|
-#ifdef CONFIG_SMP
|
|
|
-static int irq_choose_cpu(const struct cpumask *mask)
|
|
|
-{
|
|
|
- int cpuid;
|
|
|
-
|
|
|
- if (cpumask_equal(mask, cpu_all_mask)) {
|
|
|
- static int irq_rover = 0;
|
|
|
- static DEFINE_RAW_SPINLOCK(irq_rover_lock);
|
|
|
- unsigned long flags;
|
|
|
-
|
|
|
- /* Round-robin distribution... */
|
|
|
- do_round_robin:
|
|
|
- raw_spin_lock_irqsave(&irq_rover_lock, flags);
|
|
|
-
|
|
|
- irq_rover = cpumask_next(irq_rover, cpu_online_mask);
|
|
|
- if (irq_rover >= nr_cpu_ids)
|
|
|
- irq_rover = cpumask_first(cpu_online_mask);
|
|
|
-
|
|
|
- cpuid = irq_rover;
|
|
|
-
|
|
|
- raw_spin_unlock_irqrestore(&irq_rover_lock, flags);
|
|
|
- } else {
|
|
|
- cpuid = cpumask_first_and(mask, cpu_online_mask);
|
|
|
- if (cpuid >= nr_cpu_ids)
|
|
|
- goto do_round_robin;
|
|
|
- }
|
|
|
-
|
|
|
- return get_hard_smp_processor_id(cpuid);
|
|
|
-}
|
|
|
-#else
|
|
|
-static int irq_choose_cpu(const struct cpumask *mask)
|
|
|
-{
|
|
|
- return hard_smp_processor_id();
|
|
|
-}
|
|
|
-#endif
|
|
|
-
|
|
|
/* Find an mpic associated with a given linux interrupt */
|
|
|
static struct mpic *mpic_find(unsigned int irq)
|
|
|
{
|