[PATCH] m68knommu: set irq priority/level different for each ColdFire serial port
authorGreg Ungerer <gerg@snapgear.com>
Tue, 10 Jan 2006 06:59:04 +0000 (16:59 +1000)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 10 Jan 2006 17:31:27 +0000 (09:31 -0800)
Set the hardware interrupt priority to a different value for each
attached ColdFire serial port.  According to the CPU documentation you
should not use the same combination of level/priority on more than one
device.  People have reported odd serial port behavior with them set the
same.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/serial/mcfserial.c

index f2a51e61eec7f55f9c8e6dbc431778655622b345..d957a3a9edf1f52bc0ebdeeb6f662ed9cfef7a47 100644 (file)
@@ -1516,7 +1516,7 @@ static void mcfrs_irqinit(struct mcf_serial *info)
 
        icrp = (volatile unsigned char *) (MCF_MBAR + MCFICM_INTC0 +
                MCFINTC_ICR0 + MCFINT_UART0 + info->line);
-       *icrp = 0x33; /* UART0 with level 6, priority 3 */
+       *icrp = 0x30 + info->line; /* level 6, line based priority */
 
        imrp = (volatile unsigned long *) (MCF_MBAR + MCFICM_INTC0 +
                MCFINTC_IMRL);