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

From: AngeloGioacchino Del Regno
Date: Thu Mar 16 2023 - 05:54:25 EST


Il 16/03/23 07:31, Krzysztof Kozlowski ha scritto:
On 16/03/2023 07:19, Nancy Lin (林欣螢) wrote:
On Wed, 2023-03-15 at 08:16 +0100, Krzysztof Kozlowski wrote:
On 15/03/2023 04:45, Nancy Lin (林欣螢) wrote:


..snip..



[1].
Documentation/devicetree/bindings/display/mediatek/mediatek,ethdr.e
xamp
le.dtb
/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:0: [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 long
From schema:

This looks like known issue with phandles with variable number of
arguments. Either we add it to the exceptions or just define it in
reduced way like in other cases - only maxItems: 1 without describing
items.


...


But I have several items for this vendor property in the binding
example.

Do you? I thought you have one phandle?

Can I remove maxItems? Change the mediatek,gce-client-reg as [1].

[1]
mediatek,gce-client-reg:
$ref: /schemas/types.yaml#/definitions/phandle-array
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.

No, this needs some constraints.

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


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


Regards,
Angelo