Commit bd561c79 authored by Paul Mackerras's avatar Paul Mackerras

powerpc: Fix incorrect timer register addresses in mpic.c

We were computing the wrong address for the MPIC timer registers,
so when we went to initialize them we would have been hitting some
unrelated ioremap... oops.
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent fa39dc43
...@@ -358,7 +358,7 @@ static void mpic_enable_irq(unsigned int irq) ...@@ -358,7 +358,7 @@ static void mpic_enable_irq(unsigned int irq)
struct mpic *mpic = mpic_from_irq(irq); struct mpic *mpic = mpic_from_irq(irq);
unsigned int src = irq - mpic->irq_offset; unsigned int src = irq - mpic->irq_offset;
DBG("%s: enable_irq: %d (src %d)\n", mpic->name, irq, src); DBG("%p: %s: enable_irq: %d (src %d)\n", mpic, mpic->name, irq, src);
mpic_irq_write(src, MPIC_IRQ_VECTOR_PRI, mpic_irq_write(src, MPIC_IRQ_VECTOR_PRI,
mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) & ~MPIC_VECPRI_MASK); mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) & ~MPIC_VECPRI_MASK);
...@@ -511,7 +511,7 @@ struct mpic * __init mpic_alloc(unsigned long phys_addr, ...@@ -511,7 +511,7 @@ struct mpic * __init mpic_alloc(unsigned long phys_addr,
/* Map the global registers */ /* Map the global registers */
mpic->gregs = ioremap(phys_addr + MPIC_GREG_BASE, 0x1000); mpic->gregs = ioremap(phys_addr + MPIC_GREG_BASE, 0x1000);
mpic->tmregs = mpic->gregs + (MPIC_TIMER_BASE >> 2); mpic->tmregs = mpic->gregs + ((MPIC_TIMER_BASE - MPIC_GREG_BASE) >> 2);
BUG_ON(mpic->gregs == NULL); BUG_ON(mpic->gregs == NULL);
/* Reset */ /* Reset */
...@@ -648,7 +648,6 @@ void __init mpic_init(struct mpic *mpic) ...@@ -648,7 +648,6 @@ void __init mpic_init(struct mpic *mpic)
continue; continue;
irq_desc[mpic->ipi_offset+i].status |= IRQ_PER_CPU; irq_desc[mpic->ipi_offset+i].status |= IRQ_PER_CPU;
irq_desc[mpic->ipi_offset+i].handler = &mpic->hc_ipi; irq_desc[mpic->ipi_offset+i].handler = &mpic->hc_ipi;
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment