lkml.org 
[lkml]   [2021]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH] of/irq: Add a quirk for controllers with their own definition of interrupt-map
Date
Hi Marc,

> -----Original Message-----
> From: Marc Zyngier <maz@kernel.org>
> Sent: 23 November 2021 09:11
> To: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: linux-kernel@vger.kernel.org; devicetree@vger.kernel.org; kernel-team@android.com; Rob Herring
> <robh@kernel.org>; John Crispin <john@phrozen.org>; Biwen Li <biwen.li@nxp.com>; Chris Brandt
> <Chris.Brandt@renesas.com>; linux-renesas-soc@vger.kernel.org; Prabhakar Mahadev Lad
> <prabhakar.mahadev-lad.rj@bp.renesas.com>
> Subject: Re: [PATCH] of/irq: Add a quirk for controllers with their own definition of interrupt-map
>
> On Tue, 23 Nov 2021 08:44:19 +0000,
> Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> >
> > Hi Marc,
> >
> > On Tue, Nov 23, 2021 at 9:33 AM Marc Zyngier <maz@kernel.org> wrote:
> > > On Tue, 23 Nov 2021 07:57:48 +0000,
> > > Geert Uytterhoeven <geert@linux-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-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>;
>
Just to clarify, do you suggest to add interrupt-range as a generic DT property or SoC/company specific property? If you meant to add generic property where would you suggest to document this property?

Maybe to chime in with "msi-ranges" we could name it to "interrupt-ranges"?

Cheers,
Prabhakar

> 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.
> But that's up to you, really.
>
> M.
>
> --
> Without deviation from the norm, progress is not possible.

\
 
 \ /
  Last update: 2021-11-27 01:45    [W:0.892 / U:0.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site