diff mbox series

[v5,4/8] dt-bindings: firmware: arm, scmi: Add atomic-threshold-us optional property

Message ID 20220217131234.50328-5-cristian.marussi@arm.com (mailing list archive)
State New, archived
Headers show
Series Add SCMI Virtio & Clock atomic support | expand

Commit Message

Cristian Marussi Feb. 17, 2022, 1:12 p.m. UTC
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@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
---
v4 --> v5:
- fixed example and removed dtschema warnings/errors :
  arm,scmi.yaml: properties:atomic-threshold-us:
  	'$ref' should not be valid under {'const': '$ref'}
- added default: 0 clause
v3 --> v4
- renamed property to atomic-threshold-us
v1 --> v2
- rephrased the property description
---
 .../devicetree/bindings/firmware/arm,scmi.yaml         | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Rob Herring Feb. 17, 2022, 9:34 p.m. UTC | #1
On Thu, Feb 17, 2022 at 7:13 AM Cristian Marussi
<cristian.marussi@arm.com> wrote:
>
> 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@kernel.org>
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
> ---
> v4 --> v5:
> - fixed example and removed dtschema warnings/errors :
>   arm,scmi.yaml: properties:atomic-threshold-us:
>         '$ref' should not be valid under {'const': '$ref'}

Seems an old version got picked up for linux-next:

/builds/robherring/linux-dt/Documentation/devicetree/bindings/firmware/arm,scmi.yaml:
properties:atomic-threshold-us: '$ref' should not be valid under
{'const': '$ref'}
hint: Standard unit suffix properties don't need a type $ref
from schema $id: http://devicetree.org/meta-schemas/core.yaml#
/builds/robherring/linux-dt/Documentation/devicetree/bindings/firmware/arm,scmi.yaml:
ignoring, error in schema: properties: atomic-threshold-us

> - added default: 0 clause
> v3 --> v4
> - renamed property to atomic-threshold-us
> v1 --> v2
> - rephrased the property description
> ---
>  .../devicetree/bindings/firmware/arm,scmi.yaml         | 10 ++++++++++
>  1 file changed, 10 insertions(+)

For this version:

Reviewed-by: Rob Herring <robh@kernel.org>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
index eae15df36eef..590743883802 100644
--- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
+++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
@@ -81,6 +81,14 @@  properties:
   '#size-cells':
     const: 0
 
+  atomic-threshold-us:
+    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.
+    default: 0
+
   arm,smc-id:
     $ref: /schemas/types.yaml#/definitions/uint32
     description:
@@ -264,6 +272,8 @@  examples:
             #address-cells = <1>;
             #size-cells = <0>;
 
+            atomic-threshold-us = <10000>;
+
             scmi_devpd: protocol@11 {
                 reg = <0x11>;
                 #power-domain-cells = <1>;