[PATCH 1/2] dt-bindings: mailbox : arm,mhuv2: Allow for more RX interrupts

Rob Herring robh at kernel.org
Wed Apr 12 06:15:21 PDT 2023


On Thu, Mar 30, 2023 at 09:29:23AM +0100, Cristian Marussi wrote:
> On Wed, Mar 29, 2023 at 06:44:31PM +0100, Sudeep Holla wrote:
> > On Wed, Mar 29, 2023 at 04:39:35PM +0100, Cristian Marussi wrote:
> > > The ARM MHUv2 Receiver block can indeed support more interrupts, up to the
> > > maximum number of available channels, but anyway no more than the maximum
> > > number of supported interrupt for an AMBA device.
> > > 
> > > Signed-off-by: Cristian Marussi <cristian.marussi at arm.com>
> > > ---
> > > Cc: Rob Herring <robh+dt at kernel.org>
> > > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt at linaro.org>
> > > Cc: devicetree at vger.kernel.org
> > > 
> > >  .../devicetree/bindings/mailbox/arm,mhuv2.yaml      | 13 +++++++++----
> > >  1 file changed, 9 insertions(+), 4 deletions(-)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/mailbox/arm,mhuv2.yaml b/Documentation/devicetree/bindings/mailbox/arm,mhuv2.yaml
> > > index a4f1fe63659a..5a57f4e2a623 100644
> > > --- a/Documentation/devicetree/bindings/mailbox/arm,mhuv2.yaml
> > > +++ b/Documentation/devicetree/bindings/mailbox/arm,mhuv2.yaml
> > > @@ -69,10 +69,15 @@ properties:
> > >  
> > >    interrupts:
> > >      description: |
> > > -      The MHUv2 controller always implements an interrupt in the "receiver"
> > > -      mode, while the interrupt in the "sender" mode was not available in the
> > > -      version MHUv2.0, but the later versions do have it.
> > > -    maxItems: 1
> > > +      The MHUv2 controller always implements at least an interrupt in the
> > > +      "receiver" mode, while the interrupt in the "sender" mode was not
> > > +      available in the version MHUv2.0, but the later versions do have it.
> > > +      In "receiver" mode, beside a single combined interrupt, there could be
> > > +      multiple interrupts, up to the number of implemented channels but anyway
> > > +      no more than the maximum number of interrupts potentially supported by
> > > +      AMBA.
> > > +    minItems: 1
> > > +    maxItems: 9
> > 
> 
> Hi,
> 
> > I am not sure 9 is the correct value here. IIUC it is just what Linux defines
> > as AMBA_NR_IRQS. Looking at the history it was bumped from 2 to 9 for use
> > by PL330 DMA driver. I couldn't find anything to relate this 9 in any
> > AMBA or other related specification.
> > 
> 
> Yes, I could not find either where the 9 comes from, but it is what
> currently each amba device is limited to, at the software level, in terms of
> interrupts that can be detected.

IIRC, the PL330 can have an interrupt per context with up to 8 contexts 
and then 1 global interrupt.

> 
> > Ideally I would say we don't know what the max here. We just have a platform
> > implementing 2 interrupts now. Do we for with 2 for now and change it if some
> > new users require more in the future ?
> > 
> 
> By the spec seems to me that the maximum number of interrupts are equal to
> the maximum possible channels (124), or one combined interrupt.
> 
> But these in turn, as said, are capped by the AMBA_NR_IRQS and I have
> only seen one system using 2. (for which I need this series to work)
> 
> > I will leave that to the DT maintainers but 9 is simply random based on Linux
> > code so I would rather choose some other random number with a better reasoning
> > than 9 as AMBA code in the kernel is limiting it to 9.
> > 
> 
> Agreed. Aiming to describe any possible hw in the DT, I would say 124 at
> this point. (even though implausible not to use the combined interrupt
> at that point...)

Then use 124, but please describe how you get that in the description.

Rob



More information about the linux-arm-kernel mailing list