Re: [PATCH v3 1/2] dt-bindings: firmware: arm,scmi: Document arm,no-completion-irq property

Sudeep Holla
2026-01-15T11:57:42Z

On Thu, Jan 15, 2026 at 01:48:56AM +0100, Marek Vasut wrote:
> Document new property arm,no-completion-irq, 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 shmem based implementations.
>
> 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@mailbox.org>
> ---
> Cc: Conor Dooley <conor+dt@kernel.org>
> Cc: Cristian Marussi <cristian.marussi@arm.com>
> Cc: Florian Fainelli <florian.fainelli@broadcom.com>
> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Sudeep Holla <sudeep.holla@arm.com>
> Cc: arm-scmi@vger.kernel.org
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-renesas-soc@vger.kernel.org
> ---
> V2: s@mean@&t and limit poll transport to mailbox/shmem only
> V3: - Reformat the commit message, expand property description to
> explicitly spell out this is hardware description.
> - Rename property from arm,poll-transport to arm,no-completion-irq
> ---
> .../devicetree/bindings/firmware/arm,scmi.yaml | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> index be817fd9cc34b..46d9a0a9a0e58 100644
> --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> @@ -146,6 +146,14 @@ properties:
> this platform. If set, the value should be non-zero.
> minimum: 1
>
> + arm,no-completion-irq:
> + type: boolean
> + description:
> + An optional property which unconditionally forces polling in all transports,
> + meant for hardware which does not generate completion interrupts. This is
> + mainly meant to work around uncooperative SCP or SCP firmware, which does
> + not generate completion interrupts.
> +

I would swap the order of the above two points.

“This optional property is intended for hardware that does not generate
completion interrupts and can be used to unconditionally enable forced polling
mode of operation.”

You need to update the commit message accordingly. We do not want to indicate
how this property should be used, as that is left to the implementation. The
emphasis should be on what this property indicates to its users.

Please update only if DT maintainers are also in agreement. I have just
expressed my opinion. IIUC, it is aligned to standard DT binding rules but
I may be wrong.

--
Regards,
Sudeep