]> git.baikalelectronics.ru Git - kernel.git/commitdiff
m68k: coldfire: fix irq ranges
authorAngelo Dureghello <angelo@kernel-space.org>
Thu, 8 Apr 2021 21:37:40 +0000 (23:37 +0200)
committerGreg Ungerer <gerg@linux-m68k.org>
Fri, 23 Apr 2021 05:33:40 +0000 (15:33 +1000)
Working on flexcan0, there was no way to have irq 128 working.
Fix irq 128 and 196 setup.

Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
arch/m68k/coldfire/intc-simr.c

index 15c4b7a6e38f4c5759331fb8067671b4cf695371..f7c2c41b31564defe47b1edd63b9a51c27b2db8b 100644 (file)
@@ -68,9 +68,9 @@ static void intc_irq_mask(struct irq_data *d)
 {
        unsigned int irq = d->irq - MCFINT_VECBASE;
 
-       if (MCFINTC2_SIMR && (irq > 128))
+       if (MCFINTC2_SIMR && (irq > 127))
                __raw_writeb(irq - 128, MCFINTC2_SIMR);
-       else if (MCFINTC1_SIMR && (irq > 64))
+       else if (MCFINTC1_SIMR && (irq > 63))
                __raw_writeb(irq - 64, MCFINTC1_SIMR);
        else
                __raw_writeb(irq, MCFINTC0_SIMR);
@@ -80,9 +80,9 @@ static void intc_irq_unmask(struct irq_data *d)
 {
        unsigned int irq = d->irq - MCFINT_VECBASE;
 
-       if (MCFINTC2_CIMR && (irq > 128))
+       if (MCFINTC2_CIMR && (irq > 127))
                __raw_writeb(irq - 128, MCFINTC2_CIMR);
-       else if (MCFINTC1_CIMR && (irq > 64))
+       else if (MCFINTC1_CIMR && (irq > 63))
                __raw_writeb(irq - 64, MCFINTC1_CIMR);
        else
                __raw_writeb(irq, MCFINTC0_CIMR);
@@ -115,9 +115,9 @@ static unsigned int intc_irq_startup(struct irq_data *d)
        }
 
        irq -= MCFINT_VECBASE;
-       if (MCFINTC2_ICR0 && (irq > 128))
+       if (MCFINTC2_ICR0 && (irq > 127))
                __raw_writeb(5, MCFINTC2_ICR0 + irq - 128);
-       else if (MCFINTC1_ICR0 && (irq > 64))
+       else if (MCFINTC1_ICR0 && (irq > 63))
                __raw_writeb(5, MCFINTC1_ICR0 + irq - 64);
        else
                __raw_writeb(5, MCFINTC0_ICR0 + irq);