diff options
author | Steven J. Hill <sjhill@mips.com> | 2012-08-31 17:13:07 -0400 |
---|---|---|
committer | Steven J. Hill <sjhill@mips.com> | 2012-09-13 16:43:48 -0400 |
commit | 2299c49d601c20ba502f5cc7b2f72a0048f485db (patch) | |
tree | 164646cd242ec38a6494bb8436f152db398f0b7d /arch/mips/kernel/irq-gic.c | |
parent | 0b271f5600b5ae56d331a18da830e33f9fb0acdc (diff) |
MIPS: Code clean-ups for the GIC.
Fix whitespace, beautify the code and remove debug statements.
Signed-off-by: Steven J. Hill <sjhill@mips.com>
Diffstat (limited to 'arch/mips/kernel/irq-gic.c')
-rw-r--r-- | arch/mips/kernel/irq-gic.c | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/arch/mips/kernel/irq-gic.c b/arch/mips/kernel/irq-gic.c index 18124c3bda2f..770c07552518 100644 --- a/arch/mips/kernel/irq-gic.c +++ b/arch/mips/kernel/irq-gic.c | |||
@@ -1,5 +1,11 @@ | |||
1 | #undef DEBUG | 1 | /* |
2 | 2 | * This file is subject to the terms and conditions of the GNU General Public | |
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2008 Ralf Baechle (ralf@linux-mips.org) | ||
7 | * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved. | ||
8 | */ | ||
3 | #include <linux/bitmap.h> | 9 | #include <linux/bitmap.h> |
4 | #include <linux/init.h> | 10 | #include <linux/init.h> |
5 | #include <linux/smp.h> | 11 | #include <linux/smp.h> |
@@ -11,7 +17,6 @@ | |||
11 | #include <linux/hardirq.h> | 17 | #include <linux/hardirq.h> |
12 | #include <asm-generic/bitops/find.h> | 18 | #include <asm-generic/bitops/find.h> |
13 | 19 | ||
14 | |||
15 | unsigned long _gic_base; | 20 | unsigned long _gic_base; |
16 | unsigned int gic_irq_base; | 21 | unsigned int gic_irq_base; |
17 | unsigned int gic_irq_flags[GIC_NUM_INTRS]; | 22 | unsigned int gic_irq_flags[GIC_NUM_INTRS]; |
@@ -22,17 +27,15 @@ static struct gic_intrmask_regs intrmask_regs[NR_CPUS]; | |||
22 | 27 | ||
23 | void gic_send_ipi(unsigned int intr) | 28 | void gic_send_ipi(unsigned int intr) |
24 | { | 29 | { |
25 | pr_debug("CPU%d: %s status %08x\n", smp_processor_id(), __func__, | ||
26 | read_c0_status()); | ||
27 | GICWRITE(GIC_REG(SHARED, GIC_SH_WEDGE), 0x80000000 | intr); | 30 | GICWRITE(GIC_REG(SHARED, GIC_SH_WEDGE), 0x80000000 | intr); |
28 | } | 31 | } |
29 | 32 | ||
30 | /* This is Malta specific and needs to be exported */ | ||
31 | static void __init vpe_local_setup(unsigned int numvpes) | 33 | static void __init vpe_local_setup(unsigned int numvpes) |
32 | { | 34 | { |
33 | int i; | 35 | unsigned long timer_interrupt = GIC_INT_TMR; |
34 | unsigned long timer_interrupt = 5, perf_interrupt = 5; | 36 | unsigned long perf_interrupt = GIC_INT_PERFCTR; |
35 | unsigned int vpe_ctl; | 37 | unsigned int vpe_ctl; |
38 | int i; | ||
36 | 39 | ||
37 | /* | 40 | /* |
38 | * Setup the default performance counter timer interrupts | 41 | * Setup the default performance counter timer interrupts |
@@ -79,40 +82,30 @@ unsigned int gic_get_int(void) | |||
79 | bitmap_and(pending, pending, intrmask, GIC_NUM_INTRS); | 82 | bitmap_and(pending, pending, intrmask, GIC_NUM_INTRS); |
80 | bitmap_and(pending, pending, pcpu_mask, GIC_NUM_INTRS); | 83 | bitmap_and(pending, pending, pcpu_mask, GIC_NUM_INTRS); |
81 | 84 | ||
82 | i = find_first_bit(pending, GIC_NUM_INTRS); | 85 | return find_first_bit(pending, GIC_NUM_INTRS); |
83 | |||
84 | pr_debug("CPU%d: %s pend=%d\n", smp_processor_id(), __func__, i); | ||
85 | |||
86 | return i; | ||
87 | } | 86 | } |
88 | 87 | ||
89 | static void gic_mask_irq(struct irq_data *d) | 88 | static void gic_mask_irq(struct irq_data *d) |
90 | { | 89 | { |
91 | unsigned int irq = d->irq - gic_irq_base; | 90 | GIC_CLR_INTR_MASK(d->irq - gic_irq_base); |
92 | pr_debug("CPU%d: %s: irq%d\n", smp_processor_id(), __func__, irq); | ||
93 | GIC_CLR_INTR_MASK(irq); | ||
94 | } | 91 | } |
95 | 92 | ||
96 | static void gic_unmask_irq(struct irq_data *d) | 93 | static void gic_unmask_irq(struct irq_data *d) |
97 | { | 94 | { |
98 | unsigned int irq = d->irq - gic_irq_base; | 95 | GIC_SET_INTR_MASK(d->irq - gic_irq_base); |
99 | pr_debug("CPU%d: %s: irq%d\n", smp_processor_id(), __func__, irq); | ||
100 | GIC_SET_INTR_MASK(irq); | ||
101 | } | 96 | } |
102 | 97 | ||
103 | #ifdef CONFIG_SMP | 98 | #ifdef CONFIG_SMP |
104 | |||
105 | static DEFINE_SPINLOCK(gic_lock); | 99 | static DEFINE_SPINLOCK(gic_lock); |
106 | 100 | ||
107 | static int gic_set_affinity(struct irq_data *d, const struct cpumask *cpumask, | 101 | static int gic_set_affinity(struct irq_data *d, const struct cpumask *cpumask, |
108 | bool force) | 102 | bool force) |
109 | { | 103 | { |
110 | unsigned int irq = d->irq - gic_irq_base; | 104 | unsigned int irq = (d->irq - gic_irq_base); |
111 | cpumask_t tmp = CPU_MASK_NONE; | 105 | cpumask_t tmp = CPU_MASK_NONE; |
112 | unsigned long flags; | 106 | unsigned long flags; |
113 | int i; | 107 | int i; |
114 | 108 | ||
115 | pr_debug("%s(%d) called\n", __func__, irq); | ||
116 | cpumask_and(&tmp, cpumask, cpu_online_mask); | 109 | cpumask_and(&tmp, cpumask, cpu_online_mask); |
117 | if (cpus_empty(tmp)) | 110 | if (cpus_empty(tmp)) |
118 | return -1; | 111 | return -1; |
@@ -176,6 +169,7 @@ static void __init gic_setup_intr(unsigned int intr, unsigned int cpu, | |||
176 | 169 | ||
177 | /* Init Intr Masks */ | 170 | /* Init Intr Masks */ |
178 | GIC_CLR_INTR_MASK(intr); | 171 | GIC_CLR_INTR_MASK(intr); |
172 | |||
179 | /* Initialise per-cpu Interrupt software masks */ | 173 | /* Initialise per-cpu Interrupt software masks */ |
180 | if (flags & GIC_FLAG_IPI) | 174 | if (flags & GIC_FLAG_IPI) |
181 | set_bit(intr, pcpu_masks[cpu].pcpu_mask); | 175 | set_bit(intr, pcpu_masks[cpu].pcpu_mask); |
@@ -237,8 +231,6 @@ void __init gic_init(unsigned long gic_base_addr, | |||
237 | numvpes = (gicconfig & GIC_SH_CONFIG_NUMVPES_MSK) >> | 231 | numvpes = (gicconfig & GIC_SH_CONFIG_NUMVPES_MSK) >> |
238 | GIC_SH_CONFIG_NUMVPES_SHF; | 232 | GIC_SH_CONFIG_NUMVPES_SHF; |
239 | 233 | ||
240 | pr_debug("%s called\n", __func__); | ||
241 | |||
242 | gic_basic_init(numintrs, numvpes, intr_map, intr_map_size); | 234 | gic_basic_init(numintrs, numvpes, intr_map, intr_map_size); |
243 | 235 | ||
244 | gic_platform_init(numintrs, &gic_irq_controller); | 236 | gic_platform_init(numintrs, &gic_irq_controller); |