Commit 2633da23 authored by Michael Buesch's avatar Michael Buesch Committed by John W. Linville

ssb-mipscore: Fix interrupt vectors

This fixes assignment of the interrupt vectors on the SSB MIPS core.
Signed-off-by: default avatarMichael Buesch <mb@bu3sch.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent b63009b4
...@@ -109,12 +109,13 @@ static void set_irq(struct ssb_device *dev, unsigned int irq) ...@@ -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)
......
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