From: Andre Przywara <andre.przywara@arm.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Liviu Dudau <liviu.dudau@arm.com>,
Robin Murphy <robin.murphy@arm.com>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
Will Deacon <will@kernel.org>,
iommu@lists.linux-foundation.org
Subject: Re: [PATCH 01/11] dt-bindings: iommu: arm,smmu-v3: make PRI IRQ optional
Date: Fri, 6 May 2022 16:19:30 +0100 [thread overview]
Message-ID: <20220506161930.787435ca@donnerap.cambridge.arm.com> (raw)
In-Reply-To: <4d37f41c-4463-73e4-7271-8d191e9953af@linaro.org>
On Thu, 28 Apr 2022 08:56:38 +0200
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:
Hi,
> On 27/04/2022 13:25, Andre Przywara wrote:
> > The Page Request Interface (PRI) is an optional PCIe feature. As such, a
> > SMMU would not need to handle it if the PCIe host bridge or the SMMU
> > itself do not implement it. Also an SMMU could be connected to a platform
> > device, without any PRI functionality whatsoever.
> > In all cases there would be no SMMU PRI queue interrupt to be wired up
> > to an interrupt controller.
> >
> > Relax the binding to allow specifying three interrupts, omitting the PRI
> > IRQ. At the moment, with the "eventq,gerror,priq,cmdq-sync" order, we
> > would need to sacrifice the command queue sync interrupt as well, which
> > might not be desired.
> > The Linux driver does not care about any order at all, just picks IRQs
> > based on their names, and treats all (wired) IRQs as optional.
>
> The last sentence is not a good explanation for the bindings. They are
> not about Linux and are used in other projects as well.
It was not meant as an explanation, but just as an assurance that we can
*change* the binding. At the moment the order is strict, so binding
compliant DT consumers could just read the first, second, third, and fourth
interrupt, without caring about the names. If we now allow a different
order, this would break those users.
I couldn't find any user of arm,smmu-v3 in FreeBSD, OpenBSD, U-Boot,
or Zephyr, hence my mentioning of Linux being fine, so it's safe to relax
the strict ordering requirement.
If someone knows about other DT consumers that need attention, I am
all ears.
Cheers,
Andre
> > Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> > ---
> > .../bindings/iommu/arm,smmu-v3.yaml | 21 ++++++++++++++-----
> > 1 file changed, 16 insertions(+), 5 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu-v3.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu-v3.yaml
> > index e87bfbcc69135..6b3111f1f06ce 100644
> > --- a/Documentation/devicetree/bindings/iommu/arm,smmu-v3.yaml
> > +++ b/Documentation/devicetree/bindings/iommu/arm,smmu-v3.yaml
> > @@ -37,12 +37,23 @@ properties:
> > hardware supports just a single, combined interrupt line.
> > If provided, then the combined interrupt will be used in preference to
> > any others.
> > - - minItems: 2
> > + - minItems: 1
> > items:
> > - - const: eventq # Event Queue not empty
> > - - const: gerror # Global Error activated
> > - - const: priq # PRI Queue not empty
> > - - const: cmdq-sync # CMD_SYNC complete
> > + - enum:
> > + - eventq # Event Queue not empty
> > + - gerror # Global Error activated
> > + - cmdq-sync # CMD_SYNC complete
> > + - priq # PRI Queue not empty
> > + - enum:
> > + - gerror
> > + - cmdq-sync
> > + - priq
> > + - enum:
> > + - cmdq-sync
> > + - priq
> > + - enum:
> > + - cmdq-sync
> > + - priq
>
> The order should be strict, so if you want the first interrupt optional,
> then:
> oneOf:
> - items:
> ... 4 items list
> - items
> ... 3 items list
>
> Best regards,
> Krzysztof
next prev parent reply other threads:[~2022-05-06 15:19 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-27 11:25 [PATCH 00/11] dt-bindings: convert various Arm Ltd. IP to DT schema Andre Przywara
2022-04-27 11:25 ` [PATCH 01/11] dt-bindings: iommu: arm,smmu-v3: make PRI IRQ optional Andre Przywara
2022-04-27 12:04 ` Robin Murphy
2022-04-28 6:56 ` Krzysztof Kozlowski
2022-04-28 9:23 ` Robin Murphy
2022-04-28 9:25 ` Krzysztof Kozlowski
2022-05-06 15:19 ` Andre Przywara [this message]
2022-04-27 11:25 ` [PATCH 02/11] dt-bindings: arm: spe-pmu: convert to DT schema Andre Przywara
2022-04-28 6:57 ` Krzysztof Kozlowski
2022-04-27 11:25 ` [PATCH 03/11] dt-bindings: arm: sp810: " Andre Przywara
2022-04-28 7:01 ` Krzysztof Kozlowski
2022-04-27 11:25 ` [PATCH 04/11] dt-bindings: sound: add Arm PL041 AACI " Andre Przywara
2022-04-27 11:41 ` Mark Brown
2022-04-27 13:33 ` Andre Przywara
2022-04-27 13:39 ` Mark Brown
2022-04-27 13:32 ` Mark Brown
2022-04-27 13:52 ` Andre Przywara
2022-04-27 14:11 ` Mark Brown
2022-04-28 7:06 ` Krzysztof Kozlowski
2022-04-27 11:25 ` [PATCH 05/11] dt-bindings: serio: add Arm PL050 " Andre Przywara
2022-04-28 7:07 ` Krzysztof Kozlowski
2022-04-28 17:27 ` Andre Przywara
2022-04-29 6:29 ` Krzysztof Kozlowski
2022-04-29 6:35 ` Krzysztof Kozlowski
2022-04-29 10:06 ` Andre Przywara
2022-04-27 11:25 ` [PATCH 06/11] dt-bindings: arm: convert vexpress-sysregs to " Andre Przywara
2022-04-27 19:33 ` Rob Herring
2022-04-27 11:25 ` [PATCH 07/11] dt-bindings: arm: convert vexpress-config " Andre Przywara
2022-04-27 19:37 ` Rob Herring
2022-04-27 11:25 ` [PATCH 08/11] dt-bindings: display: convert PL110/PL111 " Andre Przywara
2022-04-27 11:25 ` [PATCH 09/11] dt-bindings: display: convert Arm HDLCD " Andre Przywara
2022-04-27 19:39 ` Rob Herring
2022-04-27 11:25 ` [PATCH 10/11] dt-bindings: display: convert Arm Mali-DP " Andre Przywara
2022-04-27 19:39 ` Rob Herring
2022-04-27 11:25 ` [PATCH 11/11] dt-bindings: display: convert Arm Komeda " Andre Przywara
2022-04-27 19:29 ` [PATCH 00/11] dt-bindings: convert various Arm Ltd. IP " Rob Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220506161930.787435ca@donnerap.cambridge.arm.com \
--to=andre.przywara@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=iommu@lists.linux-foundation.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=liviu.dudau@arm.com \
--cc=robh+dt@kernel.org \
--cc=robin.murphy@arm.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).