[PATCH v2 devicetree] Revert "arm64: dts: freescale: Fix 'interrupt-map' parent address cells"

Vladimir Oltean vladimir.oltean at nxp.com
Thu Mar 10 12:09:20 PST 2022


Hello Rob,

On Wed, Feb 09, 2022 at 11:54:35AM +0000, Ioana Ciornei wrote:
> On Mon, Jan 03, 2022 at 07:30:44PM +0800, Shawn Guo wrote:
> > 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 at nxp.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 at kernel.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).
> > 
> 
> Could this patch be queued up as a fix for v5.16 and v5.17?
> 
> Ioana

This is a reminder that interrupts through the fsl-extirq driver are
still broken. Not to mention that we aren't even in the same release
cycle as the patch that introduced the breakage anymore, so broken
device trees (or "syntactically correct", depending on how you wish to
see it) have already started circulating. Do you have a better
suggestion to fix this?


More information about the linux-arm-kernel mailing list