[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdWVP4Y4Bp+M-1rzVYmZnu4tVVQR6yAenVVYN+6ogw+Hkw@mail.gmail.com>
Date: Sun, 9 Jul 2023 15:18:55 +0200
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>
Cc: Artur Rojek <contact@...ur-rojek.eu>,
Rich Felker <dalias@...c.org>,
Sergey Shtylyov <s.shtylyov@....ru>, linux-sh@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] sh: hd64461: fix virq offsets
On Sun, Jul 9, 2023 at 2:59 PM John Paul Adrian Glaubitz
<glaubitz@...sik.fu-berlin.de> wrote:
> On Sun, 2023-07-09 at 14:56 +0200, Artur Rojek wrote:
> > On 2023-07-09 14:48, John Paul Adrian Glaubitz wrote:
> > > On Sun, 2023-07-09 at 14:13 +0200, Artur Rojek wrote:
> > > > A recent change to start counting SuperH IRQ #s from 16 breaks support
> > > > for the Hitachi HD64461 companion chip.
> > > >
> > > > Move the offchip IRQ base and HD64461 IRQ # by 16 in order to
> > > > accommodate for the new virq numbering rules.
> > > >
> > > > Fixes: a8ac2961148e ("sh: Avoid using IRQ0 on SH3 and SH4")
> > > > Signed-off-by: Artur Rojek <contact@...ur-rojek.eu>
Reviewed-by: Geert Uytterhoeven <geert+renesas@...der.be>
> > > > --- a/arch/sh/cchips/Kconfig
> > > > +++ b/arch/sh/cchips/Kconfig
> > > > @@ -29,9 +29,9 @@ endchoice
> > > > config HD64461_IRQ
> > > > int "HD64461 IRQ"
> > > > depends on HD64461
> > > > - default "36"
> > > > + default "52"
> > > > help
> > > > - The default setting of the HD64461 IRQ is 36.
> > > > + The default setting of the HD64461 IRQ is 52.
> > > >
> > > > Do not change this unless you know what you are doing.
> > > >
> > > > diff --git a/arch/sh/include/asm/hd64461.h
> > > > b/arch/sh/include/asm/hd64461.h
> > > > index afb24cb034b1..6d85db6cf54b 100644
> > > > --- a/arch/sh/include/asm/hd64461.h
> > > > +++ b/arch/sh/include/asm/hd64461.h
> > > > @@ -229,7 +229,7 @@
> > > > #define HD64461_NIMR HD64461_IO_OFFSET(0x5002)
> > > >
> > > > #define HD64461_IRQBASE OFFCHIP_IRQ_BASE
> > > > -#define OFFCHIP_IRQ_BASE 64
> > > > +#define OFFCHIP_IRQ_BASE 80
> > > > #define HD64461_IRQ_NUM 16
> > > >
> > > > #define HD64461_IRQ_UART (HD64461_IRQBASE+5)
> > >
> > > I think it would be better to write this as (64 + 16) for consistency
> > > with the other changes made by Sergey.
Ideally, we want to have a #define for that...
> > Sure, I will send v2 with this change, although the same can't be
> > applied to HD64461_IRQ value above, so some inconsistency will exist
> > either way.
>
> That's okay, that's the user-facing part ;-).
Do we want to keep this Kconfig option? It is rather fragile, and there is
no in-tree config file overriding the default value.
Presumably it was introduced to support an out-of-tree board with
a different wiring.
BTW, there's also this (unused) definition:
arch/sh/include/mach-common/mach/hp6xx.h:#define HP680_HD64461_IRQ
evt2irq(0x680) /* IRQ4_IRQ */
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Powered by blists - more mailing lists