Message ID | 20230718160833.36397-2-quic_nkela@quicinc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add qcom hvc/shmem transport | expand |
On Tue, 18 Jul 2023 09:08:32 -0700, Nikunj Kela wrote: > Introduce compatible "qcom,scmi-hvc-shmem" for SCMI > transport channel for Qualcomm virtual platforms. > The compatible mandates a shared memory channel. > > Signed-off-by: Nikunj Kela <quic_nkela@quicinc.com> > --- > .../bindings/firmware/arm,scmi.yaml | 69 +++++++++++++++++++ > 1 file changed, 69 insertions(+) > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: Error: Documentation/devicetree/bindings/firmware/arm,scmi.example.dts:194.31-32 syntax error FATAL ERROR: Unable to parse input tree make[2]: *** [scripts/Makefile.lib:419: Documentation/devicetree/bindings/firmware/arm,scmi.example.dtb] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1500: dt_binding_check] Error 2 make: *** [Makefile:234: __sub-make] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230718160833.36397-2-quic_nkela@quicinc.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On Tue, Jul 18, 2023 at 09:08:32AM -0700, Nikunj Kela wrote: > Introduce compatible "qcom,scmi-hvc-shmem" for SCMI > transport channel for Qualcomm virtual platforms. > The compatible mandates a shared memory channel. > > Signed-off-by: Nikunj Kela <quic_nkela@quicinc.com> > --- > .../bindings/firmware/arm,scmi.yaml | 69 +++++++++++++++++++ > 1 file changed, 69 insertions(+) > > diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml > index b138f3d23df8..605b1e997a85 100644 > --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml > +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml > @@ -45,6 +45,9 @@ properties: > - description: SCMI compliant firmware with OP-TEE transport > items: > - const: linaro,scmi-optee > + - description: SCMI compliant firmware with Qualcomm hvc/shmem transport > + items: > + - const: qcom,scmi-hvc-shmem > > interrupts: > description: > @@ -321,6 +324,16 @@ else: > required: > - linaro,optee-channel-id > > + else: > + if: > + properties: > + compatible: > + contains: > + const: qcom,scmi-hvc-shmem > + then: > + required: > + - shmem > + Since this was done after we merged the support recently for extension of SMC/HVC, I need the reason(s) why this can't be used and based on the response this is new change so it can't be because there is a product already supporting this. So for now, NACK until I get the response for these.
On 7/19/2023 3:39 AM, Sudeep Holla wrote: > On Tue, Jul 18, 2023 at 09:08:32AM -0700, Nikunj Kela wrote: >> Introduce compatible "qcom,scmi-hvc-shmem" for SCMI >> transport channel for Qualcomm virtual platforms. >> The compatible mandates a shared memory channel. >> >> Signed-off-by: Nikunj Kela <quic_nkela@quicinc.com> >> --- >> .../bindings/firmware/arm,scmi.yaml | 69 +++++++++++++++++++ >> 1 file changed, 69 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml >> index b138f3d23df8..605b1e997a85 100644 >> --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml >> +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml >> @@ -45,6 +45,9 @@ properties: >> - description: SCMI compliant firmware with OP-TEE transport >> items: >> - const: linaro,scmi-optee >> + - description: SCMI compliant firmware with Qualcomm hvc/shmem transport >> + items: >> + - const: qcom,scmi-hvc-shmem >> >> interrupts: >> description: >> @@ -321,6 +324,16 @@ else: >> required: >> - linaro,optee-channel-id >> >> + else: >> + if: >> + properties: >> + compatible: >> + contains: >> + const: qcom,scmi-hvc-shmem >> + then: >> + required: >> + - shmem >> + > Since this was done after we merged the support recently for extension of > SMC/HVC, I need the reason(s) why this can't be used and based on the response > this is new change so it can't be because there is a product already > supporting this. So for now, NACK until I get the response for these. Our hypervisor deals with objects and uses object-ids to identify them. The hvc doorbell object is independent of the shmem object created by hypervisor. Hypervisor treats them independently. With the patch you mentioned, hypervisor need to create an association between the doorbell object and shmem object which will make it SCMI specific change in hypervisor. Hypervisor doesn't really care if doorbell is for SCMI or for other purposes hence we are adding this new driver so it can work with our hypervisor ABIs specification.
diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml index b138f3d23df8..605b1e997a85 100644 --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml @@ -45,6 +45,9 @@ properties: - description: SCMI compliant firmware with OP-TEE transport items: - const: linaro,scmi-optee + - description: SCMI compliant firmware with Qualcomm hvc/shmem transport + items: + - const: qcom,scmi-hvc-shmem interrupts: description: @@ -321,6 +324,16 @@ else: required: - linaro,optee-channel-id + else: + if: + properties: + compatible: + contains: + const: qcom,scmi-hvc-shmem + then: + required: + - shmem + examples: - | firmware { @@ -444,6 +457,62 @@ examples: }; }; + - | + firmware { + scmi_dpu { + compatible = "qcom,scmi-hvc-shmem"; + shmem = <&shmem_dpu>; + + #address-cells = <1>; + #size-cells = <0>; + + scmi_pd_dpu: protocol@11 { + reg = <0x11>; + #power-domain-cells = <1>; + }; + }; + + scmi_gpu { + compatible = "qcom,scmi-hvc-shmem"; + shmem = <&shmem_gpu>; + + interrupts = <GIC_SPI 931 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "a2p"; + + #address-cells = <1>; + #size-cells = <0>; + + scmi_pd_gpu: protocol@11 { + reg = <0x11>; + #power-domain-cells = <1>; + }; + }; + }; + + soc { + #address-cells = <1>; + #size-cells = <1>; + + sram@95c00000 { + compatible = "mmio-sram"; + reg = <0x95c00000 0x10000>; + + #address-cells = <1>; + #size-cells = <1>; + ranges; + + shmem_dpu: scmi-sram-dpu@95c00000 { + compatible = "arm,scmi-shmem"; + reg = <0x95c00000 0x3f0>; + }; + + shmem_gpu: scmi-sram-gpu@95c00400 { + compatible = "arm,scmi-shmem"; + reg = <0x95c00400 0x3f0>; + }; + }; + }; + - | firmware { scmi {
Introduce compatible "qcom,scmi-hvc-shmem" for SCMI transport channel for Qualcomm virtual platforms. The compatible mandates a shared memory channel. Signed-off-by: Nikunj Kela <quic_nkela@quicinc.com> --- .../bindings/firmware/arm,scmi.yaml | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+)