diff mbox series

[v4,2/4] dt-bindings: interrupt-controller: msi: Add msi-ranges property

Message ID 20210827171534.62380-3-mark.kettenis@xs4all.nl (mailing list archive)
State New, archived
Headers show
Series Apple M1 PCIe DT bindings | expand

Commit Message

Mark Kettenis Aug. 27, 2021, 5:15 p.m. UTC
From: Mark Kettenis <kettenis@openbsd.org>

Update the MSI controller binding to add an msi-ranges property
that specifies how MSIs map onto regular interrupts on some other
interrupt controller.

Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
---
 .../bindings/interrupt-controller/msi-controller.yaml     | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Rob Herring (Arm) Aug. 31, 2021, 9:16 p.m. UTC | #1
On Fri, Aug 27, 2021 at 07:15:27PM +0200, Mark Kettenis wrote:
> From: Mark Kettenis <kettenis@openbsd.org>
> 
> Update the MSI controller binding to add an msi-ranges property
> that specifies how MSIs map onto regular interrupts on some other
> interrupt controller.
> 
> Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
> ---
>  .../bindings/interrupt-controller/msi-controller.yaml     | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml b/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml
> index 5ed6cd46e2e0..bf8b8a7dba09 100644
> --- a/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml
> +++ b/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml
> @@ -31,4 +31,12 @@ properties:
>        Identifies the node as an MSI controller.
>      $ref: /schemas/types.yaml#/definitions/flag
>  
> +  msi-ranges:
> +    description:
> +      A list of pairs <intid span>, where "intid" is the specification

It's not really 'pairs' and 'interrupt specifier' is the terminology the 
spec uses. How about:

A list of <phandle intspec span>, where "phandle" is parent interrupt 
controller, "intspec" is the starting/base interrupt specifier, and 
"span" is the size of that range (typically multiples of 32).

The 'multiples of 32' part is what Marc told me.

> +      of the first interrupt (including the phandle for the interrupt
> +      controller) that can be used as an MSI, and "span" the size of
> +      that range. Multiple ranges can be provided.
> +    $ref: /schemas/types.yaml#/definitions/phandle-array
> +
>  additionalProperties: true
> -- 
> 2.32.0
> 
>
Mark Kettenis Sept. 21, 2021, 5:52 p.m. UTC | #2
> Date: Tue, 31 Aug 2021 16:16:02 -0500
> From: Rob Herring <robh@kernel.org>
> 
> On Fri, Aug 27, 2021 at 07:15:27PM +0200, Mark Kettenis wrote:
> > From: Mark Kettenis <kettenis@openbsd.org>
> > 
> > Update the MSI controller binding to add an msi-ranges property
> > that specifies how MSIs map onto regular interrupts on some other
> > interrupt controller.
> > 
> > Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
> > ---
> >  .../bindings/interrupt-controller/msi-controller.yaml     | 8 ++++++++
> >  1 file changed, 8 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml b/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml
> > index 5ed6cd46e2e0..bf8b8a7dba09 100644
> > --- a/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml
> > +++ b/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml
> > @@ -31,4 +31,12 @@ properties:
> >        Identifies the node as an MSI controller.
> >      $ref: /schemas/types.yaml#/definitions/flag
> >  
> > +  msi-ranges:
> > +    description:
> > +      A list of pairs <intid span>, where "intid" is the specification
> 
> It's not really 'pairs' and 'interrupt specifier' is the terminology the 
> spec uses. How about:
> 
> A list of <phandle intspec span>, where "phandle" is parent interrupt 
> controller, "intspec" is the starting/base interrupt specifier, and 
> "span" is the size of that range (typically multiples of 32).
> 
> The 'multiples of 32' part is what Marc told me.

Thanks Rob!  That sounds good.  But 32 is what's typical for the Apple
hardware, and I expect that different hardware that might use this
property will use a different value, so I left that last bit out.  I
also kept the bit that states that multiple ranges are allowed.

> > +      of the first interrupt (including the phandle for the interrupt
> > +      controller) that can be used as an MSI, and "span" the size of
> > +      that range. Multiple ranges can be provided.
> > +    $ref: /schemas/types.yaml#/definitions/phandle-array
> > +
> >  additionalProperties: true
> > -- 
> > 2.32.0
> > 
> > 
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml b/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml
index 5ed6cd46e2e0..bf8b8a7dba09 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml
@@ -31,4 +31,12 @@  properties:
       Identifies the node as an MSI controller.
     $ref: /schemas/types.yaml#/definitions/flag
 
+  msi-ranges:
+    description:
+      A list of pairs <intid span>, where "intid" is the specification
+      of the first interrupt (including the phandle for the interrupt
+      controller) that can be used as an MSI, and "span" the size of
+      that range. Multiple ranges can be provided.
+    $ref: /schemas/types.yaml#/definitions/phandle-array
+
 additionalProperties: true