PROBLEM: Broken or delayed ethernet on Xilinx ZCU104 since 5.18 (regression)

Rob Herring robh at kernel.org
Fri Aug 4 13:22:31 PDT 2023


+Saravana

On Fri, Aug 4, 2023 at 11:52 AM Nick Bowler <nbowler at draconx.ca> wrote:
>
> On 2023-08-04, Rob Herring <robh at kernel.org> wrote:
> > On Fri, Aug 4, 2023 at 10:54 AM Nick Bowler <nbowler at draconx.ca> wrote:
> >> Oh, I get it, to include this driver I need to also enable:
> >>
> >>   CONFIG_RESET_CONTROLLER=y
> >>
> >> Setting this fixes 6.4.  Perhaps CONFIG_ARCH_ZYNQMP should select it?
> >
> > Maybe. Do other platforms do that?
>
> Of the ~40 platforms in arch/arm64/Kconfig.platforms, there appear to
> be 5 that do select it.

Then selecting should be okay. Unless there's a desire for resets to
remain optional (which is going to rely on the timeout).

> >> However, even with this option enabled, 6.5-rc4 remains broken (no
> >> change in behaviour wrt. the network device).  I will bisect this
> >> now.
> >
> > It would be good to know why the deferred probe timeout doesn't work.
> > If you disable modules, the kernel shouldn't wait past late_initcall.
> > Though this functionality keeps getting tweaked, so I may be off on
> > the current behavior.
>
> I don't know about the deferred probe timeout, but I bisected the 6.5-rc4
> breakage to this commit:
>
>   commit c720a1f5e6ee8cb39c28435efc0819cec84d6ee2
>   Author: Michal Simek <michal.simek at amd.com>
>   Date:   Mon May 22 16:59:48 2023 +0200
>
>       arm64: zynqmp: Describe TI phy as ethernet-phy-id

I don't see anything obviously problematic with that commit. (The
#phy-cells property added is wrong as ethernet phys don't use the phy
binding, but that should just be ignored). I'd check if the phy probed
and has a DT node associated with it.

fw_devlink tracks parent-child dependencies and maybe changing to
parent-grandchild affected that. We don't yet track 'phy-handle'
dependencies, but we'd have a circular one here if we did (though that
should be handled). Does "fw_devlink=off" help?

> So, reverting that on master appears to correct the issue (together with
> setting CONFIG_RESET_CONTROLLER=y).



More information about the linux-arm-kernel mailing list