[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220103113043.GA14690@dragon>
Date: Mon, 3 Jan 2022 19:30:44 +0800
From: Shawn Guo <shawnguo@...nel.org>
To: Marc Zyngier <maz@...nel.org>
Cc: Vladimir Oltean <vladimir.oltean@....com>,
Rob Herring <robh+dt@...nel.org>, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
Leo Li <leoyang.li@....com>, Biwen Li <biwen.li@....com>,
"Z.Q. Hou" <zhiqiang.hou@....com>,
Kurt Kanzenbach <kurt@...utronix.de>,
Rasmus Villemoes <linux@...musvillemoes.dk>
Subject: Re: [PATCH v2 devicetree] Revert "arm64: dts: freescale: Fix
'interrupt-map' parent address cells"
On Sun, Jan 02, 2022 at 01:08:28PM +0000, Marc Zyngier wrote:
> On 2021-12-31 18:13, Vladimir Oltean wrote:
> > Hello,
> >
> > On Tue, Dec 14, 2021 at 03:58:52PM +0200, Vladimir Oltean wrote:
> > > This reverts commit 869f0ec048dc8fd88c0b2003373bd985795179fb. That
> > > updated the expected device tree binding format for the ls-extirq
> > > driver, without also updating the parsing code (ls_extirq_parse_map)
> > > to the new format.
> > >
> > > The context is that the ls-extirq driver uses the standard
> > > "interrupt-map" OF property in a non-standard way, as suggested by
> > > Rob Herring during review:
> > > https://lore.kernel.org/lkml/20190927161118.GA19333@bogus/
> > >
> > > This has turned out to be problematic, as Marc Zyngier discovered
> > > through commit 041284181226 ("of/irq: Allow matching of an
> > > interrupt-map
> > > local to an interrupt controller"), later fixed through commit
> > > de4adddcbcc2 ("of/irq: Add a quirk for controllers with their own
> > > definition of interrupt-map"). Marc's position, expressed on multiple
> > > opportunities, is that:
> > >
> > > (a) [ making private use of the reserved "interrupt-map" name in a
> > > driver ] "is wrong, by the very letter of what an interrupt-map
> > > means. If the interrupt map points to an interrupt controller,
> > > that's the target for the interrupt."
> > > https://lore.kernel.org/lkml/87k0g8jlmg.wl-maz@kernel.org/
> > >
> > > (b) [ updating the driver's bindings to accept a non-reserved name for
> > > this property, as an alternative, is ] "is totally pointless.
> > > These
> > > machines have been in the wild for years, and existing DTs will be
> > > there *forever*."
> > > https://lore.kernel.org/lkml/87ilvrk1r0.wl-maz@kernel.org/
> > >
> > > Considering the above, the Linux kernel has quirks in place to deal
> > > with
> > > the ls-extirq's non-standard use of the "interrupt-map". These quirks
> > > may be needed in other operating systems that consume this device
> > > tree,
> > > yet this is seen as the only viable solution.
> > >
> > > Therefore, the premise of the patch being reverted here is invalid.
> > > It doesn't matter whether the driver, in its non-standard use of the
> > > property, complies to the standard format or not, since this property
> > > isn't expected to be used for interrupt translation by the core.
> > >
> > > This change restores LS1088A, LS2088A/LS2085A and LX2160A to their
> > > previous bindings, which allows these systems to continue to use
> > > external interrupt lines with the correct polarity.
> > >
> > > Fixes: 869f0ec048dc ("arm64: dts: freescale: Fix 'interrupt-map'
> > > parent address cells")
> > > Signed-off-by: Vladimir Oltean <vladimir.oltean@....com>
> > > ---
> > > v1->v2: remove the other 9 patches that rename "interrupt-map" to
> > > "fsl,extirq-map", at Marc's suggestion.
> >
> > Could this patch be considered for merging in v5.16? The problem is
> > going to be quite a bit more severe and tricky to fix otherwise. Thanks.
>
> FWIW:
>
> Acked-by: Marc Zyngier <maz@...nel.org>
>
> Rob, Shawn, can you please queue this as an urgent fix for 5.16?
I would rather leave this to Rob, as I haven't heard anything from him
on this reverting (on his commit).
Shawn
Powered by blists - more mailing lists