[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <173222571046.3843916.9274020402675483469.robh@kernel.org>
Date: Thu, 21 Nov 2024 15:48:32 -0600
From: "Rob Herring (Arm)" <robh@...nel.org>
To: Samuel Holland <samuel.holland@...ive.com>
Cc: stable@...r.kernel.org, Saravana Kannan <saravanak@...gle.com>,
Anup Patel <apatel@...tanamicro.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Linus Walleij <linus.walleij@...aro.org>,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Thierry Reding <treding@...dia.com>, Marc Zyngier <maz@...nel.org>
Subject: Re: [PATCH v2] of: property: fw_devlink: Do not use interrupt-parent
directly
On Wed, 20 Nov 2024 15:31:16 -0800, Samuel Holland wrote:
> commit 7f00be96f125 ("of: property: Add device link support for
> interrupt-parent, dmas and -gpio(s)") started adding device links for
> the interrupt-parent property. commit 4104ca776ba3 ("of: property: Add
> fw_devlink support for interrupts") and commit f265f06af194 ("of:
> property: Fix fw_devlink handling of interrupts/interrupts-extended")
> later added full support for parsing the interrupts and
> interrupts-extended properties, which includes looking up the node of
> the parent domain. This made the handler for the interrupt-parent
> property redundant.
>
> In fact, creating device links based solely on interrupt-parent is
> problematic, because it can create spurious cycles. A node may have
> this property without itself being an interrupt controller or consumer.
> For example, this property is often present in the root node or a /soc
> bus node to set the default interrupt parent for child nodes. However,
> it is incorrect for the bus to depend on the interrupt controller, as
> some of the bus's children may not be interrupt consumers at all or may
> have a different interrupt parent.
>
> Resolving these spurious dependency cycles can cause an incorrect probe
> order for interrupt controller drivers. This was observed on a RISC-V
> system with both an APLIC and IMSIC under /soc, where interrupt-parent
> in /soc points to the APLIC, and the APLIC msi-parent points to the
> IMSIC. fw_devlink found three dependency cycles and attempted to probe
> the APLIC before the IMSIC. After applying this patch, there were no
> dependency cycles and the probe order was correct.
>
> Acked-by: Marc Zyngier <maz@...nel.org>
> Cc: stable@...r.kernel.org
> Fixes: 4104ca776ba3 ("of: property: Add fw_devlink support for interrupts")
> Signed-off-by: Samuel Holland <samuel.holland@...ive.com>
> ---
>
> Changes in v2:
> - Fix typo in commit message
> - Add Fixes: tag and CC stable
>
> drivers/of/property.c | 2 --
> 1 file changed, 2 deletions(-)
>
Applied, thanks!
Powered by blists - more mailing lists