diff mbox series

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

Message ID 1670539015-11808-3-git-send-email-quic_khsieh@quicinc.com (mailing list archive)
State New, archived
Headers show
Series Add data-lanes and link-frequencies to dp_out endpoint | expand

Commit Message

Kuogee Hsieh Dec. 8, 2022, 10:36 p.m. UTC
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@1

Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com>`
---
 .../bindings/display/msm/dp-controller.yaml        | 27 ++++++++++++++++++++++
 1 file changed, 27 insertions(+)

Comments

Dmitry Baryshkov Dec. 8, 2022, 11:33 p.m. UTC | #1
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@1
> 
> Signed-off-by: Kuogee Hsieh <quic_khsieh@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?

> ---
>   .../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@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@0
> +    - port@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>;
>                   };
>               };
>           };
Kuogee Hsieh Dec. 8, 2022, 11:38 p.m. UTC | #2
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@1
>>
>> Signed-off-by: Kuogee Hsieh <quic_khsieh@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

"make dt_binding_check" does not work at msm-next branch.

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@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@0
>> +    - port@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>;
>>                   };
>>               };
>>           };
>
Dmitry Baryshkov Dec. 9, 2022, 12:11 a.m. UTC | #3
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@1
>>>
>>> Signed-off-by: Kuogee Hsieh <quic_khsieh@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@0', 'port@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.

> 
> 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@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@0
>>> +    - port@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>;
>>>                   };
>>>               };
>>>           };
>>
Kuogee Hsieh Dec. 9, 2022, 12:22 a.m. UTC | #4
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@1
>>>>
>>>> Signed-off-by: Kuogee Hsieh <quic_khsieh@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@0', 'port@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@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@0
>>>> +    - port@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>;
>>>>                   };
>>>>               };
>>>>           };
>>>
>
Dmitry Baryshkov Dec. 9, 2022, 12:35 a.m. UTC | #5
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@1
>>>>>
>>>>> Signed-off-by: Kuogee Hsieh <quic_khsieh@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@0', 'port@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.

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

> 
>>>
>>> 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@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@0
>>>>> +    - port@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>;
>>>>>                   };
>>>>>               };
>>>>>           };
>>>>
>>
Rob Herring (Arm) Dec. 9, 2022, 12:14 p.m. UTC | #6
On Thu, 08 Dec 2022 14:36:52 -0800, 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@1
> 
> Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com>`
> ---
>  .../bindings/display/msm/dp-controller.yaml        | 27 ++++++++++++++++++++++
>  1 file changed, 27 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:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/msm/dp-controller.yaml: properties:required: ['port@0', 'port@1'] is not of type 'object', 'boolean'
	from schema $id: http://json-schema.org/draft-07/schema#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/msm/dp-controller.yaml: properties: 'required' should not be valid under {'$ref': '#/definitions/json-schema-prop-names'}
	hint: A json-schema keyword was found instead of a DT property name.
	from schema $id: http://devicetree.org/meta-schemas/keywords.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/msm/dp-controller.yaml: ignoring, error in schema: properties: required
Documentation/devicetree/bindings/display/msm/dp-controller.example.dtb:0:0: /example-0/displayport-controller@ae90000: failed to match any schema with compatible: ['qcom,sc7180-dp']

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/1670539015-11808-3-git-send-email-quic_khsieh@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.
Krzysztof Kozlowski Dec. 9, 2022, 2:59 p.m. UTC | #7
On 09/12/2022 00: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@1
>>>
>>> Signed-off-by: Kuogee Hsieh <quic_khsieh@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

v5.15 branch is not correct branch to work on a kernel. Please do not
send patches based on this. You must work on mainline, maintainer's next
branch or linux-next.

> 
> "make dt_binding_check" does not work at msm-next branch.

Why would it not work there? I doubt that msm-next broke anything...


Best regards,
Krzysztof
Kuogee Hsieh Dec. 12, 2022, 5:51 p.m. UTC | #8
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@1
>>>>>>
>>>>>> Signed-off-by: Kuogee Hsieh <quic_khsieh@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@0', 'port@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@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@0
>>>>>> +    - port@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>;
>>>>>>                   };
>>>>>>               };
>>>>>>           };
>>>>>
>>>
>
Dmitry Baryshkov Dec. 12, 2022, 10:35 p.m. UTC | #9
On Mon, 12 Dec 2022 at 19:51, Kuogee Hsieh <quic_khsieh@quicinc.com> wrote:
>
>
> 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@1
> >>>>>>
> >>>>>> Signed-off-by: Kuogee Hsieh <quic_khsieh@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@0', 'port@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 did not since I hadn't had such a problem. I can refer again to the
steps I provided you beforehand. The email was sent 6 days ago. No
answer from your side since that time.

> I had run  "pip3 install dtschema --upgrade" and still not work.

Can you please post a full log of this command?

>
> D you know how to fix this problem?
>
> Thanks,
>
> kuogee
>
> 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

Please add the output of:

which dt-validate
dt-validate -V

And also a full log of your failing kernel build.



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

Wrong.

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

No. Please fix your system first, validate your patches and send them
afterwards. You can not expect others to do your job.

--
With best wishes
Dmitry
Abhinav Kumar Dec. 12, 2022, 11:41 p.m. UTC | #10
Hi Dmitry

On 12/12/2022 2:35 PM, Dmitry Baryshkov wrote:
> On Mon, 12 Dec 2022 at 19:51, Kuogee Hsieh <quic_khsieh@quicinc.com> wrote:
>>
>>
>> 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@1
>>>>>>>>
>>>>>>>> Signed-off-by: Kuogee Hsieh <quic_khsieh@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@0', 'port@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 did not since I hadn't had such a problem. I can refer again to the
> steps I provided you beforehand. The email was sent 6 days ago. No
> answer from your side since that time.
> 
>> I had run  "pip3 install dtschema --upgrade" and still not work.
> 
> Can you please post a full log of this command?
> 
>>
>> D you know how to fix this problem?
>>
>> Thanks,
>>
>> kuogee
>>
>> 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
> 
> Please add the output of:
> 
> which dt-validate
> dt-validate -V
> 
> And also a full log of your failing kernel build.
> 
> 
> 
>> 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.
> 
> Wrong.
> 
>>
>> 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?
> 
> No. Please fix your system first, validate your patches and send them
> afterwards. You can not expect others to do your job.
> 

Just finished working with kuogee on this. This issue had been reported 
by few others earlier (example 
https://lore.kernel.org/lkml/bc9be279-a130-d5e7-4397-bbb389d14403@intel.com/T/).

So let me summarize the fix:

1) We do need up upgrade the dtschema first

pip3 install git+https://github.com/devicetree-org/dt-schema.git@main

2) Python version issues were hitting some of the developers so even if 
we had the right version installed the PATH wasnt pointing to the right one

3) We had to install yamllint

We have documented these now for the benefit of others internally.

With all these 3 done, we can compile msm-next-lumag using
make dt_binding_check DT_SCHEMA_FILES=display/msm

Apologies for the setup issues on our end. These are resolved now and 
kuogee will post a v12 for this.

Thanks

Abhinav
> --
> With best wishes
> Dmitry
Dmitry Baryshkov Dec. 13, 2022, 1:02 a.m. UTC | #11
On 13 December 2022 02:41:55 GMT+03:00, Abhinav Kumar <quic_abhinavk@quicinc.com> wrote:
>Hi Dmitry
>
>On 12/12/2022 2:35 PM, Dmitry Baryshkov wrote:
>> On Mon, 12 Dec 2022 at 19:51, Kuogee Hsieh <quic_khsieh@quicinc.com> wrote:
>>> 
>>> 
>>> 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@1
>>>>>>>>> 
>>>>>>>>> Signed-off-by: Kuogee Hsieh <quic_khsieh@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@0', 'port@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 did not since I hadn't had such a problem. I can refer again to the
>> steps I provided you beforehand. The email was sent 6 days ago. No
>> answer from your side since that time.
>> 
>>> I had run  "pip3 install dtschema --upgrade" and still not work.
>> 
>> Can you please post a full log of this command?
>> 
>>> 
>>> D you know how to fix this problem?
>>> 
>>> Thanks,
>>> 
>>> kuogee
>>> 
>>> 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
>> 
>> Please add the output of:
>> 
>> which dt-validate
>> dt-validate -V
>> 
>> And also a full log of your failing kernel build.
>> 
>> 
>> 
>>> 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.
>> 
>> Wrong.
>> 
>>> 
>>> 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?
>> 
>> No. Please fix your system first, validate your patches and send them
>> afterwards. You can not expect others to do your job.
>> 
>
>Just finished working with kuogee on this. This issue had been reported by few others earlier (example https://lore.kernel.org/lkml/bc9be279-a130-d5e7-4397-bbb389d14403@intel.com/T/).

Thanks a lot for helping Kuogee!


>
>So let me summarize the fix:
>
>1) We do need up upgrade the dtschema first
>
>pip3 install git+https://github.com/devicetree-org/dt-schema.git@main

I'd stick to the released version, unless there is any indication that the trunk has any significant features. Rob, Krzysztof, please correct me if I'm wrong.


>
>2) Python version issues were hitting some of the developers so even if we had the right version installed the PATH wasnt pointing to the right one

Yes, that is what I expected, when I asked for the pip command log and for the `which' command output.

I usually install dtschema to my user's dir and add ~/.local/bin to PATH.

>
>3) We had to install yamllint
>
>We have documented these now for the benefit of others internally.
>
>With all these 3 done, we can compile msm-next-lumag using
>make dt_binding_check DT_SCHEMA_FILES=display/msm
>
>Apologies for the setup issues on our end. These are resolved now and kuogee will post a v12 for this.

Great, I'm looking forward to seeing it and finally merging it!


>
>Thanks
>
>Abhinav
>> --
>> With best wishes
>> Dmitry
Krzysztof Kozlowski Dec. 13, 2022, 1:13 p.m. UTC | #12
On 13/12/2022 00:41, Abhinav Kumar wrote:
>>>
>>> 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?
>>
>> No. Please fix your system first, validate your patches and send them
>> afterwards. You can not expect others to do your job.
>>
> 
> Just finished working with kuogee on this. This issue had been reported 
> by few others earlier (example 
> https://lore.kernel.org/lkml/bc9be279-a130-d5e7-4397-bbb389d14403@intel.com/T/).

This report says:
"Sorry for the inconvenience, please ignore this false positive."

Best regards,
Krzysztof
Abhinav Kumar Dec. 13, 2022, 5:31 p.m. UTC | #13
On 12/13/2022 5:13 AM, Krzysztof Kozlowski wrote:
> On 13/12/2022 00:41, Abhinav Kumar wrote:
>>>>
>>>> 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?
>>>
>>> No. Please fix your system first, validate your patches and send them
>>> afterwards. You can not expect others to do your job.
>>>
>>
>> Just finished working with kuogee on this. This issue had been reported
>> by few others earlier (example
>> https://lore.kernel.org/lkml/bc9be279-a130-d5e7-4397-bbb389d14403@intel.com/T/).
> 
> This report says:
> "Sorry for the inconvenience, please ignore this false positive."
> 

That was one of them, and I dont think its false, maybe because after 
fixing the PATH issues, the user deemed them as false.

Here is another one 
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20210812174209.1970-3-bbudiredla@marvell.com/ 
with the same report but no resolution.

So i thought for the benefit of others I would atleast summarize how we 
resolved them.

> Best regards,
> Krzysztof
>
Krzysztof Kozlowski Dec. 13, 2022, 7:22 p.m. UTC | #14
On 13/12/2022 18:31, Abhinav Kumar wrote:
> 
> 
> On 12/13/2022 5:13 AM, Krzysztof Kozlowski wrote:
>> On 13/12/2022 00:41, Abhinav Kumar wrote:
>>>>>
>>>>> 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?
>>>>
>>>> No. Please fix your system first, validate your patches and send them
>>>> afterwards. You can not expect others to do your job.
>>>>
>>>
>>> Just finished working with kuogee on this. This issue had been reported
>>> by few others earlier (example
>>> https://lore.kernel.org/lkml/bc9be279-a130-d5e7-4397-bbb389d14403@intel.com/T/).
>>
>> This report says:
>> "Sorry for the inconvenience, please ignore this false positive."
>>
> 
> That was one of them, and I dont think its false, maybe because after 
> fixing the PATH issues, the user deemed them as false.
> 
> Here is another one 
> https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20210812174209.1970-3-bbudiredla@marvell.com/ 
> with the same report but no resolution.

Thanks. Could be also Python mismatch. `make dt_binding_check` could use
dtschema from Python2 but the reporter used Python3 for checking the
version: `pip3 show dtschema`

> 
> So i thought for the benefit of others I would atleast summarize how we 
> resolved them.

Sure, that's helpful.


Best regards,
Krzysztof
diff mbox series

Patch

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@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
+              data-lanes:
+                $ref: /schemas/types.yaml#/definitions/uint32-array
+                minItems: 1
+                maxItems: 4
+                items:
+                  maximum: 3
+              link-frequencies:
+                $ref: /schemas/types.yaml#/definitions/uint64-array
+                minItems: 1
+                maxItems: 4
+                items:
+                  maximum: 8100000000
+  
+  required:
+    - port@0
+    - port@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>;
                 };
             };
         };