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

From: Nick Bowler
Date: Fri Aug 04 2023 - 12:24:11 EST


On 04/08/2023, Rob Herring <robh@xxxxxxxxxx> wrote:
> On Fri, Aug 4, 2023 at 9:27 AM Nick Bowler <nbowler@xxxxxxxxxx> wrote:
>> commit e461bd6f43f4e568f7436a8b6bc21c4ce6914c36
>> Author: Robert Hancock <robert.hancock@xxxxxxxxxx>
>> Date: Thu Jan 27 10:37:36 2022 -0600
>>
>> arm64: dts: zynqmp: Added GEM reset definitions
>>
>> Reverting this fixes the problem on 5.18. Reverting this fixes the
>> problem on 6.1. Reverting this fixes the problem on 6.4. In all of
>> these versions, with this change reverted, the network device appears
>> without delay.
>
> With the above change, the kernel is going to be waiting for the reset
> driver which either didn't exist or wasn't enabled in your config
> (maybe kconfig needs to be tweaked to enable it automatically).

The dts defines a reset-controller node with

compatible = "xlnx,zynqmp-reset"

As far as I can see, this is supposed to be handled by the code in
drivers/reset/zynqmp-reset.c driver, it is enabled by CONFIG_ARCH_ZYNQMP,
and I have that set to "y", and it appears to be getting compiled in (that
is, there is a drivers/reset/zynqmp-reset.o file in the build directory).

However, unlike with the other firmware devices, I do not see this driver
under /sys/bus/platform/drivers, and there is no "driver" symlink under
/sys/bus/platform/devices/firmware:zynqmp-firmware:reset-controller

Is there some other config option that I need? Is the reset driver just
completely not working?

>> Unfortunately, it seems this is not sufficient to correct the problem on
>> 6.5-rc4 -- there is no apparent change in behaviour, so maybe there is
>> a new, different problem?
>
> Probably. You might check what changed with fw_devlink in that period.
> (Offhand, I don't recall many changes)
>
>> I guess I can kick off another bisection to find out when this revert
>> stops fixing things...
>
> That always helps.

I'll do that.

Thanks,
Nick