~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to arch/mips/kernel/smtc.c

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
677
677
         */
678
678
}
679
679
 
680
 
void smtc_forward_irq(unsigned int irq)
 
680
void smtc_forward_irq(struct irq_data *d)
681
681
{
 
682
        unsigned int irq = d->irq;
682
683
        int target;
683
684
 
684
685
        /*
692
693
         * and efficiency, we just pick the easiest one to find.
693
694
         */
694
695
 
695
 
        target = cpumask_first(irq_desc[irq].affinity);
 
696
        target = cpumask_first(d->affinity);
696
697
 
697
698
        /*
698
699
         * We depend on the platform code to have correctly processed
707
708
         */
708
709
 
709
710
        /* If no one is eligible, service locally */
710
 
        if (target >= NR_CPUS) {
 
711
        if (target >= NR_CPUS)
711
712
                do_IRQ_no_affinity(irq);
712
 
                return;
713
 
        }
714
 
 
715
 
        smtc_send_ipi(target, IRQ_AFFINITY_IPI, irq);
 
713
        else
 
714
                smtc_send_ipi(target, IRQ_AFFINITY_IPI, irq);
716
715
}
717
716
 
718
717
#endif /* CONFIG_MIPS_MT_SMTC_IRQAFF */
930
929
 
931
930
static void ipi_resched_interrupt(void)
932
931
{
933
 
        /* Return from interrupt should be enough to cause scheduler check */
 
932
        scheduler_ipi();
934
933
}
935
934
 
936
935
static void ipi_call_interrupt(void)
1147
1146
 
1148
1147
        setup_irq_smtc(cpu_ipi_irq, &irq_ipi, (0x100 << MIPS_CPU_IPI_IRQ));
1149
1148
 
1150
 
        set_irq_handler(cpu_ipi_irq, handle_percpu_irq);
 
1149
        irq_set_handler(cpu_ipi_irq, handle_percpu_irq);
1151
1150
}
1152
1151
 
1153
1152
/*