[PATCH 1/2] dt-bindings: firmware: arm,scmi: Document arm,poll-transport property
Sudeep Holla
sudeep.holla at arm.com
Thu Oct 23 06:42:50 PDT 2025
On Thu, Oct 23, 2025 at 02:16:39PM +0100, Sudeep Holla wrote:
> On Thu, Oct 23, 2025 at 02:35:57PM +0200, Marek Vasut wrote:
> > Document new property arm,poll-transport, which sets all SCMI operation into
> > poll mode. This is meant to work around uncooperative SCP implementations,
> > which do not generate completion interrupts. This applies primarily on mbox
> > based implementations, but does also cover SMC and VirtIO ones.
> >
> > With this property set, such implementations which do not generate interrupts
> > can be interacted with, until they are fixed to generate interrupts properly.
> >
> > Note that, because the original base protocol exchange also requires some
> > sort of completion mechanism, it is not possible to query SCMI itself for
> > this property and it must be described in DT. While this does look a bit
> > like policy, the SCMI provider is part of the hardware, hence DT.
> >
> > Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
> > ---
> > Cc: Conor Dooley <conor+dt at kernel.org>
> > Cc: Cristian Marussi <cristian.marussi at arm.com>
> > Cc: Florian Fainelli <florian.fainelli at broadcom.com>
> > Cc: Krzysztof Kozlowski <krzk+dt at kernel.org>
> > Cc: Rob Herring <robh at kernel.org>
> > Cc: Sudeep Holla <sudeep.holla at arm.com>
> > Cc: arm-scmi at vger.kernel.org
> > Cc: devicetree at vger.kernel.org
> > Cc: linux-arm-kernel at lists.infradead.org
> > Cc: linux-renesas-soc at vger.kernel.org
> > ---
> > Documentation/devicetree/bindings/firmware/arm,scmi.yaml | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > index be817fd9cc34b..b53754a318ea1 100644
> > --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > @@ -146,6 +146,13 @@ properties:
> > this platform. If set, the value should be non-zero.
> > minimum: 1
> >
> > + arm,poll-transport:
> > + type: boolean
> > + description:
> > + An optional property which unconditionally forces polling in all transports.
> > + This is mainly mean to work around uncooperative SCP, which does not generate
> > + completion interrupts.
> > +
>
> Could you please clarify which platform and transport this change pertains to?
>
> Introducing a property that enforces unconditional polling across all
> platforms is not ideal - particularly if this is intended as a workaround
> for a platform- or firmware- specific issue. Such implementations often get
> replicated across platforms without addressing the root cause, leading to
> wider inconsistencies.
>
Just to clarify what I mean by "enforces unconditional polling" is with the
added DT property only. I understand this is new property and it much be
present in DT to enforce polling, but it can be misused initially for testing
in absence of interrupt support and forgotten in DT. Hence my concern.
--
Regards,
Sudeep
More information about the linux-arm-kernel
mailing list