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: <20220630201617.sqpihcevym7sxqng@soft-dev3-1.localhost>
Date:   Thu, 30 Jun 2022 22:16:17 +0200
From:   Horatiu Vultur <horatiu.vultur@...rochip.com>
To:     Michael Walle <michael@...le.cc>
CC:     Andy Shevchenko <andy.shevchenko@...il.com>,
        Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
        Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
        "Rafael J. Wysocki" <rafael@...nel.org>,
        Rob Herring <robh+dt@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
        devicetree <devicetree@...r.kernel.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: fwnode_for_each_child_node() and OF backend discrepancy

The 06/28/2022 23:07, Michael Walle wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Am 2022-06-28 22:52, schrieb Horatiu Vultur:
> > The 06/28/2022 22:28, Andy Shevchenko wrote:
> > > EXTERNAL EMAIL: Do not click links or open attachments unless you know
> > > the content is safe
> > > 
> > > On Tue, Jun 28, 2022 at 5:17 PM Krzysztof Kozlowski
> > > <krzysztof.kozlowski@...aro.org> wrote:
> > > > On 28/06/2022 17:09, Michael Walle wrote:
> > 
> > Hi,
> > 
> > Sorry for joint this late.
> > 
> > > 
> > > ...
> > > 
> > > > > Mh. Assume a SoC with an integrated ethernet switch. Some ports
> > > > > are externally connected, some don't. I'd think they should be disabled,
> > > > > no? Until now, all bindings I know, treat them as disabled. But OTOH
> > > > > you still need to do some configurations on them, like disable port
> > > > > forwarding, disable them or whatever. So the hardware is present, but
> > > > > it is not connected to anything.
> > > >
> > > > I see your point and the meaning is okay... except that drivers don't
> > > > touch disabled nodes. If a device (with some address space) is disabled,
> > > > you do not write there "please be power off". Here the case is a bit
> > > > different, because I think ports do not have their own address space.
> > > > Yet it contradicts the logic - something is disabled in DT and you
> > > > expect to perform actual operations on it.
> > > 
> > > You beat me up to this comment, I also see a contradiction of what
> > > "disabled" means in your, Michael, case and what it should be.
> > > 
> > > If you need to perform an operation on some piece of HW, it has not to
> > > be disabled.
> > > 
> > > Or, you may deduce them by knowing how many ports in hardware (this is
> > > usually done not by counting the nodes, but by a property) and do
> > > whatever you want on ones, you have  not listed (by port_num) in the
> > > array of parsed children.
> > 
> > It is not possible to have a defined for the MAX number of ports that
> > supported by lan966x. Which is 8. And assigned that define to
> > num_phys_ports instead of counting the entries in DT?
> 
> You mean also for the lan9662? I'm pretty sure that doesn't
> work. Have a look where num_phys_ports is used. One random
> example:
> https://elixir.bootlin.com/linux/latest/source/drivers/net/ethernet/microchip/lan966x/lan966x_main.c#L874
> 
> So if your switch only has 4 ports, then I'd guess you'll
> access a non-existing register.

Underneath lan662 and lan668 is the same chip. The HW people disable
some ports/features on each platform but from what I know you will still
be able to access the registers.

> 
> -michael

-- 
/Horatiu

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ