Re: [PATCH v29 1/7] dt-bindings: mediatek: add ethdr definition for mt8195

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

 



Il 21/03/23 06:33, Nancy Lin (林欣螢) ha scritto:
Dear Angelo,

Sorry for late reply.

On Fri, 2023-03-17 at 10:58 +0100, AngeloGioacchino Del Regno wrote:
Il 17/03/23 10:52, Nancy Lin (林欣螢) ha scritto:
On Fri, 2023-03-17 at 10:37 +0100, AngeloGioacchino Del Regno
wrote:
Il 17/03/23 10:03, Krzysztof Kozlowski ha scritto:
On 17/03/2023 08:55, Nancy Lin (林欣螢) wrote:
On Thu, 2023-03-16 at 12:36 +0100, Krzysztof Kozlowski wrote:
On 16/03/2023 10:53, AngeloGioacchino Del Regno wrote:

Hello Krzysztof, Nancy,

Since this series has reached v29, can we please reach an
agreement
on the bindings
to use here, so that we can get this finally upstreamed?

I will put some examples to try to get this issue
resolved.

### Example 1: Constrain the number of GCE entries to
*seven*
array
elements (7x4!)

      mediatek,gce-client-reg:
        $ref: /schemas/types.yaml#/definitions/phandle-
array
        maxItems: 1
        description: The register of display function
block to
be set
by gce.
          There are 4 arguments in this property, gce
node,
subsys id,
offset and
          register size. The subsys id is defined in the
gce
header of
each chips
          include/dt-bindings/gce/<chip>-gce.h, mapping to
the
register of display
          function block.
        items:
          minItems: 28
          maxItems: 28
          items:                     <----- this block
doesn't
seem to
get checked :\
            - description: phandle of GCE
            - description: GCE subsys id
            - description: register offset
            - description: register size

This is what we would like to have but it requires
exception in
dtschema. Thus:



### Example 2: Don't care about constraining the number
of
arguments

      mediatek,gce-client-reg:
        $ref: /schemas/types.yaml#/definitions/phandle-
array
        maxItems: 1
        description: The register of display function
block to
be set
by gce.
          There are 4 arguments in this property, gce
node,
subsys id,
offset and
          register size. The subsys id is defined in the
gce
header of
each chips
          include/dt-bindings/gce/<chip>-gce.h, mapping to
the
register of display
          function block.

use this.

Best regards,
Krzysztof


Hi Krzysztof, Angelo,

Thanks for the comment.
The Example 2 can pass dt_binding_check.

But the example in the binding has 7 items [1] and dts [2].
Does
the
"maxItems: 1" affect any other schema or dts check?

Ah, then it should be maxItems: 7, not 1.


Keep in mind for your v30:

maxItems: 7 will pass - but only if minItems is *not* 7 :-)

-> (so, do not declare minItems, as default is 1) <-

Regards,
Angelo


Hi Angelo,

I still have one message [1] when runing dt_binding_check for
"example
2 + maxItems: 7" [2].

[1]
/proj/mtk19347/cros/src/third_party/kernel/v5.10/Documentation/devi
cetr
ee/bindings/display/mediatek/mediatek,ethdr.example.dtb:
hdr-engine@1c114000: mediatek,gce-client-reg: [[4294967295, 7,
16384,
4096, 4294967295, 7, 20480, 4096, 4294967295, 7, 28672, 4096,
4294967295, 7, 36864, 4096, 4294967295, 7, 40960, 4096, 4294967295,
7,
45056, 4096, 4294967295, 7, 49152, 4096]] is too short


[2]
     mediatek,gce-client-reg:
       $ref: /schemas/types.yaml#/definitions/phandle-array
       maxItems: 7
       description: The register of display function block to be set
by
gce.
         There are 4 arguments in this property, gce node, subsys
id,
offset and
         register size. The subsys id is defined in the gce header
of
each chips
         include/dt-bindings/gce/<chip>-gce.h, mapping to the
register of
display
         function block.


Maybe I'm wrong about the "do not declare minItems"... try with

minItems: 1
maxItems: 7


...does it work now?


Yes, It works well with "example2 + minItems:1 + maxItems: 7" [1]

[1]
   mediatek,gce-client-reg:
     $ref: /schemas/types.yaml#/definitions/phandle-array
     minItems: 1
     maxItems: 7
     description: The register of display function block to be set by
gce.
       There are 4 arguments in this property, gce node, subsys id,
offset and
       register size. The subsys id is defined in the gce header of each
chips
       include/dt-bindings/gce/<chip>-gce.h, mapping to the register of
display
       function block.


Please send a v30 with that solution ASAP then, so that we may perhaps *finally*
get it in for v6.4.

Regards,
Angelo



[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