diff options
Diffstat (limited to 'arch/mips')
| -rw-r--r-- | arch/mips/include/asm/irq.h | 2 | ||||
| -rw-r--r-- | arch/mips/include/asm/sigcontext.h | 1 | ||||
| -rw-r--r-- | arch/mips/include/asm/swab.h | 2 | ||||
| -rw-r--r-- | arch/mips/kernel/irq-gic.c | 2 | ||||
| -rw-r--r-- | arch/mips/kernel/smtc.c | 6 | ||||
| -rw-r--r-- | arch/mips/mti-malta/malta-smtc.c | 5 | ||||
| -rw-r--r-- | arch/mips/sgi-ip22/ip22-int.c | 2 | ||||
| -rw-r--r-- | arch/mips/sgi-ip22/ip22-time.c | 2 | ||||
| -rw-r--r-- | arch/mips/sibyte/bcm1480/smp.c | 3 | ||||
| -rw-r--r-- | arch/mips/sibyte/sb1250/smp.c | 3 |
10 files changed, 17 insertions, 11 deletions
diff --git a/arch/mips/include/asm/irq.h b/arch/mips/include/asm/irq.h index abc62aa744ac..3214ade02d10 100644 --- a/arch/mips/include/asm/irq.h +++ b/arch/mips/include/asm/irq.h | |||
| @@ -66,7 +66,7 @@ extern void smtc_forward_irq(unsigned int irq); | |||
| 66 | */ | 66 | */ |
| 67 | #define IRQ_AFFINITY_HOOK(irq) \ | 67 | #define IRQ_AFFINITY_HOOK(irq) \ |
| 68 | do { \ | 68 | do { \ |
| 69 | if (!cpu_isset(smp_processor_id(), irq_desc[irq].affinity)) { \ | 69 | if (!cpumask_test_cpu(smp_processor_id(), irq_desc[irq].affinity)) {\ |
| 70 | smtc_forward_irq(irq); \ | 70 | smtc_forward_irq(irq); \ |
| 71 | irq_exit(); \ | 71 | irq_exit(); \ |
| 72 | return; \ | 72 | return; \ |
diff --git a/arch/mips/include/asm/sigcontext.h b/arch/mips/include/asm/sigcontext.h index 9ce0607d7a4e..9e89cf99d4e4 100644 --- a/arch/mips/include/asm/sigcontext.h +++ b/arch/mips/include/asm/sigcontext.h | |||
| @@ -9,6 +9,7 @@ | |||
| 9 | #ifndef _ASM_SIGCONTEXT_H | 9 | #ifndef _ASM_SIGCONTEXT_H |
| 10 | #define _ASM_SIGCONTEXT_H | 10 | #define _ASM_SIGCONTEXT_H |
| 11 | 11 | ||
| 12 | #include <linux/types.h> | ||
| 12 | #include <asm/sgidefs.h> | 13 | #include <asm/sgidefs.h> |
| 13 | 14 | ||
| 14 | #if _MIPS_SIM == _MIPS_SIM_ABI32 | 15 | #if _MIPS_SIM == _MIPS_SIM_ABI32 |
diff --git a/arch/mips/include/asm/swab.h b/arch/mips/include/asm/swab.h index 88f1f7d555cb..99993c0d6c12 100644 --- a/arch/mips/include/asm/swab.h +++ b/arch/mips/include/asm/swab.h | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | #define _ASM_SWAB_H | 9 | #define _ASM_SWAB_H |
| 10 | 10 | ||
| 11 | #include <linux/compiler.h> | 11 | #include <linux/compiler.h> |
| 12 | #include <asm/types.h> | 12 | #include <linux/types.h> |
| 13 | 13 | ||
| 14 | #define __SWAB_64_THRU_32__ | 14 | #define __SWAB_64_THRU_32__ |
| 15 | 15 | ||
diff --git a/arch/mips/kernel/irq-gic.c b/arch/mips/kernel/irq-gic.c index 494a49a317e9..87deb8f6c458 100644 --- a/arch/mips/kernel/irq-gic.c +++ b/arch/mips/kernel/irq-gic.c | |||
| @@ -187,7 +187,7 @@ static void gic_set_affinity(unsigned int irq, const struct cpumask *cpumask) | |||
| 187 | set_bit(irq, pcpu_masks[first_cpu(tmp)].pcpu_mask); | 187 | set_bit(irq, pcpu_masks[first_cpu(tmp)].pcpu_mask); |
| 188 | 188 | ||
| 189 | } | 189 | } |
| 190 | irq_desc[irq].affinity = *cpumask; | 190 | cpumask_copy(irq_desc[irq].affinity, cpumask); |
| 191 | spin_unlock_irqrestore(&gic_lock, flags); | 191 | spin_unlock_irqrestore(&gic_lock, flags); |
| 192 | 192 | ||
| 193 | } | 193 | } |
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c index b6cca01ff82b..5f5af7d4c890 100644 --- a/arch/mips/kernel/smtc.c +++ b/arch/mips/kernel/smtc.c | |||
| @@ -686,7 +686,7 @@ void smtc_forward_irq(unsigned int irq) | |||
| 686 | * and efficiency, we just pick the easiest one to find. | 686 | * and efficiency, we just pick the easiest one to find. |
| 687 | */ | 687 | */ |
| 688 | 688 | ||
| 689 | target = first_cpu(irq_desc[irq].affinity); | 689 | target = cpumask_first(irq_desc[irq].affinity); |
| 690 | 690 | ||
| 691 | /* | 691 | /* |
| 692 | * We depend on the platform code to have correctly processed | 692 | * We depend on the platform code to have correctly processed |
| @@ -921,11 +921,13 @@ void ipi_decode(struct smtc_ipi *pipi) | |||
| 921 | struct clock_event_device *cd; | 921 | struct clock_event_device *cd; |
| 922 | void *arg_copy = pipi->arg; | 922 | void *arg_copy = pipi->arg; |
| 923 | int type_copy = pipi->type; | 923 | int type_copy = pipi->type; |
| 924 | int irq = MIPS_CPU_IRQ_BASE + 1; | ||
| 925 | |||
| 924 | smtc_ipi_nq(&freeIPIq, pipi); | 926 | smtc_ipi_nq(&freeIPIq, pipi); |
| 925 | switch (type_copy) { | 927 | switch (type_copy) { |
| 926 | case SMTC_CLOCK_TICK: | 928 | case SMTC_CLOCK_TICK: |
| 927 | irq_enter(); | 929 | irq_enter(); |
| 928 | kstat_this_cpu.irqs[MIPS_CPU_IRQ_BASE + 1]++; | 930 | kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); |
| 929 | cd = &per_cpu(mips_clockevent_device, cpu); | 931 | cd = &per_cpu(mips_clockevent_device, cpu); |
| 930 | cd->event_handler(cd); | 932 | cd->event_handler(cd); |
| 931 | irq_exit(); | 933 | irq_exit(); |
diff --git a/arch/mips/mti-malta/malta-smtc.c b/arch/mips/mti-malta/malta-smtc.c index aabd7274507b..5ba31888fefb 100644 --- a/arch/mips/mti-malta/malta-smtc.c +++ b/arch/mips/mti-malta/malta-smtc.c | |||
| @@ -116,7 +116,7 @@ struct plat_smp_ops msmtc_smp_ops = { | |||
| 116 | 116 | ||
| 117 | void plat_set_irq_affinity(unsigned int irq, const struct cpumask *affinity) | 117 | void plat_set_irq_affinity(unsigned int irq, const struct cpumask *affinity) |
| 118 | { | 118 | { |
| 119 | cpumask_t tmask = *affinity; | 119 | cpumask_t tmask; |
| 120 | int cpu = 0; | 120 | int cpu = 0; |
| 121 | void smtc_set_irq_affinity(unsigned int irq, cpumask_t aff); | 121 | void smtc_set_irq_affinity(unsigned int irq, cpumask_t aff); |
| 122 | 122 | ||
| @@ -139,11 +139,12 @@ void plat_set_irq_affinity(unsigned int irq, const struct cpumask *affinity) | |||
| 139 | * be made to forward to an offline "CPU". | 139 | * be made to forward to an offline "CPU". |
| 140 | */ | 140 | */ |
| 141 | 141 | ||
| 142 | cpumask_copy(&tmask, affinity); | ||
| 142 | for_each_cpu(cpu, affinity) { | 143 | for_each_cpu(cpu, affinity) { |
| 143 | if ((cpu_data[cpu].vpe_id != 0) || !cpu_online(cpu)) | 144 | if ((cpu_data[cpu].vpe_id != 0) || !cpu_online(cpu)) |
| 144 | cpu_clear(cpu, tmask); | 145 | cpu_clear(cpu, tmask); |
| 145 | } | 146 | } |
| 146 | irq_desc[irq].affinity = tmask; | 147 | cpumask_copy(irq_desc[irq].affinity, &tmask); |
| 147 | 148 | ||
| 148 | if (cpus_empty(tmask)) | 149 | if (cpus_empty(tmask)) |
| 149 | /* | 150 | /* |
diff --git a/arch/mips/sgi-ip22/ip22-int.c b/arch/mips/sgi-ip22/ip22-int.c index f8b18af141a1..0ecd5fe9486e 100644 --- a/arch/mips/sgi-ip22/ip22-int.c +++ b/arch/mips/sgi-ip22/ip22-int.c | |||
| @@ -155,7 +155,7 @@ static void indy_buserror_irq(void) | |||
| 155 | int irq = SGI_BUSERR_IRQ; | 155 | int irq = SGI_BUSERR_IRQ; |
| 156 | 156 | ||
| 157 | irq_enter(); | 157 | irq_enter(); |
| 158 | kstat_this_cpu.irqs[irq]++; | 158 | kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); |
| 159 | ip22_be_interrupt(irq); | 159 | ip22_be_interrupt(irq); |
| 160 | irq_exit(); | 160 | irq_exit(); |
| 161 | } | 161 | } |
diff --git a/arch/mips/sgi-ip22/ip22-time.c b/arch/mips/sgi-ip22/ip22-time.c index 3dcb27ec0c53..c8f7d2328b24 100644 --- a/arch/mips/sgi-ip22/ip22-time.c +++ b/arch/mips/sgi-ip22/ip22-time.c | |||
| @@ -122,7 +122,7 @@ void indy_8254timer_irq(void) | |||
| 122 | char c; | 122 | char c; |
| 123 | 123 | ||
| 124 | irq_enter(); | 124 | irq_enter(); |
| 125 | kstat_this_cpu.irqs[irq]++; | 125 | kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); |
| 126 | printk(KERN_ALERT "Oops, got 8254 interrupt.\n"); | 126 | printk(KERN_ALERT "Oops, got 8254 interrupt.\n"); |
| 127 | ArcRead(0, &c, 1, &cnt); | 127 | ArcRead(0, &c, 1, &cnt); |
| 128 | ArcEnterInteractiveMode(); | 128 | ArcEnterInteractiveMode(); |
diff --git a/arch/mips/sibyte/bcm1480/smp.c b/arch/mips/sibyte/bcm1480/smp.c index dddfda8e8294..314691648c97 100644 --- a/arch/mips/sibyte/bcm1480/smp.c +++ b/arch/mips/sibyte/bcm1480/smp.c | |||
| @@ -178,9 +178,10 @@ struct plat_smp_ops bcm1480_smp_ops = { | |||
| 178 | void bcm1480_mailbox_interrupt(void) | 178 | void bcm1480_mailbox_interrupt(void) |
| 179 | { | 179 | { |
| 180 | int cpu = smp_processor_id(); | 180 | int cpu = smp_processor_id(); |
| 181 | int irq = K_BCM1480_INT_MBOX_0_0; | ||
| 181 | unsigned int action; | 182 | unsigned int action; |
| 182 | 183 | ||
| 183 | kstat_this_cpu.irqs[K_BCM1480_INT_MBOX_0_0]++; | 184 | kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); |
| 184 | /* Load the mailbox register to figure out what we're supposed to do */ | 185 | /* Load the mailbox register to figure out what we're supposed to do */ |
| 185 | action = (__raw_readq(mailbox_0_regs[cpu]) >> 48) & 0xffff; | 186 | action = (__raw_readq(mailbox_0_regs[cpu]) >> 48) & 0xffff; |
| 186 | 187 | ||
diff --git a/arch/mips/sibyte/sb1250/smp.c b/arch/mips/sibyte/sb1250/smp.c index 5950a288a7da..cad14003b84f 100644 --- a/arch/mips/sibyte/sb1250/smp.c +++ b/arch/mips/sibyte/sb1250/smp.c | |||
| @@ -166,9 +166,10 @@ struct plat_smp_ops sb_smp_ops = { | |||
| 166 | void sb1250_mailbox_interrupt(void) | 166 | void sb1250_mailbox_interrupt(void) |
| 167 | { | 167 | { |
| 168 | int cpu = smp_processor_id(); | 168 | int cpu = smp_processor_id(); |
| 169 | int irq = K_INT_MBOX_0; | ||
| 169 | unsigned int action; | 170 | unsigned int action; |
| 170 | 171 | ||
| 171 | kstat_this_cpu.irqs[K_INT_MBOX_0]++; | 172 | kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); |
| 172 | /* Load the mailbox register to figure out what we're supposed to do */ | 173 | /* Load the mailbox register to figure out what we're supposed to do */ |
| 173 | action = (____raw_readq(mailbox_regs[cpu]) >> 48) & 0xffff; | 174 | action = (____raw_readq(mailbox_regs[cpu]) >> 48) & 0xffff; |
| 174 | 175 | ||
