diff mbox series

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

Message ID 20210827171534.62380-3-mark.kettenis@xs4all.nl
State New
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