[Freedreno] [PATCH v11 2/5] dt-bindings: msm/dp: add data-lanes and link-frequencies property

Kuogee Hsieh quic_khsieh at quicinc.com
Fri Dec 9 00:22:45 UTC 2022


On 12/8/2022 4:11 PM, Dmitry Baryshkov wrote:
> On 09/12/2022 01:38, Kuogee Hsieh wrote:
>>
>> On 12/8/2022 3:33 PM, Dmitry Baryshkov wrote:
>>> On 09/12/2022 00:36, Kuogee Hsieh wrote:
>>>> Add both data-lanes and link-frequencies property into endpoint
>>>>
>>>> Changes in v7:
>>>> -- split yaml out of dtsi patch
>>>> -- link-frequencies from link rate to symbol rate
>>>> -- deprecation of old data-lanes property
>>>>
>>>> Changes in v8:
>>>> -- correct Bjorn mail address to kernel.org
>>>>
>>>> Changes in v10:
>>>> -- add menu item to data-lanes and link-frequecnis
>>>>
>>>> Changes in v11:
>>>> -- add endpoint property at port at 1
>>>>
>>>> Signed-off-by: Kuogee Hsieh <quic_khsieh at quicinc.com>`
>>>
>>> Applying: dt-bindings: msm/dp: add data-lanes and link-frequencies 
>>> property
>>> .git/rebase-apply/patch:47: trailing whitespace.
>>>
>>> .git/rebase-apply/patch:51: trailing whitespace.
>>>
>>>
>>> Also the dt_binding_check fails with an error for this schema. And 
>>> after fixing the error in the schema I faced an example validation 
>>> error. Did you check that the schema is correct and that the example 
>>> validates against the schema?
>>
>> yes, but i run "make dt_binding_check 
>> DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/msm/dp-controller.yaml" 
>> at mu v5.15 branch since
>
> I wouldn't ask you to post the log here. But I don't think that either 
> of the errors that I see here is related to 5.15 vs 6.1-rc.
>
> In fact after applying this patch against 5.15 I saw the expected 
> failure:
>
> Documentation/devicetree/bindings/display/msm/dp-controller.yaml: 
> properties:required: ['port at 0', 'port at 1'] is not of type 'object', 
> 'boolean'
> Documentation/devicetree/bindings/display/msm/dp-controller.yaml: 
> properties: 'required' should not be valid under {'$ref': 
> '#/definitions/json-schema-prop-names'}
> Documentation/devicetree/bindings/display/msm/dp-controller.yaml: 
> ignoring, error in schema: properties: required
>
>>
>> "make dt_binding_check" does not work at msm-next branch.
>
> I went ahead and just checked.
>
> `make dt_binding_check DT_SCHEMA_FILES=display/msm`  works cleanly in 
> msm-next and reports a single example-related warning in 
> msm-next-lumag. I pushed a patch to fix that warning (wich can 
> hopefully be picked up by Abhinav into msm-fixes). So you can assume 
> that both these branches have consistent error-free display/msm schemas.
>
I have clean msm-next branch (without my data-lines yaml patch applied) 
and run "make dt_binding_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/msm/dp-controller.yaml", 
then I saw below error messages.

Have you run into this problem?

   HOSTCC  scripts/basic/fixdep
   HOSTCC  scripts/dtc/dtc.o
   HOSTCC  scripts/dtc/flattree.o
   HOSTCC  scripts/dtc/fstree.o
   HOSTCC  scripts/dtc/data.o
   HOSTCC  scripts/dtc/livetree.o
   HOSTCC  scripts/dtc/treesource.o
   HOSTCC  scripts/dtc/srcpos.o
   HOSTCC  scripts/dtc/checks.o
   HOSTCC  scripts/dtc/util.o
   LEX     scripts/dtc/dtc-lexer.lex.c
   HOSTCC  scripts/dtc/dtc-lexer.lex.o
   HOSTCC  scripts/dtc/dtc-parser.tab.o
   HOSTLD  scripts/dtc/dtc
sort: -:2: disorder: 2022.1
ERROR: dtschema minimum version is v2022.3
make[2]: *** [check_dtschema_version] Error 1
make[1]: *** [dt_binding_check] Error 2
make: *** [__sub-make] Error 2

>>
>> But I did not check trainiling whitespace this time.
>>
>>>
>>>> ---
>>>>   .../bindings/display/msm/dp-controller.yaml        | 27 
>>>> ++++++++++++++++++++++
>>>>   1 file changed, 27 insertions(+)
>>>>
>>>> diff --git 
>>>> a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml 
>>>> b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
>>>> index f2515af..2a7fdef8 100644
>>>> --- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
>>>> +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
>>>> @@ -81,6 +81,7 @@ properties:
>>>>       data-lanes:
>>>>       $ref: /schemas/types.yaml#/definitions/uint32-array
>>>> +    deprecated: true
>>>>       minItems: 1
>>>>       maxItems: 4
>>>>       items:
>>>> @@ -96,6 +97,7 @@ properties:
>>>>       ports:
>>>>       $ref: /schemas/graph.yaml#/properties/ports
>>>> +
>>>>       properties:
>>>>         port at 0:
>>>>           $ref: /schemas/graph.yaml#/properties/port
>>>> @@ -105,6 +107,29 @@ properties:
>>>>           $ref: /schemas/graph.yaml#/properties/port
>>>>           description: Output endpoint of the controller
>>>>   +        properties:
>>>> +          endpoint:
>>>> +            $ref: /schemas/media/video-interfaces.yaml#
>>>> +
>>>> +            properties:
>>>> +              remote-endpoint: true
>>>
>>> PLease add empty lines between the property definitions
>>>
>>>> +              data-lanes:
>>>> +                $ref: /schemas/types.yaml#/definitions/uint32-array
>>>
>>> This is already a part of video-interfaces, so you don't need $ref
>>>
>>>> +                minItems: 1
>>>> +                maxItems: 4
>>>> +                items:
>>>> +                  maximum: 3
>>>
>>> enum: [0, 1, 2, 3]
>>>
>>>> +              link-frequencies:
>>>> +                $ref: /schemas/types.yaml#/definitions/uint64-array
>>>> +                minItems: 1
>>>> +                maxItems: 4
>>>> +                items:
>>>> +                  maximum: 8100000000
>>>
>>> I think we can have enum here too.
>>>
>>>> +
>>>> +  required:
>>>> +    - port at 0
>>>> +    - port at 1
>>>> +
>>>>   required:
>>>>     - compatible
>>>>     - reg
>>>> @@ -193,6 +218,8 @@ examples:
>>>>                   reg = <1>;
>>>>                   endpoint {
>>>>                       remote-endpoint = <&typec>;
>>>> +                    data-lanes = <0 1>;
>>>> +                    link-frequencies = /bits/ 64 <1620000000 
>>>> 2700000000 5400000000 8100000000>;
>>>>                   };
>>>>               };
>>>>           };
>>>
>


More information about the Freedreno mailing list