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

From: Artur Rojek
Date: Mon Jul 10 2023 - 19:25:17 EST


On 2023-07-09 14:59, John Paul Adrian Glaubitz wrote:
Hi!

On Sun, 2023-07-09 at 14:56 +0200, Artur Rojek wrote:
On 2023-07-09 14:48, John Paul Adrian Glaubitz wrote:
> Hi Artur!
>
> 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@xxxxxxxxxxxxxx>
> > ---
> > arch/sh/cchips/Kconfig | 4 ++--
> > arch/sh/include/asm/hd64461.h | 2 +-
> > 2 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/sh/cchips/Kconfig b/arch/sh/cchips/Kconfig
> > index efde2edb5627..9659a0bc58de 100644
> > --- 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.

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 ;-).

Btw, did you verify that the default assigned IRQ is actually changed from
36 to 52 when the machine boots?
If I understood the question correctly, then yes, the new virq number
for HD64461 interrupt is now 52 and the cchip interrupts need this patch
to work.

Cheers,
Artur

Adrian