[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdWd9mJe8hGNdH5VR-qJOxgfT4YtFfOmQA=uV4QPsvpqtA@mail.gmail.com>
Date: Wed, 24 Nov 2021 08:54:48 +0100
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Marc Zyngier <maz@...nel.org>,
Chris Brandt <chris.brandt@...esas.com>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>,
Android Kernel Team <kernel-team@...roid.com>,
Rob Herring <robh@...nel.org>, John Crispin <john@...ozen.org>,
Biwen Li <biwen.li@....com>,
Linux-Renesas <linux-renesas-soc@...r.kernel.org>,
Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
Subject: Re: [PATCH] of/irq: Add a quirk for controllers with their own
definition of interrupt-map
Hi Marc,
On Tue, Nov 23, 2021 at 10:11 AM Marc Zyngier <maz@...nel.org> wrote:
> On Tue, 23 Nov 2021 08:44:19 +0000,
> Geert Uytterhoeven <geert@...ux-m68k.org> wrote:
> > On Tue, Nov 23, 2021 at 9:33 AM Marc Zyngier <maz@...nel.org> wrote:
> > > On Tue, 23 Nov 2021 07:57:48 +0000,
> > > Geert Uytterhoeven <geert@...ux-m68k.org> wrote:
> > > > Summarized:
> > > > - Before the bad commit, and after your fix, irqc-rza1 is invoked,
> > > > and the number of interrupts seen is correct, but input events
> > > > are doubled.
> > > > - After the bad commit, irqc-rza1 is not invoked, and there is an
> > > > interrupt storm, but input events are OK.
> > >
> > > OK, that's reassuring, even if the "twice the events" stuff isn't what
> > > you'd expect. We at least know this is a separate issue, and that this
> > > patch on top of -rc1 brings you back to the 5.15 behaviour.
> > >
> > > I'd expect it to be the case for the other platforms as well.
> >
> > OK.
> >
> > BTW, what would have been the correct way to do this for irqc-rza1?
> > I think we're about to make the same mistake with RZ/G2L IRQC
> > support[1]?
>
> Indeed, and I was about to look into it.
>
> There are multiple ways to skin this cat, including renaming
> 'interrupt-map' to 'my-own-private-interrupt-map'. Or use something
> akin the new 'msi-range' (which we could call interrupt-range), and
> replace:
"interrupt-ranges" (with trailing "S"), cfr. "msi-ranges"?
> interrupt-map = <0 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
> <1 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
> <2 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
> <3 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
> <4 0 &gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
> <5 0 &gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
> <6 0 &gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
> <7 0 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
>
> with:
>
> interrupt-range = <&gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH 0 8>;
>
> which reads as "base interrupt spec", "start pin", "count". This
> gives you almost the same level of information, and doesn't interfere
> with the rest of the DT properties. Parsing it is also much simpler.
And in the non-consecutive case, you need multiple ranges, right?
> But that's up to you, really.
Chris: do you think we can still do this for RZ/A, or do we have too
many users in the wild using the upstream code?
Thanks!
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