SCMI protocols in the platform can optionally signal to the OSPM agent the expected execution latency for a specific resource/operation pair. Introduce an SCMI system wide optional property to describe a global time threshold which can be configured on a per-platform base to determine the opportunity, or not, for an SCMI command advertised to have a higher latency than the threshold, to be considered for atomic operations: high-latency SCMI synchronous commands should be preferably issued in the usual non-atomic mode. Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Cristian Marussi <cristian.marussi@xxxxxxx> --- v3 --> v4 - renamed property to atomic-threshold-us v1 --> v2 - rephrased the property description --- .../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 eae15df36eef..3ffa669b91af 100644 --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml @@ -81,6 +81,15 @@ properties: '#size-cells': const: 0 + atomic-threshold-us: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + An optional time value, expressed in microseconds, representing, on this + platform, the threshold above which any SCMI command, advertised to have + an higher-than-threshold execution latency, should not be considered for + atomic mode of operation, even if requested. + If left unconfigured defaults to zero. + arm,smc-id: $ref: /schemas/types.yaml#/definitions/uint32 description: @@ -264,6 +273,8 @@ examples: #address-cells = <1>; #size-cells = <0>; + atomic_threshold = <10000>; + scmi_devpd: protocol@11 { reg = <0x11>; #power-domain-cells = <1>; -- 2.17.1