Re: [PATCH] net: renesas: Fix rgmii-id delays

Andrew Lunn
2021-10-20T12:17:05Z

> > BTW, it's still not clear to me why the inversion would be needed.
> > Cfr. Andrew's comment:
> >
> > | So with rgmii-rxid, what is actually passed to the PHY? Is your
> > | problem you get twice the delay in one direction, and no delay in the
> > | other?
>
> Yes, it was the problem I got.
> The PHY I use have RX delay enabled by default, currently the PHY driver does
> not support delay configuration, therefore I let the MAC handle TX delay. I
> have stumbling over that legacy/wrong DTS on the old Kernel.

This is where we get into the horrible mess of RGMII delays.

The real solution is to fix the PHY driver. If it is asked to do
rgmii, but is actually doing rgmii-id, the PHY driver is broken. It
either should do what it is told, or return -EINVAL/-EOPNOTSUPP etc to
indicate it does not support what it is asked to do.

But fixing things like this often breaks working systems, because the
DT says rgmii, the PHY actually does rgmii-id, the board works, until
the PHY is fixed to do what it is told, and all the bugs in the DT
suddenly come to light.

Now, you said you are using an old kernel. So it could be we have
already fixed this, and had the pain of fixing broken DT. Please look
at the current kernel PHY driver, and see if all you need to do is
back port some PHY fixes, or better still, throw away your old kernel
and use a modern one.

Andrew