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

Kuogee Hsieh quic_khsieh at quicinc.com
Mon Dec 12 17:51:37 UTC 2022


On 12/8/2022 4:35 PM, Dmitry Baryshkov wrote:
> On 09/12/2022 02:22, Kuogee Hsieh wrote:
>>
>> 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?
>
> No.

Did you do anything to fix "older dtschema instance"?

I had run "pip3 install dtschema --upgrade" according Rob Herring response.
but it still shows same problem.
Please let know how can I fix 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
>
> This means that somewhere in your path you have an older dtschema 
> instance.
>
> When you sent me a question regarding this error, I asked for the 
> additional info. You provided none. Instead you went on sending the 
> untested patch that doesn't work.

since i can not test it on msm-next so that I did test it at my v5-15 
branch.

besides, i think i have to sent the whole series patches include this 
one to address your new comments on other patch.

is this correct?


>
>>
>>>>
>>>> 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