Re: [PATCH] sh: hd64461: fix virq offsets

Geert Uytterhoeven <[email protected]>
Newsgroups gmane.linux.ports.sh.devel,gmane.linux.kernel
Message-ID <CAMuHMdWVP4Y4Bp+M-1rzVYmZnu4tVVQR6yAenVVYN+6ogw+Hkw@mail.gmail.com>
On Sun, Jul 9, 2023 at 2:59 PM John Paul Adrian Glaubitz
<[email protected]> 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 <[email protected]>

Reviewed-by: Geert Uytterhoeven <[email protected]>

> > > > --- 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 -- [email protected]

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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.