lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <32fafa74-8964-c9cf-f95b-f2cd084f46c6@foss.st.com>
Date:   Thu, 25 May 2023 10:14:52 +0200
From:   Raphael Gallais-Pou <raphael.gallais-pou@...s.st.com>
To:     Marek Vasut <marex@...x.de>, David Airlie <airlied@...il.com>,
        Daniel Vetter <daniel@...ll.ch>,
        Rob Herring <robh+dt@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        Conor Dooley <conor+dt@...nel.org>,
        Maxime Coquelin <mcoquelin.stm32@...il.com>,
        Alexandre Torgue <alexandre.torgue@...s.st.com>,
        Philippe Cornu <philippe.cornu@...s.st.com>,
        Yannick Fertre <yannick.fertre@...s.st.com>
CC:     <dri-devel@...ts.freedesktop.org>, <devicetree@...r.kernel.org>,
        <linux-stm32@...md-mailman.stormreply.com>,
        <linux-arm-kernel@...ts.infradead.org>,
        <linux-kernel@...r.kernel.org>, <kernel@...electronics.com>
Subject: Re: [PATCH v3 3/3] ARM: dts: stm32: fix several DT warnings on
 stm32mp15


On 5/18/23 01:33, Marek Vasut wrote:
> On 5/17/23 19:04, Raphael Gallais-Pou wrote:
>> Hi Marek
>
> Hi,
>
>> On 5/17/23 17:41, Marek Vasut wrote:
>>> On 5/17/23 16:35, Raphael Gallais-Pou wrote:
>>>
>>> Hi,
>>>
>>>> diff --git a/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
>>>> b/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
>>>> index 0f1110e42c93..a6e2e20f12fa 100644
>>>> --- a/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
>>>> +++ b/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
>>>> @@ -457,8 +457,7 @@ &ltdc {
>>>>        status = "okay";
>>>>          port {
>>>> -        ltdc_ep0_out: endpoint@0 {
>>>> -            reg = <0>;
>>>> +        ltdc_ep0_out: endpoint {
>>>>                remote-endpoint = <&sii9022_in>;
>>>>            };
>>>>        };
>>>
>>> This LTDC port/endpoint stuff always scares me, because I always feel I get it
>>> wrong.
>>>
>>> I believe the LTDC does have one "port" , correct.
>>>
>>> But I think (?) that the LTDC has two endpoints, endpoint@0 for DPI (parallel
>>> output out of the SoC) and endpoint@1 for DSI (internal connection into the
>>> DSI serializer) ?
>>
>> You are correct indeed, I rushed the patch and did not thought about this. I
>> agree that this can be confusing, as I also take some time to think through it.
>>
>>>
>>> Only one of the endpoints can be connected at a time, but there are actually
>>> two endpoints in the LTDC port {} node, aren't there ?
>> Yes, they are mutually exclusive.
>>>
>>> So the original description should be OK I think , maybe #address/#size-cells
>>> are missing instead ?
>>
>> Thing is: this file is only included in two device-trees : stm32mp157c-dk1.dts
>> and stm32mp157c-dk2.dts.
>>
>> Among those two files there is only one which adds a second endpoint. Thus if
>> the fields are set higher in the hierarchy, a warning yields.
>
> I do not understand this one part, which warning are you trying to fix ?
> I just ran '$ make CHECK_DTBS=1 stm32mp157a-dk1.dtb stm32mp157c-dk2.dtb' in
> latest linux-next and there was no warning related to LTDC .

I'm sorry, I looked back at it and my explanations are confusing.

I use Alex Torgue's tree, and I'm based on the next branch, but linux-next
should be the same I just checked it.

>
> I think if you retain the stm32mp151.dtsi &ltdc { port { #address-cells = <1>;
> #size-cells = <0>; }; }; part, then you wouldn't be getting any warnings
> regarding LTDC , and you wouldn't have to remove the unit-address from
> endpoint@0 .
>
> btw. I do use both endpoint@...ndpoint@1 in Avenger96 DTOs, but those are not
> submitted yet, I have to clean them up a bit more first.
>
>> One way to do it would be to make the endpoint@0 go down in the device-tree with
>> its dependencies, so that both endpoints are the same level without generating
>> noise.
>
> I'm afraid I really don't quite understand which warning you're referring to.
> Can you please share that warning and ideally how to trigger it (the
> command-line incantation) ?

Using '$ make dtbs W=1', you can observe several of the followings:

arch/arm/boot/dts/stm32mp151.dtsi:1533.9-1536.6: Warning
(avoid_unnecessary_addr_size): /soc/display-controller@...01000/port:
unnecessary #address-cells/#size-cells without "ranges" or child "reg" property
arch/arm/boot/dts/stm32mp151.dtsi:1533.9-1536.6: Warning (graph_child_address):
/soc/display-controller@...01000/port: graph node has single child node
'endpoint@0', #address-cells/#size-cells are not necessary

This &ltdc { port { #address-cells = <1>; #size-cells = <0>; }; }; part is
actually annoying. This is because there is several device-trees that only got
one endpoint, and some other that includes two.

For instance: stm32mp15xx-dhcor-avenger96.dtsi vs stm32mp157c-dk2.dts.

I would like to remove to root part of address/size field and let only the lower
device-trees with with multiple endpoints handle their own fields. I hope this
explains a bit better my process.

Regards,
Raphaël Gallais-Pou

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ