Re: [PATCH v2 2/2] dt-bindings: xen: Add xen,scmi-devid property description for SCMI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Tue, Mar 08, 2022 at 02:13:33PM -0600, Rob Herring wrote:
> On Mon, Mar 07, 2022 at 08:17:44AM +0000, Oleksii Moisieiev wrote:
> > Document xen,scmi-devid property for the devices, using SCMI protocol
> > to work with clocks/resets/power-domains etc. This property is intended
> > to set the device_id, which should be used to manage device permissions
> > in the Firmware. Device permissions management described in DEN 0056,
> > Section 4.2.2.10 [0].
> 
> If device_id is a SCMI thing, how is it set for other platforms and 
> bindings? With clocks or power-domains, the device_id is the cell value, 
> right?
>  
> Since we don't yet have a device assignment, security, or partitioning 
> binding, you've come up with some Xen specific solution. Given I know 
> multiple people want some sort of binding for this, I'm not going to 
> accept anything short of a common binding addressing the various needs.
> 

Hi Sudeep,

On your email from 3/4/2022 you wrote:

> The fact that we don't need this to be part of SCMI OSPM user bindings,
> it is not addressed and can be considered as a gap.

> + The reason I want to keep it xen specific at the moment as we had some
> plan to extended the device-id usage in the spec which hasn't progressed
> a bit(I must admit that before you ask), and this addition should not be
> obstruct that future development. If we align with what we define xen
> specific as part of $subject work, we can always define generic binding
> in the future and slowly make the other obsolete over the time.

IIUC you have some plans to provide device_id support to the device-tree
bindings from your side. Maybe we can discuss some of your plans here
and we can come up with the generic device-id binding?
So I will have something to base on in Xen.

Best regards,
Oleksii.

> 
> > This property is used by Xen hypervisor, which works as trusted Agent, to
> > set permissions for the devices, passed-through to the Guest Domains,
> > which are non-trusted Agents. Trusted and non-trusted Agent terms described
> > in Section 4.1.1 [0].
> > 
> > [0] https://urldefense.com/v3/__https://developer.arm.com/documentation/den0056/latest__;!!GF_29dbcQIUBPA!kOUan6_nwTf375KaLzZxwHSYqYp1ptLUolUEoK-t3Wb4gsN3ajUC0qQBh6TdAMXQYrn8$ [developer[.]arm[.]com]
> > 
> > Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@xxxxxxxx>
> > ---
> >  .../bindings/firmware/xen,scmi-devid.yaml     | 42 +++++++++++++++++++
> >  1 file changed, 42 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/firmware/xen,scmi-devid.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/firmware/xen,scmi-devid.yaml b/Documentation/devicetree/bindings/firmware/xen,scmi-devid.yaml
> > new file mode 100644
> > index 000000000000..49dc9951b54d
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/firmware/xen,scmi-devid.yaml
> > @@ -0,0 +1,42 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +# Copyright 2022 EPAM Systems.
> > +%YAML 1.2
> > +---
> > +$id: https://urldefense.com/v3/__http://devicetree.org/schemas/firmware/xen,scmi-devid.yaml*__;Iw!!GF_29dbcQIUBPA!kOUan6_nwTf375KaLzZxwHSYqYp1ptLUolUEoK-t3Wb4gsN3ajUC0qQBh6TdAPJC8yo3$ [devicetree[.]org]
> > +$schema: https://urldefense.com/v3/__http://devicetree.org/meta-schemas/core.yaml*__;Iw!!GF_29dbcQIUBPA!kOUan6_nwTf375KaLzZxwHSYqYp1ptLUolUEoK-t3Wb4gsN3ajUC0qQBh6TdADgb5MTo$ [devicetree[.]org]
> > +
> > +title: Xen SCMI (System Control and Management Interface) Device ID binding
> > +
> > +maintainers:
> > +  - Oleksii Moisieiev <oleksii_moisieiev@xxxxxxxx>
> > +
> > +select: true
> > +
> > +description: |
> > +  SCMI device_id property is intended to set the device id, needed to manage
> > +  the device permissions via SCMI protocol in the firmware. The device_id
> > +  should match device ids, defined in the firmware so the device permissions
> > +  can be requested by sending BASE_SET_DEVICE_PERMISSIONS (see 4.2.2.10 of [0]).
> > +
> > +  This property is used by Xen hypervisor to set the device permissions for
> > +  the Guest Domains. Where Xen is trusted Agent and Guest Domains are
> > +  non-trusted Agents.
> > +
> > +  [0] https://urldefense.com/v3/__https://developer.arm.com/documentation/den0056/latest__;!!GF_29dbcQIUBPA!kOUan6_nwTf375KaLzZxwHSYqYp1ptLUolUEoK-t3Wb4gsN3ajUC0qQBh6TdAMXQYrn8$ [developer[.]arm[.]com]
> > +
> > +properties:
> > +  xen,scmi-devid:
> > +    description: Identifier of the device, matching device id, defined in
> > +      the firmware.
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> > +
> > +additionalProperties: true
> > +
> > +examples:
> > +  - |
> > +    ohci1: usb@ee0a0000 {
> > +        /* ... */
> > +        reg = <0xee0a0000 0x100>;
> > +        xen,scmi-devid = <11>;
> 
> This will cause validation errors unless xen,scmi-devid is listed or 
> this schema is referenced in every possible device schema. That 
> doesn't scale, but we don't really have a solution to that. For some 
> common properties, the tools will add certain properties. If we 
> come up with something common, we'll need to add it. Or we may 
> need to come up with something more data driven where certain schemas 
> are automatically added.
> 
> Rob
> 
> > +        clocks = <&scmi_clock 4>;
> > +    };
> > -- 
> > 2.27.0
> > 



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux