Message ID | 4fcb0d08a2b372431c41e04312742dc9e41e1be4.1688908186.git.geert+renesas@glider.be (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RFC] sh: highlander: Handle virq offset in cascaded IRL demux | expand |
On Sun, 2023-07-09 at 15:10 +0200, Geert Uytterhoeven wrote: > Take into account the virq offset when translating cascaded IRL > interrupts. > > Fixes: a8ac2961148e8c72 ("sh: Avoid using IRQ0 on SH3 and SH4") > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > --- > Compile-tested only, but the fix is identical to the fix for rts7751r2d. > --- > arch/sh/boards/mach-highlander/setup.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/sh/boards/mach-highlander/setup.c b/arch/sh/boards/mach-highlander/setup.c > index 533393d779c2b97f..a821a1b155473d93 100644 > --- a/arch/sh/boards/mach-highlander/setup.c > +++ b/arch/sh/boards/mach-highlander/setup.c > @@ -389,10 +389,10 @@ static unsigned char irl2irq[HL_NR_IRL]; > > static int highlander_irq_demux(int irq) > { > - if (irq >= HL_NR_IRL || irq < 0 || !irl2irq[irq]) > + if (irq >= 16 + HL_NR_IRL || irq < 16 || !irl2irq[irq - 16]) > return irq; > > - return irl2irq[irq]; > + return irl2irq[irq - 16]; > } > > static void __init highlander_init_irq(void) Reviewed-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
On Sun, 2023-07-09 at 15:10 +0200, Geert Uytterhoeven wrote: > Take into account the virq offset when translating cascaded IRL > interrupts. > > Fixes: a8ac2961148e8c72 ("sh: Avoid using IRQ0 on SH3 and SH4") > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > --- > Compile-tested only, but the fix is identical to the fix for rts7751r2d. > --- > arch/sh/boards/mach-highlander/setup.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/sh/boards/mach-highlander/setup.c b/arch/sh/boards/mach-highlander/setup.c > index 533393d779c2b97f..a821a1b155473d93 100644 > --- a/arch/sh/boards/mach-highlander/setup.c > +++ b/arch/sh/boards/mach-highlander/setup.c > @@ -389,10 +389,10 @@ static unsigned char irl2irq[HL_NR_IRL]; > > static int highlander_irq_demux(int irq) > { > - if (irq >= HL_NR_IRL || irq < 0 || !irl2irq[irq]) > + if (irq >= 16 + HL_NR_IRL || irq < 16 || !irl2irq[irq - 16]) > return irq; > > - return irl2irq[irq]; > + return irl2irq[irq - 16]; > } > > static void __init highlander_init_irq(void) Applied to my for-linus branch. Thanks, Adrian
On Sun, 2023-07-09 at 15:10 +0200, Geert Uytterhoeven wrote: > Take into account the virq offset when translating cascaded IRL > interrupts. > > Fixes: a8ac2961148e8c72 ("sh: Avoid using IRQ0 on SH3 and SH4") > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > --- > Compile-tested only, but the fix is identical to the fix for rts7751r2d. > --- > arch/sh/boards/mach-highlander/setup.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/sh/boards/mach-highlander/setup.c b/arch/sh/boards/mach-highlander/setup.c > index 533393d779c2b97f..a821a1b155473d93 100644 > --- a/arch/sh/boards/mach-highlander/setup.c > +++ b/arch/sh/boards/mach-highlander/setup.c > @@ -389,10 +389,10 @@ static unsigned char irl2irq[HL_NR_IRL]; > > static int highlander_irq_demux(int irq) > { > - if (irq >= HL_NR_IRL || irq < 0 || !irl2irq[irq]) > + if (irq >= 16 + HL_NR_IRL || irq < 16 || !irl2irq[irq - 16]) > return irq; > > - return irl2irq[irq]; > + return irl2irq[irq - 16]; > } > > static void __init highlander_init_irq(void) Applied to my for-linus branch. Thanks, Adrian
diff --git a/arch/sh/boards/mach-highlander/setup.c b/arch/sh/boards/mach-highlander/setup.c index 533393d779c2b97f..a821a1b155473d93 100644 --- a/arch/sh/boards/mach-highlander/setup.c +++ b/arch/sh/boards/mach-highlander/setup.c @@ -389,10 +389,10 @@ static unsigned char irl2irq[HL_NR_IRL]; static int highlander_irq_demux(int irq) { - if (irq >= HL_NR_IRL || irq < 0 || !irl2irq[irq]) + if (irq >= 16 + HL_NR_IRL || irq < 16 || !irl2irq[irq - 16]) return irq; - return irl2irq[irq]; + return irl2irq[irq - 16]; } static void __init highlander_init_irq(void)
Take into account the virq offset when translating cascaded IRL interrupts. Fixes: a8ac2961148e8c72 ("sh: Avoid using IRQ0 on SH3 and SH4") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- Compile-tested only, but the fix is identical to the fix for rts7751r2d. --- arch/sh/boards/mach-highlander/setup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)