[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <427ce8cd-977b-03ae-2020-f5ddc7439390@samsung.com>
Date: Tue, 24 Aug 2021 09:03:41 +0200
From: Marek Szyprowski <m.szyprowski@...sung.com>
To: Saravana Kannan <saravanak@...gle.com>
Cc: Rob Herring <robh+dt@...nel.org>,
Frank Rowand <frowand.list@...il.com>,
Andrew Lunn <andrew@...n.ch>, netdev@...r.kernel.org,
kernel-team@...roid.com, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
Neil Armstrong <narmstrong@...libre.com>,
linux-amlogic@...ts.infradead.org
Subject: Re: [PATCH v2] of: property: fw_devlink: Add support for
"phy-handle" property
Hi,
On 23.08.2021 20:22, Saravana Kannan wrote:
> On Mon, Aug 23, 2021 at 5:08 AM Marek Szyprowski
> <m.szyprowski@...sung.com> wrote:
>> On 18.08.2021 04:17, Saravana Kannan wrote:
>>> Allows tracking dependencies between Ethernet PHYs and their consumers.
>>>
>>> Cc: Andrew Lunn <andrew@...n.ch>
>>> Cc: netdev@...r.kernel.org
>>> Signed-off-by: Saravana Kannan <saravanak@...gle.com>
>> This patch landed recently in linux-next as commit cf4b94c8530d ("of:
>> property: fw_devlink: Add support for "phy-handle" property"). It breaks
>> ethernet operation on my Amlogic-based ARM64 boards: Odroid C4
>> (arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts) and N2
>> (meson-g12b-odroid-n2.dts) as well as Khadas VIM3/VIM3l
>> (meson-g12b-a311d-khadas-vim3.dts and meson-sm1-khadas-vim3l.dts).
>>
>> In case of OdroidC4 I see the following entries in the
>> /sys/kernel/debug/devices_deferred:
>>
>> ff64c000.mdio-multiplexer
>> ff3f0000.ethernet
>>
>> Let me know if there is anything I can check to help debugging this issue.
> I'm fairly certain you are hitting this issue because the PHY device
> doesn't have a compatible property. And so the device link dependency
> is propagated up to the mdio bus. But busses as suppliers aren't good
> because busses never "probe".
>
> PHY seems to be one of those cases where it's okay to have the
> compatible property but also okay to not have it. You can confirm my
> theory by checking for the list of suppliers under
> ff64c000.mdio-multiplexer. You'd see mdio@0 (ext_mdio) and if you look
> at the "status" file under the folder it should be "dormant". If you
> add a compatible property that fits the formats a PHY node can have,
> that should also fix your issue (not the solution though).
Where should I look for the mentioned device links 'status' file?
# find /sys -name ff64c000.mdio-multiplexer
/sys/devices/platform/soc/ff600000.bus/ff64c000.mdio-multiplexer
/sys/bus/platform/devices/ff64c000.mdio-multiplexer
# ls -l /sys/devices/platform/soc/ff600000.bus/ff64c000.mdio-multiplexer
total 0
lrwxrwxrwx 1 root root 0 Jan 1 00:04
consumer:platform:ff3f0000.ethernet ->
../../../../virtual/devlink/platform:ff64c000.mdio-multiplexer--platform:ff3f0000.ethernet
-rw-r--r-- 1 root root 4096 Jan 1 00:04 driver_override
-r--r--r-- 1 root root 4096 Jan 1 00:04 modalias
lrwxrwxrwx 1 root root 0 Jan 1 00:04 of_node ->
../../../../../firmware/devicetree/base/soc/bus@...00000/mdio-multiplexer@...00
drwxr-xr-x 2 root root 0 Jan 1 00:02 power
lrwxrwxrwx 1 root root 0 Jan 1 00:04 subsystem ->
../../../../../bus/platform
lrwxrwxrwx 1 root root 0 Jan 1 00:04
supplier:platform:ff63c000.system-controller:clock-controller ->
../../../../virtual/devlink/platform:ff63c000.system-controller:clock-controller--platform:ff64c000.mdio-multiplexer
-rw-r--r-- 1 root root 4096 Jan 1 00:04 uevent
-r--r--r-- 1 root root 4096 Jan 1 00:04 waiting_for_supplier
# cat
/sys/devices/platform/soc/ff600000.bus/ff64c000.mdio-multiplexer/waiting_for_supplier
0
I'm also not sure what compatible string should I add there.
> I'll send out a fix this week (once you confirm my analysis). Thanks
> for reporting it.
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
Powered by blists - more mailing lists