ssb-mips: Fix IRQ routing on the MIPS core.
SVN-Revision: 10770
This commit is contained in:
parent
99e6b2d7dc
commit
2e8af76a60
1 changed files with 7 additions and 6 deletions
|
@ -109,12 +109,13 @@ static void set_irq(struct ssb_device *dev, unsigned int irq)
|
||||||
clear_irq(bus, oldirq);
|
clear_irq(bus, oldirq);
|
||||||
|
|
||||||
/* assign the new one */
|
/* assign the new one */
|
||||||
if (irq == 0)
|
if (irq == 0) {
|
||||||
ssb_write32(mdev, SSB_INTVEC, ((1 << irqflag) & ssb_read32(mdev, SSB_INTVEC)));
|
ssb_write32(mdev, SSB_INTVEC, ((1 << irqflag) | ssb_read32(mdev, SSB_INTVEC)));
|
||||||
|
} else {
|
||||||
irqflag <<= ipsflag_irq_shift[irq];
|
irqflag <<= ipsflag_irq_shift[irq];
|
||||||
irqflag |= (ssb_read32(mdev, SSB_IPSFLAG) & ~ipsflag_irq_mask[irq]);
|
irqflag |= (ssb_read32(mdev, SSB_IPSFLAG) & ~ipsflag_irq_mask[irq]);
|
||||||
ssb_write32(mdev, SSB_IPSFLAG, irqflag);
|
ssb_write32(mdev, SSB_IPSFLAG, irqflag);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ssb_mips_serial_init(struct ssb_mipscore *mcore)
|
static void ssb_mips_serial_init(struct ssb_mipscore *mcore)
|
||||||
|
|
Loading…
Reference in a new issue