Re: [PATCH v2] ARM: imx: allow to disable board specific PHY fixups

From: Vladimir Oltean
Date: Tue Mar 31 2020 - 11:40:29 EST


Hi Russell,

On Tue, 31 Mar 2020 at 18:15, Russell King - ARM Linux admin
<linux@xxxxxxxxxxxxxxx> wrote:
>
> On Tue, Mar 31, 2020 at 02:54:33PM +0200, Andrew Lunn wrote:
> > > - Disable the SmartEEE feature of the phy. The comment in the code implies
> > > that for some reason it doesn't work, but the reason itself is not given.
> > > Anyway, disabling SmartEEE should IMHO opinion be controlled by a DT
> > > setting. There is no reason to believe this problem is specific to the
> > > i.MX6. Besides, it is a feature of the phy, so it seems logical to expose
> > > that via the DT. Once that is done, it has no place here.
> >
> > The device tree properties are defined:
> >
> > bindings/net/ethernet-phy.yaml: eee-broken-100tx:
> > bindings/net/ethernet-phy.yaml: eee-broken-1000t:
> > bindings/net/ethernet-phy.yaml: eee-broken-10gt:
> > bindings/net/ethernet-phy.yaml: eee-broken-1000kx:
> > bindings/net/ethernet-phy.yaml: eee-broken-10gkx4:
> > bindings/net/ethernet-phy.yaml: eee-broken-10gkr:
> >
> > And there is a helper:
> >
> > void of_set_phy_eee_broken(struct phy_device *phydev)
>
> Disabling the advertisement may solve it, but that is not known.
> What the quirk is doing is disabling the SmartEEE feature only
> (which is where the PHY handles the EEE so-called "transparently"
> to the MAC).
>
> It's all very well waving arms years later and saying we don't
> like code that was merged, but unless someone can prove that an
> alternative way is better and doesn't regress anything, there
> won't be a way forward.
>

For what it's worth, your position on these device tree bindings for
broken EEE seems to have changed from the one that you expressed in
this thread:
https://www.spinics.net/lists/arm-kernel/msg703453.html
To quote from that:

> > There is no "advertisement of SmartEEE" - it's just EEE. That is
> > because as far as the link partner is concerned, SmartEEE is just
> > EEE.
> > [...]
> >
> > Otherwise, using the existing "eee-broken-*" properties to disable the
> > link modes where EEE fails would be the correct way forward, and should
> > be used in preference to disabling SmartEEE.
> >
> > However, no one has mentioned what the problem that is trying to be
> > addressed. Is it data corruption? Is it that the link fails? Is it
> > lost packets? Is it that the MAC supports EEE? I think there needs to
> > be some better understanding of the problem at hand before trying to
> > address it.

Regards,
-Vladimir