Re: [PATCH v2 14/16] irqchip: mips-gic: Support local interrupts

2014-09-05 Thread Andrew Bresticker
On Fri, Sep 5, 2014 at 12:05 PM, Thomas Gleixner wrote: > On Fri, 5 Sep 2014, Andrew Bresticker wrote: >> static void gic_mask_irq(struct irq_data *d) >> { >> - GIC_CLR_INTR_MASK(d->irq - gic_irq_base); >> + unsigned int irq = d->irq - gic_irq_base; >> + >> + if

Re: [PATCH v2 14/16] irqchip: mips-gic: Support local interrupts

2014-09-05 Thread Thomas Gleixner
On Fri, 5 Sep 2014, Andrew Bresticker wrote: > static void gic_mask_irq(struct irq_data *d) > { > - GIC_CLR_INTR_MASK(d->irq - gic_irq_base); > + unsigned int irq = d->irq - gic_irq_base; > + > + if (gic_is_local_irq(irq)) { > + GICWRITE(GIC_REG(VPE_LOCAL, GIC_VPE_RMASK),

[PATCH v2 14/16] irqchip: mips-gic: Support local interrupts

2014-09-05 Thread Andrew Bresticker
The MIPS GIC supports 7 local interrupts, 5 of which are just core interrupts which can be re-routed through the GIC. This patch adds support for mapping and handling the remaining two: the GIC timer and watchdog. GIC interrupts from 0 to GIC_NUM_INTRS are still the shared external interrupts

[PATCH v2 14/16] irqchip: mips-gic: Support local interrupts

2014-09-05 Thread Andrew Bresticker
The MIPS GIC supports 7 local interrupts, 5 of which are just core interrupts which can be re-routed through the GIC. This patch adds support for mapping and handling the remaining two: the GIC timer and watchdog. GIC interrupts from 0 to GIC_NUM_INTRS are still the shared external interrupts

Re: [PATCH v2 14/16] irqchip: mips-gic: Support local interrupts

2014-09-05 Thread Thomas Gleixner
On Fri, 5 Sep 2014, Andrew Bresticker wrote: static void gic_mask_irq(struct irq_data *d) { - GIC_CLR_INTR_MASK(d-irq - gic_irq_base); + unsigned int irq = d-irq - gic_irq_base; + + if (gic_is_local_irq(irq)) { + GICWRITE(GIC_REG(VPE_LOCAL, GIC_VPE_RMASK), +

Re: [PATCH v2 14/16] irqchip: mips-gic: Support local interrupts

2014-09-05 Thread Andrew Bresticker
On Fri, Sep 5, 2014 at 12:05 PM, Thomas Gleixner t...@linutronix.de wrote: On Fri, 5 Sep 2014, Andrew Bresticker wrote: static void gic_mask_irq(struct irq_data *d) { - GIC_CLR_INTR_MASK(d-irq - gic_irq_base); + unsigned int irq = d-irq - gic_irq_base; + + if