Am 2020-05-28 10:43, schrieb Vladimir Oltean:
On Thu, 28 May 2020 at 11:18, Michael Walle <mich...@walle.cc> wrote:

Am 2020-05-28 08:38, schrieb Michael Walle:
> These patches were picked from the following series:
> 
https://lore.kernel.org/netdev/1567779344-30965-1-git-send-email-claudiu.man...@nxp.com/
> They have never been resent. I've picked them up, addressed Andrews
> comments, fixed some more bugs and asked Claudiu if I can keep their
> SOB
> tags; he agreed. I've tested this on our board which happens to have a
> bootloader which doesn't do the enetc setup in all cases. Though, only
> SGMII mode was tested.
>
> changes since v2:
>  - removed SOBs from "net: enetc: Initialize SerDes for SGMII and
> USXGMII
>    protocols" because almost everything has changed.
>  - get a phy_device for the internal PCS PHY so we can use the phy_
>    functions instead of raw mdiobus writes

mhh after reading,
https://lore.kernel.org/netdev/CA+h21hoq2qkmxDFEb2QgLfrbC0PYRBHsca=0cdcgor3txy9...@mail.gmail.com/
this seems to be the wrong way of doing it.

-michael

FWIW, some time after the merge window closes, I plan to convert the
felix and seville drivers to mdio_device. It wouldn't be such a big
deal to also convert enetc to phylink then, and also do this
phy_device -> mdio_device for it too.


Btw. you/we can also remove that magic SGMII link timer numbers:

#define ENETC_PCS_LINK_TIMER_VAL(ms) \
   ((u32)(125000000 * (ms) / 1000))

Then for SGMII its ENETC_PCS_LINK_TIMER_VAL(1.6) and for 1000BaseX
(and 2500BaseX?) its ENETC_PCS_LINK_TIMER_VAL(10) (which also match
to the default value in the registers).

Please note, that the current hardcoded values doesn't match the
calculated ones precisely. I don't know where these are coming from,
but the 1.6ms matches the SGMII spec.

-michael

Reply via email to